PandaRoot
BSEmcPreclusterTimeBuncherProcess.h
Go to the documentation of this file.
1 #ifndef BSEMCPRECLUSTERTIMEBUNCHERPROCESS_HH
2 #define BSEMCPRECLUSTERTIMEBUNCHERPROCESS_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 "BSEmcPrecluster.h"
17 
18 class BSEmcPrecluster;
20 class TBuffer;
21 class TClass;
22 class TMemberInspector;
23 struct BSEmcClusteringData;
24 template <class T>
26 
36  public:
37  BSEmcPreclusterTimeBuncherProcess(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 
46  void SetPreclusterSourceBranchName(const TString &t_branchname) { fSourceBranchName = t_branchname; }
47  void SetPreclusterTargetBranchName(const TString &t_branchname) { fTargetBranchName = t_branchname; }
48 
49  private:
50  PndMutableContainerI<BSEmcPrecluster> *fPreclusters{nullptr};
51  TString fSourceBranchName{""};
52  TString fTargetBranchName{""};
53  std::string fClusteringParName{""};
54  Double_t fTimebunchCutTime{0};
55  std::unique_ptr<TimeGap> fFunctor{new TimeGap()};
56 
58 };
59 
60 #endif /*BSEMCPRECLUSTERTIMEBUNCHERPROCESS_HH*/
Base Process class.
Definition: PndProcess.h:24
void SetPreclusterSourceBranchName(const TString &t_branchname)
represents an emc precluster, formed in the (virtual) data concentrators
Process to create precluster time bunches using TimeGap on timesorted precluster container.
void SetPreclusterTargetBranchName(const TString &t_branchname)
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
BSEmcPreclusterTimeBuncherProcess(const TString &t_sourceBranchName)
virtual void RequestDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and get the processes container requirements.
Interface to a datacontainer to be used in PandaROOT.
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
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...
virtual void GetDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and set the processes container requirements.
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.