PandaRoot
BSEmcDigiTimeBuncherProcess.h
Go to the documentation of this file.
1 #ifndef BSEMCDIGITIMEBUNCHERPROCESS_HH
2 #define BSEMCDIGITIMEBUNCHERPROCESS_HH
3 
4 #include <memory>
5 #include <string>
6 
7 #include "Rtypes.h"
8 #include "RtypesCore.h"
9 #include "TString.h"
10 
11 #include "FairTSBufferFunctional.h"
12 
13 #include "PndContainerI.h"
14 #include "PndProcess.h"
15 
16 #include "BSEmcClusteringData.h"
17 #include "BSEmcDigi.h"
18 
19 class BSEmcDigi;
21 class TBuffer;
22 class TClass;
23 class TMemberInspector;
24 struct BSEmcClusteringData;
25 template <class T>
27 
36 class BSEmcDigiTimeBuncherProcess : public PndProcess<BSEmcClusteringData> {
37  public:
38  BSEmcDigiTimeBuncherProcess(const TString &t_sourcebranchname = "");
40 
41  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
42  virtual void SetData(BSEmcClusteringData *t_data) /*override*/;
43  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
44  virtual void Process() /*override*/;
45 
46  private:
47  PndOutputContainerI<BSEmcDigi> *fDigis{nullptr};
48  TString fSourceBranchName{""};
49  std::string fClusteringParName{""};
50  Double_t fTimebunchCutTime{0};
51  std::unique_ptr<TimeGap> fDigiFunctor{new TimeGap()};
52  Int_t fEvent{0};
53  ClassDef(BSEmcDigiTimeBuncherProcess, 1);
54 };
55 
56 #endif /*BSEMCDIGITIMEBUNCHERPROCESS_HH*/
Base Process class.
Definition: PndProcess.h:24
virtual ~BSEmcDigiTimeBuncherProcess()
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
virtual void SetData(BSEmcClusteringData *t_data)
Pass the data container ptrs to the process, and store pointers in class members. ...
virtual void SetDetectorName(const std::string &t_detectorName)
Set the Detector name. Important, as most EmcParameter need to know for which detector they need to b...
BSEmcDigiTimeBuncherProcess(const TString &t_sourcebranchname="")
Process to create digi time bunches using TimeGap on timesorted digi container.
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
Container of addresses for data Container used by BSEmcClusteringTask and passed to Clustering Proces...
represents the reconstructed hit of one emc crystal
Definition: BSEmcDigi.h:47
Interface to a datacontainer to be used in PandaROOT.
Helper class to indirect the Parameter fetching via the FairRuntimeDb.