PandaRoot
PndTimeOffsetFinderTask.h
Go to the documentation of this file.
1 /********************************************************************************
2  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
3  * *
4  * This software is distributed under the terms of the *
5  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
6  * copied verbatim in the file "LICENSE" *
7  ********************************************************************************/
8 
13 #ifndef PndTimeOffsetFinderTask_H
14 #define PndTimeOffsetFinderTask_H
15 
16 #include "FairTask.h" // for FairTask, InitStatus
17 #include "FairTSBufferFunctional.h"
18 
19 #include "TH1.h"
20 
21 #include "Rtypes.h" // for Bool_t, Int_t, kTRUE, etc
22 #include "TString.h" // for TString
23 
24 class FairTimeStamp;
25 class TClonesArray;
26 
27 class PndTimeOffsetFinderTask : public FairTask {
28  public:
31  : FairTask("TimeOffsetFinderTask"), fPersistance(kTRUE), fInputBranch("MVDHitsPixel"), fInputArray(nullptr), fOutputBranch(), fFolder(), fOutputArray(nullptr), fEntryNr(0),
32  fFunctor(new StopTime()), fLastTimeStamp(0), fTimeOffset(100000000), fTerminateTime(0), fFirstExecute(kTRUE), fStartIndex(0)
33  {
34  SetVerbose(0);
35  }
36 
38  PndTimeOffsetFinderTask(const char *name)
39  : FairTask(name), fPersistance(kTRUE), fInputBranch("MVDHitsPixel"), fInputArray(nullptr), fOutputBranch(), fFolder(), fOutputArray(nullptr), fEntryNr(0),
40  fFunctor(new StopTime()), fLastTimeStamp(0), fTimeOffset(100000000), fTerminateTime(0), fFirstExecute(kTRUE), fStartIndex(0)
41  {
42  SetVerbose(0);
43  }
44 
45  PndTimeOffsetFinderTask(TString inputBranch, TString outputBranch, TString folderName)
46  : FairTask("Sorter"), fPersistance(kTRUE), fInputBranch(inputBranch), fInputArray(nullptr), fOutputBranch(outputBranch), fFolder(folderName), fOutputArray(nullptr),
47  fEntryNr(0), fFunctor(new StopTime()), fLastTimeStamp(0), fTimeOffset(100000000), fTerminateTime(0), fFirstExecute(kTRUE), fStartIndex(0)
48  {
49  SetVerbose(0);
50  }
51 
54 
56  virtual InitStatus Init();
57  virtual InitStatus ReInit();
58 
60  virtual void Exec(Option_t *opt);
61  virtual void FinishEvent();
62  virtual void FinishTask();
63 
64  virtual void SetParContainers(){};
65  void SetStartTime(Double_t val) { fLastTimeStamp = val; }
66  void SetTerminateTime(Double_t val) { fTerminateTime = val; }
67  void SetInputBranch(TString val) { fInputBranch = val; }
68 
69  void SetStartIndex(Int_t val) { fStartIndex = val; }
70 
71  void SetPersistance(Bool_t p = kTRUE) { fPersistance = p; };
72  Bool_t GetPersistance() { return fPersistance; };
73 
74  protected:
76  Bool_t fPersistance;
78  TString fInputBranch;
79  TClonesArray *fInputArray;
81  TString fOutputBranch;
82  TString fFolder;
83  TClonesArray *fOutputArray;
84  Int_t fEntryNr;
85  BinaryFunctor *fFunctor;
86  Double_t fLastTimeStamp;
87  Double_t fTimeOffset;
88 
89  Double_t fTerminateTime;
90  Bool_t fFirstExecute;
91  Int_t fStartIndex;
92 
93  TH1D *fHc0c1;
94  TH1D *fHc0c2;
95  TH1D *fHc0c3;
96  TH1D *fHc1c2;
97  TH1D *fHc1c3;
98  TH1D *fHc2c3;
99 
101 };
102 
103 #endif
virtual void FinishEvent()
virtual InitStatus ReInit()
virtual void Exec(Option_t *opt)
virtual void FinishTask()
void SetPersistance(Bool_t p=kTRUE)
ClassDef(PndTimeOffsetFinderTask, 2)
virtual InitStatus Init()
void SetTerminateTime(Double_t val)
PndTimeOffsetFinderTask(const char *name)
PndTimeOffsetFinderTask(TString inputBranch, TString outputBranch, TString folderName)