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  public:
30  : FairTask("SorterTask"), fPersistance(kTRUE), fInputBranch("MVDHitsPixel"), fInputArray(nullptr), fOutputBranch("MVDHitsPixelCorrected"), fFolder(), fOutputArray(nullptr),
31  fEntryNr(0)
32  {
33  SetVerbose(2);
34  }
35 
37  PndTSCorrectorTask(const char *name) : FairTask(name), fPersistance(kTRUE), fInputBranch(), fInputArray(nullptr), fOutputBranch(), fFolder(), fOutputArray(nullptr), fEntryNr(0)
38  {
39  SetVerbose(2);
40  }
41 
42  PndTSCorrectorTask(TString inputBranch, TString outputBranch, TString folderName)
43  : FairTask("Corrector"), fPersistance(kTRUE), fInputBranch(inputBranch), fInputArray(nullptr), fOutputBranch(outputBranch), fFolder(folderName), fOutputArray(nullptr),
44  fEntryNr(0)
45  {
46  SetVerbose(2);
47  }
48 
50  virtual ~PndTSCorrectorTask() {}
51 
53  virtual InitStatus Init();
54  virtual InitStatus ReInit();
55 
57  virtual void Exec(Option_t *opt);
58  virtual void FinishEvent();
59  virtual void FinishTask();
60 
61  void SetCorrectionValue(Int_t sensorId, Int_t value) { fTSCorrectionMap[sensorId] = value; }
62 
63  virtual void SetParContainers(){};
64 
65  void SetPersistance(Bool_t p = kTRUE) { fPersistance = p; };
66  Bool_t GetPersistance() { return fPersistance; };
67 
68  protected:
70  Bool_t fPersistance;
72  TString fInputBranch;
73  TClonesArray *fInputArray;
75  TString fOutputBranch;
76  TString fFolder;
77  TClonesArray *fOutputArray;
78  Int_t fEntryNr;
79  std::map<Int_t, Int_t> fTSCorrectionMap; //< first value is sensor ID, second parameter is correction value which is added to the time stamps
82 
84 };
85 
86 #endif
virtual void FinishEvent()
TClonesArray * fInputArray
virtual void SetParContainers()
ClassDef(PndTSCorrectorTask, 2)
void SetPersistance(Bool_t p=kTRUE)
PndTSCorrectorTask(const char *name)
PndTSCorrectorTask & operator=(const PndTSCorrectorTask &)
virtual void Exec(Option_t *opt)
std::map< Int_t, Int_t > fTSCorrectionMap
virtual InitStatus Init()
PndTSCorrectorTask(TString inputBranch, TString outputBranch, TString folderName)
TClonesArray * fOutputArray
virtual InitStatus ReInit()
void SetCorrectionValue(Int_t sensorId, Int_t value)
virtual void FinishTask()