CbmRoot
CbmTofBuildDigiEvents.h
Go to the documentation of this file.
1 
7 #ifndef CBMTOFBUILDDIGIEVENTS_H
8 #define CBMTOFBUILDDIGIEVENTS_H 1
9 
10 
11 #include "FairTask.h"
12 
13 #include <map>
14 #include <set>
15 #include <tuple>
16 #include <vector>
17 
18 
19 class FairFileSource;
20 class CbmTimeSlice;
21 class CbmMCEventList;
22 class TClonesArray;
23 class CbmTofDigi;
24 
32 class CbmTofBuildDigiEvents : public FairTask {
33 public:
35 
36  virtual ~CbmTofBuildDigiEvents();
37 
38  virtual void Exec(Option_t* option);
39 
40  // virtual void FinishEvent();
41 
42  void SetEventWindow(Double_t dWindow) { fdEventWindow = dWindow; }
43  void SetTriggerCounter(Int_t iModuleType,
44  Int_t iModuleIndex,
45  Int_t iCounterIndex,
46  Int_t iNCounterSides);
47  void SetTriggerMultiplicity(Int_t iMultiplicity) {
48  fiTriggerMultiplicity = iMultiplicity;
49  }
50  void SetPreserveMCBacklinks(Bool_t bPreserve) {
51  fbPreserveMCBacklinks = bPreserve;
52  }
53  void SetDigiTotOffset(Double_t dOffset) { fdDigiToTOffset = dOffset; }
54  void SetIgnoreCounterSide(Int_t iModuleType,
55  Int_t iModuleIndex,
56  Int_t iCounterIndex,
57  Int_t iCounterSide);
58 
59 
60 protected:
61  virtual InitStatus Init();
62 
63  // virtual void SetParContainers();
64 
65  virtual void Finish();
66 
67 
68 private:
70 
72 
73  void ProcessIdealEvents(Double_t dProcessingTime);
74  void FillMCEventList();
75 
76  FairFileSource* fFileSource;
78  TClonesArray* fTofTimeSliceDigis;
79  TClonesArray* fDigiMatches;
82  TClonesArray* fTofEventDigis;
83  Double_t fdEventWindow;
84  std::map<std::tuple<Int_t, Int_t, Int_t>, UChar_t>
89  Double_t fdEventStartTime;
90  std::map<std::tuple<Int_t, Int_t, Int_t>, UChar_t> fCounterMultiplicity;
92  std::set<std::pair<Int_t, Int_t>> fProcessedIdealEvents;
93  std::map<std::pair<Int_t, Int_t>, Double_t> fIdealEventStartTimes;
94  std::map<std::pair<Int_t, Int_t>, std::vector<CbmTofDigi*>> fIdealEventDigis;
95  Int_t fiNEvents;
96  Double_t fdDigiToTOffset;
97  std::set<std::tuple<Int_t, Int_t, Int_t, Int_t>> fInactiveCounterSides;
98 
99 
101 };
102 
103 #endif
CbmTofBuildDigiEvents
...
Definition: CbmTofBuildDigiEvents.h:32
CbmTofBuildDigiEvents::fNominalTriggerCounterMultiplicity
std::map< std::tuple< Int_t, Int_t, Int_t >, UChar_t > fNominalTriggerCounterMultiplicity
Definition: CbmTofBuildDigiEvents.h:85
CbmTofBuildDigiEvents::SetIgnoreCounterSide
void SetIgnoreCounterSide(Int_t iModuleType, Int_t iModuleIndex, Int_t iCounterIndex, Int_t iCounterSide)
Definition: CbmTofBuildDigiEvents.cxx:433
CbmTofBuildDigiEvents::fDigiMatches
TClonesArray * fDigiMatches
Definition: CbmTofBuildDigiEvents.h:79
CbmTofBuildDigiEvents::fProcessedIdealEvents
std::set< std::pair< Int_t, Int_t > > fProcessedIdealEvents
Definition: CbmTofBuildDigiEvents.h:92
CbmTofBuildDigiEvents::Exec
virtual void Exec(Option_t *option)
Definition: CbmTofBuildDigiEvents.cxx:59
CbmTofBuildDigiEvents::FillMCEventList
void FillMCEventList()
Definition: CbmTofBuildDigiEvents.cxx:385
CbmTofBuildDigiEvents::operator=
CbmTofBuildDigiEvents & operator=(const CbmTofBuildDigiEvents &)
CbmTofBuildDigiEvents::Init
virtual InitStatus Init()
Definition: CbmTofBuildDigiEvents.cxx:204
CbmTofBuildDigiEvents::~CbmTofBuildDigiEvents
virtual ~CbmTofBuildDigiEvents()
Definition: CbmTofBuildDigiEvents.cxx:54
CbmTofBuildDigiEvents::SetTriggerCounter
void SetTriggerCounter(Int_t iModuleType, Int_t iModuleIndex, Int_t iCounterIndex, Int_t iNCounterSides)
Definition: CbmTofBuildDigiEvents.cxx:302
CbmTofBuildDigiEvents::fInputMCEventList
CbmMCEventList * fInputMCEventList
Definition: CbmTofBuildDigiEvents.h:80
CbmTofBuildDigiEvents::CbmTofBuildDigiEvents
CbmTofBuildDigiEvents(const CbmTofBuildDigiEvents &)
CbmTofBuildDigiEvents::fTofEventDigis
TClonesArray * fTofEventDigis
Definition: CbmTofBuildDigiEvents.h:82
CbmTofBuildDigiEvents::fIdealEventStartTimes
std::map< std::pair< Int_t, Int_t >, Double_t > fIdealEventStartTimes
Definition: CbmTofBuildDigiEvents.h:93
CbmTofBuildDigiEvents::fdEventStartTime
Double_t fdEventStartTime
Definition: CbmTofBuildDigiEvents.h:89
CbmTofBuildDigiEvents::fdIdealEventWindow
Double_t fdIdealEventWindow
Definition: CbmTofBuildDigiEvents.h:91
CbmTofBuildDigiEvents::fFileSource
FairFileSource * fFileSource
Definition: CbmTofBuildDigiEvents.h:76
CbmMCEventList
Container class for MC events with number, file and start time.
Definition: CbmMCEventList.h:38
CbmTofBuildDigiEvents::SetPreserveMCBacklinks
void SetPreserveMCBacklinks(Bool_t bPreserve)
Definition: CbmTofBuildDigiEvents.h:50
CbmTofBuildDigiEvents::ProcessIdealEvents
void ProcessIdealEvents(Double_t dProcessingTime)
Definition: CbmTofBuildDigiEvents.cxx:314
CbmTofBuildDigiEvents::fTofTimeSliceDigis
TClonesArray * fTofTimeSliceDigis
Definition: CbmTofBuildDigiEvents.h:78
CbmTofBuildDigiEvents::CbmTofBuildDigiEvents
CbmTofBuildDigiEvents()
Definition: CbmTofBuildDigiEvents.cxx:27
CbmTofDigi
Data class for expanded digital TOF information.
Definition: CbmTofDigi.h:38
CbmTofBuildDigiEvents::fOutputMCEventList
CbmMCEventList * fOutputMCEventList
Definition: CbmTofBuildDigiEvents.h:81
CbmTofBuildDigiEvents::SetDigiTotOffset
void SetDigiTotOffset(Double_t dOffset)
Definition: CbmTofBuildDigiEvents.h:53
CbmTofBuildDigiEvents::fTimeSliceHeader
CbmTimeSlice * fTimeSliceHeader
Definition: CbmTofBuildDigiEvents.h:77
CbmTofBuildDigiEvents::Finish
virtual void Finish()
Definition: CbmTofBuildDigiEvents.cxx:284
CbmTofBuildDigiEvents::fiNEvents
Int_t fiNEvents
Definition: CbmTofBuildDigiEvents.h:95
CbmTimeSlice
Bookkeeping of time-slice content.
Definition: CbmTimeSlice.h:29
CbmTofBuildDigiEvents::fdDigiToTOffset
Double_t fdDigiToTOffset
Definition: CbmTofBuildDigiEvents.h:96
CbmTofBuildDigiEvents::fCounterMultiplicity
std::map< std::tuple< Int_t, Int_t, Int_t >, UChar_t > fCounterMultiplicity
Definition: CbmTofBuildDigiEvents.h:90
CbmTofBuildDigiEvents::ClassDef
ClassDef(CbmTofBuildDigiEvents, 0)
CbmTofBuildDigiEvents::fIdealEventDigis
std::map< std::pair< Int_t, Int_t >, std::vector< CbmTofDigi * > > fIdealEventDigis
Definition: CbmTofBuildDigiEvents.h:94
CbmTofBuildDigiEvents::fbMCEventBuilding
Bool_t fbMCEventBuilding
Definition: CbmTofBuildDigiEvents.h:88
CbmTofBuildDigiEvents::fbPreserveMCBacklinks
Bool_t fbPreserveMCBacklinks
Definition: CbmTofBuildDigiEvents.h:87
CbmTofBuildDigiEvents::fiTriggerMultiplicity
Int_t fiTriggerMultiplicity
Definition: CbmTofBuildDigiEvents.h:86
CbmTofBuildDigiEvents::SetTriggerMultiplicity
void SetTriggerMultiplicity(Int_t iMultiplicity)
Definition: CbmTofBuildDigiEvents.h:47
CbmTofBuildDigiEvents::SetEventWindow
void SetEventWindow(Double_t dWindow)
Definition: CbmTofBuildDigiEvents.h:42
CbmTofBuildDigiEvents::fInactiveCounterSides
std::set< std::tuple< Int_t, Int_t, Int_t, Int_t > > fInactiveCounterSides
Definition: CbmTofBuildDigiEvents.h:97
CbmTofBuildDigiEvents::fdEventWindow
Double_t fdEventWindow
Definition: CbmTofBuildDigiEvents.h:83