Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
EventBinningCut.h
1/*
2 * EventBinCut.h
3 *
4 * Created on: 1 paź 2018
5 * Author: Daniel Wielanek
6 * E-mail: daniel.wielanek@gmail.com
7 * Warsaw University of Technology, Faculty of Physics
8 */
9#ifndef HALEVENTBINNINGCUT_H_
10#define HALEVENTBINNINGCUT_H_
11
12#include "EventCut.h"
13
14#include "Array.h"
15#include <initializer_list>
16#include <vector>
17
18
19namespace Hal {
20 class EventBinningCut : public EventCut {
21 protected:
22 Int_t fTotalBinsNo = {1};
23 Bool_t fLastPassed = {kFALSE};
24 std::vector<Double_t> fMinTotal;
25 std::vector<Double_t> fMaxTotal;
26 std::vector<Int_t> fBinConv;
27 std::vector<Int_t> fStepsNo;
28
29 std::vector<std::vector<Double_t>> fValuesUp;
30 EventCut* fEventCut = {nullptr};
31 EventBinningCut(const EventCut& cut, const std::vector<std::vector<Double_t>>& init);
32 void PreInit(const std::vector<std::vector<Double_t>>& vals);
33
34 public:
36 EventBinningCut(const EventCut& cut, const std::initializer_list<Int_t>& init);
37 EventBinningCut(const EventCut& cut, const std::initializer_list<std::initializer_list<Double_t>>& init);
38 EventBinningCut(const EventBinningCut& other);
40 EventBinningCut* MakeCopyReal() const;
41 EventBinningCut* MakeCopyImg() const;
42 EventBinningCut& operator=(const EventBinningCut& other);
43 EventCut* GetCut() const { return (EventCut*) fEventCut->MakeCopy(); };
44 Int_t GetBinsNo() const { return fTotalBinsNo; };
45 void GetBinParam(Int_t bin, std::vector<Double_t>& mini, std::vector<Double_t>& maxi, std::vector<TString>& strings) const;
46 virtual Package* Report() const;
47 virtual Bool_t Pass(Event* event);
48 virtual Int_t CheckBin(Event* event);
49 virtual Bool_t Init(Int_t task_id);
50 virtual void Print(Option_t* opt = 0) const;
51 virtual TString CutName(Option_t* opt = "") const;
52 virtual ~EventBinningCut();
53 ClassDef(EventBinningCut, 1)
54 };
55} // namespace Hal
56#endif /* HALEVENTBINNINGCUT_H_ */
virtual Cut * MakeCopy() const
Definition Cut.h:317
virtual TString CutName(Option_t *opt="") const
virtual Package * Report() const
virtual void Print(Option_t *opt=0) const
virtual Bool_t Pass(Event *event)
EventBinningCut * MakeCopy() const
virtual Bool_t Init(Int_t task_id)