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 "BSEmcDigi.h"
17 
18 class BSEmcDigi;
20 class TBuffer;
21 class TClass;
22 class TMemberInspector;
23 struct BSEmcClusteringData;
24 template <class T>
26 
36  public:
37  BSEmcDigiTimeBuncherProcess(const TString &t_sourcebranchname = "");
39 
40  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
41  virtual void RequestDataContainer(PndContainerRegister *t_register) /*override*/;
42  virtual void GetDataContainer(PndContainerRegister *t_register) /*override*/;
43  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
44  virtual void Process() /*override*/;
45  void SetDigiSourceBranchName(const TString &t_branchname) { fSourceBranchName = t_branchname; }
46  void SetDigiTargetBranchName(const TString &t_branchname) { fTargetBranchName = t_branchname; }
47 
48  private:
49  PndMutableContainerI<BSEmcDigi> *fDigis{nullptr};
50  TString fSourceBranchName{""};
51  TString fTargetBranchName{""};
52  std::string fClusteringParName{""};
53  Double_t fTimebunchCutTime{0};
54  std::unique_ptr<TimeGap> fDigiFunctor{new TimeGap()};
55  Int_t fEvent{0};
56  ClassDef(BSEmcDigiTimeBuncherProcess, 1);
57 };
58 
59 #endif /*BSEMCDIGITIMEBUNCHERPROCESS_HH*/
Base Process class.
Definition: PndProcess.h:24
virtual ~BSEmcDigiTimeBuncherProcess()
virtual void GetDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and set the processes container requirements.
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
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...
void SetDigiSourceBranchName(const TString &t_branchname)
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.
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.
void SetDigiTargetBranchName(const TString &t_branchname)
virtual void RequestDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and get the processes container requirements.