FairRoot/PandaRoot
PndEmcSimCrystalCalibrator.h
Go to the documentation of this file.
1 #ifndef PNDEMCSIMCRYSTALCALIBRATOR_HH
2 #define PNDEMCSIMCRYSTALCALIBRATOR_HH
3 
4 //---------------------------------------------------------
5 // Description:
6 // File Calibrator for Emc Crystals.
7 //
8 // Christian Hammann
9 // 31.7.2012
10 
11 //---------------------------------------------------------
12 
14 #include "TString.h"
15 #include <map>
16 
23  public:
25 
34  virtual void SetCalibration(Int_t ModId, Double_t cal, Int_t SignalNr=1, Double_t overflow=-1);
35 
44  virtual void CreateRandomCalibration(Double_t Sigma);
45  virtual Bool_t Init();
46 
48  virtual CalibrationStatus_t Calibrate(Double_t &Energy, Long_t DetId, Int_t SignalNr=1);
49  private:
52  std::vector< std::map<Int_t, std::pair<Double_t, Double_t> > >fModuleCalibrationMaps; //sig nr, modId, calib, overflow
53  std::vector< std::map<Long_t, Double_t> >fCrystalCalibrationMaps; //sig nr, detId, rel. calib
54 
55  Int_t fVerbose;
57 };
58 #endif
ClassDef(PndEmcSimCrystalCalibrator, 2)
#define verbose
std::vector< std::map< Long_t, Double_t > > fCrystalCalibrationMaps
virtual void CreateRandomCalibration(Double_t Sigma)
Creates a random gaussion distributed calibration for all crystals Not implemented yet...
Double_t
virtual void SetCalibration(Int_t ModId, Double_t cal, Int_t SignalNr=1, Double_t overflow=-1)
Set Calibration for a Module.
Class to simulate a Calibration.
std::vector< std::map< Int_t, std::pair< Double_t, Double_t > > > fModuleCalibrationMaps
virtual CalibrationStatus_t Calibrate(Double_t &Energy, Long_t DetId, Int_t SignalNr=1)
Apply CrystalCalibration to Energy of Crystal derId.
Abstract interface for a emc calibrator.