PandaRoot
DiscDIRC_Photodetector Class Reference

#include <PndDiscPhotodetector.h>

Inheritance diagram for DiscDIRC_Photodetector:
SensorGrid::SensorGridPhotodetector

Public Types

enum  DesignID { DESIGN_SIPM = 1, DESIGN_LRD }
 

Public Member Functions

 DiscDIRC_Photodetector ()
 
 DiscDIRC_Photodetector (DesignID id)
 
virtual ~DiscDIRC_Photodetector ()
 
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. More...
 
- Public Member Functions inherited from SensorGrid::SensorGridPhotodetector
 SensorGridPhotodetector (SensorGridBase *sensor_grid_, bool per_pixel_traits_, double const &pde_init, double const &noise_rate_init, double const &time_res_init)
 
void SetPixel (int pixel_id, double efficiency, double noise_rate, double time_res_ns)
 
void UseInhomogenityFactor (bool flag)
 
int Detect (double const &hit_pos_x, double const &hit_pos_y, double const &hit_time_ns, double const &wavelength_nm, PixelInfo &pixel_info, double &smeared_time_ns) const
 Handle photon detection: More...
 
void GenerateNoise (double const &time_start_ns, double const &time_window_ns, std::vector< std::pair< int, double >> &hits) const
 Generate noise hits. More...
 
virtual double GetInhomegenityFactor (double const &, double const &) const
 Derived classes should override this function to account for spatial PDE deviations (e.g. due to gain inhomgenity) More...
 
double GetSmearedTime (double const &time_value, PixelInfo const &pixel_info) const
 Apply time smearing. More...
 
int GenerateNoise (double const &time_start_ns, double const &time_window_ns)
 Reinit noise iterator and return number of noise hits. More...
 
bool GetNoiseHit (int &pixel_number, double &hit_time_ns, double &smeared_time_ns)
 Noise hit generator function which has to be called after GenerateNoise() to retrieve the noise hits. More...
 
void SetDCR (double const &dcr_Hz)
 Set the dark count rate for all pixels to dcr_Hz. More...
 
const SensorGridBaseGetGrid ()
 

Protected Member Functions

void Init ()
 
void Init (DesignID design_id)
 
- Protected Member Functions inherited from SensorGrid::SensorGridPhotodetector
 SensorGridPhotodetector ()
 
virtual ~SensorGridPhotodetector ()
 
void Init (SensorGridBase *sensor_grid_, bool per_pixel_traits_, double const &efficiency_init, double const &noise_rate_init, double const &time_res_init)
 

Additional Inherited Members

- Protected Attributes inherited from SensorGrid::SensorGridPhotodetector
bool per_pixel_traits
 
bool use_inhomogenity_factor
 
PixelTraits * pixel_traits
 
SensorGridBasesensor_grid
 
int noisegen_pixel_number
 
double noisegen_time_start_ns
 
double noisegen_time_window_ns
 
int noisegen_n_hits
 
int noisegen_current_hit
 
double noisegen_current_time_sigma
 

Detailed Description

Definition at line 15 of file PndDiscPhotodetector.h.

Member Enumeration Documentation

◆ DesignID

Constructor & Destructor Documentation

◆ DiscDIRC_Photodetector() [1/2]

DiscDIRC_Photodetector::DiscDIRC_Photodetector ( )

◆ DiscDIRC_Photodetector() [2/2]

DiscDIRC_Photodetector::DiscDIRC_Photodetector ( DesignID  id)

◆ ~DiscDIRC_Photodetector()

virtual DiscDIRC_Photodetector::~DiscDIRC_Photodetector ( )
inlinevirtual

Definition at line 21 of file PndDiscPhotodetector.h.

21 {};

Member Function Documentation

◆ GetPDE()

virtual double DiscDIRC_Photodetector::GetPDE ( const double &  ) const
inlinevirtual

Derived classes should override this function and return the average pde of the sensor.

Per pixel deviations of the PDE can be taken into account by including them in a individual pixel efficiency.

Reimplemented from SensorGrid::SensorGridPhotodetector.

Definition at line 25 of file PndDiscPhotodetector.h.

References Init().

25 { return pde_interpolator.Eval(wavelength_nm); }

◆ Init() [1/2]

void DiscDIRC_Photodetector::Init ( )
protected

Referenced by GetPDE().

◆ Init() [2/2]

void DiscDIRC_Photodetector::Init ( DesignID  design_id)
protected

◆ SetPDE()

void DiscDIRC_Photodetector::SetPDE ( int  n_entries,
const double *  wavelength_nm,
const double *  pde 
)
inline

Definition at line 23 of file PndDiscPhotodetector.h.

23 { pde_interpolator.SetData(n_entries, wavelength_nm, pde); }

The documentation for this class was generated from the following file: