FairRoot/PandaRoot
PndTSCorrectorTask.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 PndTSCorrectorTask_H
14 #define PndTSCorrectorTask_H
15 
16 #include "FairTask.h" // for FairTask, InitStatus
17 
18 #include "PndMapSorter.h"
19 
20 #include "Rtypes.h" // for Bool_t, Int_t, kTRUE, etc
21 #include "TString.h" // for TString
22 
23 class FairTimeStamp;
24 class TClonesArray;
25 
26 class PndTSCorrectorTask : public FairTask
27 {
28  public:
29 
32  FairTask("SorterTask"),
33  fPersistance(kTRUE),
34  fInputBranch("MVDHitsPixel"),
35  fInputArray(0),
36  fOutputBranch("MVDHitsPixelCorrected"),
37  fFolder(),
38  fOutputArray(0),
39  fEntryNr(0)
40  {
41  SetVerbose(2);
42  }
43 
45  PndTSCorrectorTask(const char* name):
46  FairTask(name),
47  fPersistance(kTRUE),
48  fInputBranch(),
49  fInputArray(0),
50  fOutputBranch(),
51  fFolder(),
52  fOutputArray(0),
53  fEntryNr(0)
54  {
55  SetVerbose(2);
56  }
57 
58  PndTSCorrectorTask(TString inputBranch, TString outputBranch, TString folderName):
59  FairTask("Corrector"),
60  fPersistance(kTRUE),
61  fInputBranch(inputBranch),
62  fInputArray(0),
63  fOutputBranch(outputBranch),
64  fFolder(folderName),
65  fOutputArray(0),
66  fEntryNr(0)
67  {
68  SetVerbose(2);
69  }
70 
72  virtual ~PndTSCorrectorTask() {
73  }
74 
76  virtual InitStatus Init();
77  virtual InitStatus ReInit();
78 
80  virtual void Exec(Option_t* opt);
81  virtual void FinishEvent();
82  virtual void FinishTask();
83 
84  void SetCorrectionValue(Int_t sensorId, Int_t value){
85  fTSCorrectionMap[sensorId] = value;
86  }
87 
88  virtual void SetParContainers() {};
89 
90  void SetPersistance(Bool_t p = kTRUE) {fPersistance=p;};
92 
93 
94  protected:
95 
100  TClonesArray* fInputArray;
104  TClonesArray* fOutputArray;
105  Int_t fEntryNr;
106  std::map<Int_t, Int_t> fTSCorrectionMap; //< first value is sensor ID, second parameter is correction value which is added to the time stamps
109 
111 
112 };
113 
114 #endif
Double_t p
Definition: anasim.C:58
TClonesArray * fInputArray
virtual void SetParContainers()
ClassDef(PndTSCorrectorTask, 2)
void SetPersistance(Bool_t p=kTRUE)
virtual InitStatus Init()
PndTSCorrectorTask(const char *name)
virtual void FinishEvent()
PndTSCorrectorTask & operator=(const PndTSCorrectorTask &)
std::map< Int_t, Int_t > fTSCorrectionMap
virtual void FinishTask()
virtual void Exec(Option_t *opt)
TString name
virtual InitStatus ReInit()
PndTSCorrectorTask(TString inputBranch, TString outputBranch, TString folderName)
TClonesArray * fOutputArray
drchit SetVerbose(iVerbose)
void SetCorrectionValue(Int_t sensorId, Int_t value)