PandaRoot
PndTimeOffsetFinderTask.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /********************************************************************************
14  * Copyright (C) 2014 GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
15  * *
16  * This software is distributed under the terms of the *
17  * GNU Lesser General Public Licence version 3 (LGPL) version 3, *
18  * copied verbatim in the file "LICENSE" *
19  ********************************************************************************/
20 
25 #ifndef PndTimeOffsetFinderTask_H
26 #define PndTimeOffsetFinderTask_H
27 
28 #include "FairTask.h" // for FairTask, InitStatus
29 #include "FairTSBufferFunctional.h"
30 
31 #include "TH1.h"
32 
33 #include "Rtypes.h" // for Bool_t, Int_t, kTRUE, etc
34 #include "TString.h" // for TString
35 
36 class FairTimeStamp;
37 class TClonesArray;
38 
39 class PndTimeOffsetFinderTask : public FairTask {
40  public:
43  : FairTask("TimeOffsetFinderTask"), fPersistance(kTRUE), fInputBranch("MVDHitsPixel"), fInputArray(nullptr), fOutputBranch(), fFolder(), fOutputArray(nullptr), fEntryNr(0),
44  fFunctor(new StopTime()), fLastTimeStamp(0), fTimeOffset(100000000), fTerminateTime(0), fFirstExecute(kTRUE), fStartIndex(0)
45  {
46  SetVerbose(0);
47  }
48 
50  PndTimeOffsetFinderTask(const char *name)
51  : FairTask(name), fPersistance(kTRUE), fInputBranch("MVDHitsPixel"), fInputArray(nullptr), fOutputBranch(), fFolder(), fOutputArray(nullptr), fEntryNr(0),
52  fFunctor(new StopTime()), fLastTimeStamp(0), fTimeOffset(100000000), fTerminateTime(0), fFirstExecute(kTRUE), fStartIndex(0)
53  {
54  SetVerbose(0);
55  }
56 
57  PndTimeOffsetFinderTask(TString inputBranch, TString outputBranch, TString folderName)
58  : FairTask("Sorter"), fPersistance(kTRUE), fInputBranch(inputBranch), fInputArray(nullptr), fOutputBranch(outputBranch), fFolder(folderName), fOutputArray(nullptr),
59  fEntryNr(0), fFunctor(new StopTime()), fLastTimeStamp(0), fTimeOffset(100000000), fTerminateTime(0), fFirstExecute(kTRUE), fStartIndex(0)
60  {
61  SetVerbose(0);
62  }
63 
66 
68  virtual InitStatus Init();
69  virtual InitStatus ReInit();
70 
72  virtual void Exec(Option_t *opt);
73  virtual void FinishEvent();
74  virtual void FinishTask();
75 
76  virtual void SetParContainers(){};
77  void SetStartTime(Double_t val) { fLastTimeStamp = val; }
78  void SetTerminateTime(Double_t val) { fTerminateTime = val; }
79  void SetInputBranch(TString val) { fInputBranch = val; }
80 
81  void SetStartIndex(Int_t val) { fStartIndex = val; }
82 
83  void SetPersistance(Bool_t p = kTRUE) { fPersistance = p; };
84  Bool_t GetPersistance() { return fPersistance; };
85 
86  protected:
88  Bool_t fPersistance;
90  TString fInputBranch;
91  TClonesArray *fInputArray;
93  TString fOutputBranch;
94  TString fFolder;
95  TClonesArray *fOutputArray;
96  Int_t fEntryNr;
97  BinaryFunctor *fFunctor;
98  Double_t fLastTimeStamp;
99  Double_t fTimeOffset;
100 
101  Double_t fTerminateTime;
103  Int_t fStartIndex;
104 
105  TH1D *fHc0c1;
106  TH1D *fHc0c2;
107  TH1D *fHc0c3;
108  TH1D *fHc1c2;
109  TH1D *fHc1c3;
110  TH1D *fHc2c3;
111 
113 };
114 
115 #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)