SND@LHC Software
Loading...
Searching...
No Matches
ecalClusterCalibration.h
Go to the documentation of this file.
1// A very simple digitization scheme for Ship ECAL
2// Operate over ecalStructure
3
4#ifndef ECALCLUSTERCALIBRATION_H
5#define ECALCLUSTERCALIBRATION_H
6
7#include "FairTask.h"
8
9#include <map>
10
11class TFormula;
12
13class ecalClusterCalibration : public FairTask
14{
15public:
19 ecalClusterCalibration(const char* name, Int_t iVerbose=0);
23 virtual InitStatus Init();
26 virtual void Exec(Option_t* option);
28 virtual void Finish();
29
30 void SetStraightCalibration(Int_t celltype, TFormula* f)
31 {fStraightCalibration[celltype]=f;}
32 void SetCalibration(Int_t celltype, TFormula* f)
33 {fCalibration[celltype]=f;}
34
35 TFormula* StraightCalibration(Int_t celltype) const
36 {return fStraightCalibration[celltype];}
37 TFormula* Calibration(Int_t celltype) const
38 {return fCalibration[celltype];}
39
41 Double_t Calibrate(Int_t celltype, Double_t energy);
43 Double_t Calibrate(Int_t celltype, Double_t energy, Double_t theta);
44private:
45 // Calibration if only energy deposition in cluster.
46 // One formula for each cell type
47 TFormula* fStraightCalibration[10];
48 // Calibration if the vertex is known
49 TFormula* fCalibration[10];
50
53
55};
56
57#endif
ecalClusterCalibration * InitPython()
TFormula * StraightCalibration(Int_t celltype) const
TFormula * Calibration(Int_t celltype) const
void SetCalibration(Int_t celltype, TFormula *f)
ecalClusterCalibration & operator=(const ecalClusterCalibration &)
ClassDef(ecalClusterCalibration, 1)
ecalClusterCalibration(const ecalClusterCalibration &)
void SetStraightCalibration(Int_t celltype, TFormula *f)
virtual void Exec(Option_t *option)
Double_t Calibrate(Int_t celltype, Double_t energy)