PandaRoot
BSEmcApplyCalibrationProcess.h
Go to the documentation of this file.
1 #ifndef BSEMCAPPLYCALIBRATIONPROCESS_HH
2 #define BSEMCAPPLYCALIBRATIONPROCESS_HH
3 
4 #include <map>
5 #include <string>
6 #include <vector>
7 
8 #include "Rtypes.h"
9 #include "RtypesCore.h"
10 
11 #include "PndOutputContainerI.h"
12 #include "PndProcess.h"
13 
14 #include "BSEmcCalibrationPar.h"
15 #include "BSEmcDigi.h"
16 
19 class BSEmcDigi;
21 class TBuffer;
22 class TClass;
23 class TMemberInspector;
24 template <class T>
26 
35 class BSEmcApplyCalibrationProcess : public PndProcess<BSEmcDigitizationData> {
36  public:
39 
40  virtual void SetDetectorName(const std::string &t_detectorName) /*override*/;
41  virtual void SetupParameters(const PndParameterRegister *t_parameterRegister) /*override*/;
42  virtual void SetData(BSEmcDigitizationData *t_data) /*override*/;
43  virtual void Process() /*override*/;
44  void CalibrateDigis(const std::vector<BSEmcDigi *> &t_digiCont);
45  void SetCalibrationParName(const std::string &t_parName) { fCalibrationParName = t_parName; }
46 
47  private:
48  virtual Double_t CalculateTime(BSEmcDigi *t_digi) const;
49  virtual Double_t CalculateEnergy(BSEmcDigi *t_digi) const;
50 
51  private:
52  std::string fCalibrationParName{""};
53  BSEmcCalibrationPar *fCalibrationPar{nullptr};
54  PndOutputContainerI<BSEmcDigi> *fDigiArray{nullptr};
55 
56  ClassDef(BSEmcApplyCalibrationProcess, 1);
57 };
58 
59 #endif /*BSEMCAPPLYCALIBRATIONPROCESS_HH*/
Base Process class.
Definition: PndProcess.h:24
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 CalibrateDigis(const std::vector< BSEmcDigi *> &t_digiCont)
virtual void SetupParameters(const PndParameterRegister *t_parameterRegister)
Fetch all parameters from the PndParameterRegister.
virtual void SetData(BSEmcDigitizationData *t_data)
Pass the data container ptrs to the process, and store pointers in class members. ...
Very basic start for CalibrationPar (each Detector gets its own)
Simple Process to calculate calibrated energy for BSEmcDigi.
represents the reconstructed hit of one emc crystal
Definition: BSEmcDigi.h:47
Helper class to indirect the Parameter fetching via the FairRuntimeDb.
virtual void Process()
The actual data transformation (digitizing, clustering, etc.) should be defined here.
void SetCalibrationParName(const std::string &t_parName)
DataStruct to pass addresses to data Container between BSEmcDigitizerTask and PndProcess<BSEmcDigitiz...