PandaRoot
PndSorterTask.h
Go to the documentation of this file.
1 
6 #ifndef PndSorterTask_H
7 #define PndSorterTask_H
8 
9 #include "FairTask.h"
10 
11 #include "TClonesArray.h"
12 
13 #include "PndRingSorter.h"
14 
15 class TClonesArray;
16 
17 class PndSorterTask : public FairTask {
18  public:
20  PndSorterTask() : FairTask("SorterTask"), fNumberOfCells(1000), fWidthOfCells(10), fEntryNr(0)
21  {
22  SetVerbose(3);
24  }
25 
27  PndSorterTask(const char *name) : FairTask(name), fNumberOfCells(1000), fWidthOfCells(10), fEntryNr(0)
28  {
29  SetVerbose(3);
31  };
32 
33  PndSorterTask(Int_t numberOfCells, Double_t widthOfCells, TString inputBranch, TString outputBranch, TString folderName)
34  : FairTask("Sorter"), fNumberOfCells(numberOfCells), fWidthOfCells(widthOfCells), fInputBranch(inputBranch), fOutputBranch(outputBranch), fFolder(folderName)
35  {
36  SetVerbose(3);
38  }
39 
41  virtual ~PndSorterTask()
42  {
43  if (fSorter != nullptr)
44  delete fSorter;
45  }
46 
48  virtual InitStatus Init();
49  virtual InitStatus ReInit();
50 
52  virtual void Exec(Option_t *opt);
53  virtual void FinishEvent();
54  virtual void FinishTask();
55 
56  virtual void SetParContainers(){};
57 
58  void SetPersistance(Bool_t p = kTRUE) { fPersistance = p; };
59  Bool_t GetPersistance() { return fPersistance; };
60 
61  virtual void AddNewDataToTClonesArray(FairTimeStamp *data) = 0;
62  virtual PndRingSorter *InitSorter(Int_t numberOfCells, Double_t widthOfCells) = 0;
63 
64  protected:
66 
67  Bool_t fPersistance; // switch to turn on/off storing the arrays to a file
68  Bool_t fDigiPixelMCInfo; // switch to turn on/off storing additional MC Info of Digis
69 
71  Double_t fWidthOfCells; // in ns
72 
74  TString fInputBranch;
75  TClonesArray *fInputArray;
76 
78  TString fOutputBranch;
79  TString fFolder;
80  TClonesArray *fOutputArray;
81 
82  Int_t fEntryNr;
83 
85 };
86 
87 #endif
PndSorterTask(Int_t numberOfCells, Double_t widthOfCells, TString inputBranch, TString outputBranch, TString folderName)
Definition: PndSorterTask.h:33
virtual PndRingSorter * InitSorter(Int_t numberOfCells, Double_t widthOfCells)=0
TString fFolder
Definition: PndSorterTask.h:79
virtual ~PndSorterTask()
Definition: PndSorterTask.h:41
virtual InitStatus Init()
TClonesArray * fInputArray
Definition: PndSorterTask.h:75
virtual void FinishTask()
Bool_t GetPersistance()
Definition: PndSorterTask.h:59
Bool_t fPersistance
Definition: PndSorterTask.h:67
virtual InitStatus ReInit()
virtual void FinishEvent()
TString fOutputBranch
Definition: PndSorterTask.h:78
Double_t fWidthOfCells
Definition: PndSorterTask.h:71
PndRingSorter * fSorter
Definition: PndSorterTask.h:65
ClassDef(PndSorterTask, 2)
TString fInputBranch
Definition: PndSorterTask.h:74
void SetPersistance(Bool_t p=kTRUE)
Definition: PndSorterTask.h:58
Bool_t fDigiPixelMCInfo
Definition: PndSorterTask.h:68
Int_t fNumberOfCells
Definition: PndSorterTask.h:70
TClonesArray * fOutputArray
Definition: PndSorterTask.h:80
virtual void SetParContainers()
Definition: PndSorterTask.h:56
virtual void AddNewDataToTClonesArray(FairTimeStamp *data)=0
PndSorterTask(const char *name)
Definition: PndSorterTask.h:27
virtual void Exec(Option_t *opt)