ECALProperties.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 // \file ECALProperties.h
3 //
4 // \brief pure virtual base interface for ECAL properties
5 //
6 // \author eldwan.brianne@desy.de
7 //
8 ////////////////////////////////////////////////////////////////////////
9 #ifndef DETINFO_ECALProperties_H
10 #define DETINFO_ECALProperties_H
11 
12 // C/C++ standard libraries
13 #include <map>
14 #include <string>
15 
16 
17 ///General GArSoft Utilities
18 namespace gar {
19  namespace detinfo{
20 
22  public:
23 
24  ECALProperties(const ECALProperties &) = delete;
25  ECALProperties(ECALProperties &&) = delete;
26  ECALProperties& operator = (const ECALProperties &) = delete;
28  virtual ~ECALProperties() = default;
29 
30  //Number of effective pixels on the SiPM
31  virtual double EffectivePixel() const = 0;
32 
33  //Light Yield of the ECAL tile (px/MIP)
34  virtual double LightYield() const = 0;
35 
36  //Gain of the ECAL SiPM (ADC/px)
37  virtual double SiPMGain() const = 0;
38 
39  //Birks coeficient for Scintillator (mm/MeV)
40  virtual double ScintBirksConstant() const = 0;
41 
42  //Intercalibration High/Low Gain factor
43  virtual double IntercalibrationFactor() const = 0;
44 
45  //ADC saturation value
46  virtual double ADCSaturation() const = 0;
47 
48  //Time resolution of the ECAL in ns
49  virtual double TimeResolution() const = 0;
50 
51  //MeV to MIP factor for 5 mm scintillator
52  virtual double MeVtoMIP() const = 0;
53 
54  //Noise in px
55  virtual double NoisePx() const = 0;
56 
57  protected:
58  ECALProperties() = default;
59 
60  }; // class ECALProperties
61  } //namespace detinfo
62 } // gar
63 
64 #endif // DETINFO_ECALProperties_H
virtual double ScintBirksConstant() const =0
virtual double ADCSaturation() const =0
ECALProperties & operator=(const ECALProperties &)=delete
virtual ~ECALProperties()=default
virtual double MeVtoMIP() const =0
virtual double SiPMGain() const =0
virtual double TimeResolution() const =0
General LArSoft Utilities.
virtual double LightYield() const =0
virtual double NoisePx() const =0
General GArSoft Utilities.
virtual double EffectivePixel() const =0
virtual double IntercalibrationFactor() const =0