EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FairRingSorterTask.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file FairRingSorterTask.h
1 
6 #ifndef FairRingSorterTask_H
7 #define FairRingSorterTask_H
8 
9 #include "FairTask.h"
10 
11 #include "TClonesArray.h"
12 
13 #include "FairRingSorter.h"
14 
15 
16 class TClonesArray;
17 
19 {
20  public:
21 
24  FairTask("SorterTask"),
25  fSorter(0),
26  fPersistance(kTRUE),
27  fDigiPixelMCInfo(kFALSE),
28  fNumberOfCells(1000),
29  fWidthOfCells(10),
30  fInputBranch(),
31  fInputArray(0),
32  fOutputBranch(),
33  fFolder(),
34  fOutputArray(0),
35  fEntryNr(0) {
36  SetVerbose(0);
37  }
38 
40  FairRingSorterTask(const char* name):
41  FairTask(name),
42  fSorter(0),
43  fPersistance(kTRUE),
44  fDigiPixelMCInfo(kFALSE),
45  fNumberOfCells(1000),
46  fWidthOfCells(10),
47  fInputBranch(),
48  fInputArray(0),
49  fOutputBranch(),
50  fFolder(),
51  fOutputArray(0),
52  fEntryNr(0) {
53  SetVerbose(0);
54  }
55 
56  FairRingSorterTask(Int_t numberOfCells, Double_t widthOfCells, TString inputBranch, TString outputBranch, TString folderName):
57  FairTask("Sorter"),
58  fSorter(0),
59  fPersistance(kTRUE),
60  fDigiPixelMCInfo(kFALSE),
61  fNumberOfCells(numberOfCells),
62  fWidthOfCells(widthOfCells),
63  fInputBranch(inputBranch),
64  fInputArray(0),
65  fOutputBranch(outputBranch),
66  fFolder(folderName),
67  fOutputArray(0),
68  fEntryNr(0) {
69  SetVerbose(0);
70  }
71 
73  virtual ~FairRingSorterTask() {
74  if (fSorter!= 0) { delete fSorter; }
75  }
76 
78  virtual InitStatus Init();
79  virtual InitStatus ReInit();
80 
82  virtual void Exec(Option_t* opt);
83  virtual void FinishEvent();
84  virtual void FinishTask();
85 
86  virtual void SetParContainers() {};
87 
88  void SetPersistance(Bool_t p = kTRUE) {fPersistance=p;};
89  Bool_t GetPersistance() {return fPersistance;};
90 
91  virtual void AddNewDataToTClonesArray(FairTimeStamp* data) = 0;
92  virtual FairRingSorter* InitSorter(Int_t numberOfCells, Double_t widthOfCells) const = 0;
93 
94  protected:
95 
98  Bool_t fPersistance;
102  Double_t fWidthOfCells; // in ns
104  TString fInputBranch;
105  TClonesArray* fInputArray;
107  TString fOutputBranch;
108  TString fFolder;
109  TClonesArray* fOutputArray;
110  Int_t fEntryNr;
113 
115 
116 };
117 
118 #endif