PandaRoot
PndSolCorrTask.h
Go to the documentation of this file.
1 #ifndef PndSolCorrTask_H_
2 #define PndSolCorrTask_H_
3 
4 // Class to correct TimeStamps according to the flight path of the Particles, assuming speed of light and a straigt track path from the origin. Afterwards they get sorted timewise
5 // and written to the Outputfile
6 // With AddInputBranch(TString branchName) Branches are added to the task, with SetOutBranchName(TString name) the Output Branch name can be defined.
7 
8 #include "TClonesArray.h"
9 #include "FairTask.h"
10 #include "FairTimeStamp.h"
11 #include "FairHit.h"
12 #include "FairTSBufferFunctional.h"
13 
14 #include <vector>
15 #include <map>
16 
17 class PndSolCorrTask : public FairTask {
18  public:
22  virtual ~PndSolCorrTask();
23 
25  // virtual void SetParContainers();
26  virtual InitStatus Init();
27  // virtual InitStatus ReInit();
28 
30  virtual void Exec(Option_t *opt);
31  // virtual void FinishEvent();
32  virtual void FinishTask();
33 
34  void SetOutBranchName(TString name) { fOutBranchName = name; };
35  void AddInputBranch(TString branchName) { fInBranches.push_back(branchName); };
36 
37  void RunContinuous(Bool_t val = kTRUE) { fRunContinuous = val; };
38  void SetPersistence(Bool_t val) { fPersistence = val; };
39 
40  FairTimeStamp *SolCorr(FairHit *inHit);
41 
42  private:
43  TString fOutBranchName;
44  std::vector<TString> fInBranches;
45  std::vector<TClonesArray *> fInArrays;
46  TClonesArray *fOutArray;
47 
48  std::multimap<double, FairTimeStamp *> fDataCorr_map;
49 
50  Bool_t fRunContinuous;
51 
52  Bool_t fPersistence;
53 
54  BinaryFunctor *fStopFunctor;
55  double fReadOutStop;
56 
57  ClassDef(PndSolCorrTask, 0);
58 };
59 
60 #endif /*PndSolCorrTask_H_*/
FairTimeStamp * SolCorr(FairHit *inHit)
void AddInputBranch(TString branchName)
void RunContinuous(Bool_t val=kTRUE)
virtual InitStatus Init()
void SetOutBranchName(TString name)
virtual void Exec(Option_t *opt)
virtual ~PndSolCorrTask()
virtual void FinishTask()
void SetPersistence(Bool_t val)