PandaRoot
PndDiscPhotodetector.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 //-------------------------------------------------------------------------
14 // Author: Oliver Merle (Oliver.Merle@exp2.physik.uni-giessen.de)
15 // Changes: Mustafa Schmidt (Mustafa.A.Schmidt@physik.uni-giessen.de)
16 // Date: 30.11.2015
17 // Description: Definition of photo sensors
18 //-------------------------------------------------------------------------
19 
20 #ifndef DISCDIRC_PHOTODETECTOR_HH
21 #define DISCDIRC_PHOTODETECTOR_HH
22 
24 
25 #include <Math/Interpolator.h>
26 
28  public:
30 
34 
35  void SetPDE(int n_entries, const double *wavelength_nm, const double *pde) { pde_interpolator.SetData(n_entries, wavelength_nm, pde); }
36 
37  virtual double GetPDE(const double &wavelength_nm) const { return pde_interpolator.Eval(wavelength_nm); }
38 
39  protected:
40  void Init();
41  void Init(DesignID design_id);
42 
43  private:
44  ROOT::Math::Interpolator pde_interpolator;
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.