PandaRoot
BSEmcFinishRecoHitProcess.h
Go to the documentation of this file.
1 #ifndef BSEMCCFINISHRECOHITPROCESS_HH
2 #define BSEMCCFINISHRECOHITPROCESS_HH
3 
4 #include <string>
5 #include <vector>
6 
7 #include "Rtypes.h"
8 
9 #include "PndContainerI.h"
10 #include "PndParameterRegister.h"
11 #include "PndProcess.h"
12 
13 #include "BSEmcClusteringPar.h"
14 
15 class FairParGenericSet;
16 class BSEmcCorrection;
18 class BSEmcRecoHit;
20 class TBuffer;
21 class TClass;
22 class TMemberInspector;
23 struct BSEmcClusteringData;
24 template <class T>
26 
36  public:
39  virtual void SetupParameters(const PndParameterRegister * /*t_parameter*/) /*override*/;
40  virtual void RequestDataContainer(PndContainerRegister *t_register) /*override*/;
41  virtual void GetDataContainer(PndContainerRegister *t_register) /*override*/;
42  virtual void Process() /*override*/;
43  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
44  void Apply(const std::vector<BSEmcRecoHit *> &t_recoHitCont) const;
45  void SetECF(BSEmcCorrection *t_ecf) { fECF = t_ecf; }
46  void SetErrorMatrixCalculator(BSEmcErrorMatrixCalculation *t_errorMatrixCalculator) { fErrorCalculator = t_errorMatrixCalculator; }
47 
48  void SetRecoHitBranchName(const TString &t_branchname) { fRecoHitBranchname = t_branchname; }
49 
50  private:
51  BSEmcCorrection *fECF{nullptr};
52  BSEmcErrorMatrixCalculation *fErrorCalculator{nullptr};
53 
54  TString fRecoHitBranchname{""};
55 
56  PndMutableContainerI<BSEmcRecoHit> *fRecoHitArray{nullptr};
57  std::string fErrorCalculationParName{""};
58 
59  ClassDef(BSEmcFinishRecoHitProcess, 1);
60 };
61 
62 #endif /*BSEMCCFINISHRECOHITPROCESS_HH*/
virtual void RequestDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and get the processes container requirements.
void SetRecoHitBranchName(const TString &t_branchname)
Base Process class.
Definition: PndProcess.h:24
Resembles/Contains all information a particle hitting the EMC can provide for later use in the PID st...
Definition: BSEmcRecoHit.h:31
Energy correction factor/function interface.
virtual void GetDataContainer(PndContainerRegister *t_register)
Pass the container register to the process, and set the processes container requirements.
void Apply(const std::vector< BSEmcRecoHit *> &t_recoHitCont) const
virtual void SetupParameters(const PndParameterRegister *)
Fetch all parameters from the PndParameterRegister.
Applies energy correction and error calculation for each BSEmcRecoHit.
void SetECF(BSEmcCorrection *t_ecf)
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 Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
void SetErrorMatrixCalculator(BSEmcErrorMatrixCalculation *t_errorMatrixCalculator)
Interface to a datacontainer to be used in PandaROOT.
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
Calculate Error Matrix for the given BSEmcRecoHit with parametrization defined by the given parameter...
virtual ~BSEmcFinishRecoHitProcess()