FairRoot/PandaRoot
PndDiscPhotodetector.h
Go to the documentation of this file.
1 //-------------------------------------------------------------------------
2 // Author: Oliver Merle (Oliver.Merle@exp2.physik.uni-giessen.de)
3 // Changes: Mustafa Schmidt (Mustafa.A.Schmidt@physik.uni-giessen.de)
4 // Date: 30.11.2015
5 // Description: Definition of photo sensors
6 //-------------------------------------------------------------------------
7 
8 #ifndef DISCDIRC_PHOTODETECTOR_HH
9 #define DISCDIRC_PHOTODETECTOR_HH
10 
12 
13 #include <Math/Interpolator.h>
14 
15 
17 {
18 public:
19  enum DesignID {
22  };
23 
27 
28  void SetPDE(int n_entries, const double * wavelength_nm, const double * pde)
29  {
30  pde_interpolator.SetData(n_entries, wavelength_nm, pde);
31  }
32 
33  virtual double GetPDE(const double &wavelength_nm) const
34  {
35  return pde_interpolator.Eval(wavelength_nm);
36  }
37 
38 protected:
39  void Init();
40  void Init(DesignID design_id);
41 
42 private:
43  ROOT::Math::Interpolator pde_interpolator;
44 };
45 
46 
47 #endif // DISCDIRC_PHOTODETECTOR_HH
void SetPDE(int n_entries, const double *wavelength_nm, const double *pde)
virtual double GetPDE(const double &wavelength_nm) const
Derived classes should override this function and return the average pde of the sensor.
ROOT::Math::Interpolator pde_interpolator