PandaRoot
SensorGrid::SensorGridPhotodetector Class Reference

#include <PndDiscSensorGridPhotodetector.h>

Inheritance diagram for SensorGrid::SensorGridPhotodetector:
DiscDIRC_Photodetector

Public Member Functions

 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 GetPDE (const double &) const
 Derived classes should override this function and return the average pde of the sensor. 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

 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)
 

Protected Attributes

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 18 of file PndDiscSensorGridPhotodetector.h.

Constructor & Destructor Documentation

◆ SensorGridPhotodetector() [1/2]

SensorGrid::SensorGridPhotodetector::SensorGridPhotodetector ( SensorGridBase sensor_grid_,
bool  per_pixel_traits_,
double const &  pde_init,
double const &  noise_rate_init,
double const &  time_res_init 
)

◆ SensorGridPhotodetector() [2/2]

SensorGrid::SensorGridPhotodetector::SensorGridPhotodetector ( )
inlineprotected

Definition at line 26 of file PndDiscSensorGridPhotodetector.h.

26 {}; // for use in derived classes

◆ ~SensorGridPhotodetector()

virtual SensorGrid::SensorGridPhotodetector::~SensorGridPhotodetector ( )
inlineprotectedvirtual

Definition at line 27 of file PndDiscSensorGridPhotodetector.h.

References Init(), and SetPixel().

27 {};

Member Function Documentation

◆ Detect()

int SensorGrid::SensorGridPhotodetector::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:

Referenced by UseInhomogenityFactor().

◆ GenerateNoise() [1/2]

void SensorGrid::SensorGridPhotodetector::GenerateNoise ( double const &  time_start_ns,
double const &  time_window_ns,
std::vector< std::pair< int, double >> &  hits 
) const

Generate noise hits.

Referenced by GetInhomegenityFactor(), and UseInhomogenityFactor().

◆ GenerateNoise() [2/2]

int SensorGrid::SensorGridPhotodetector::GenerateNoise ( double const &  time_start_ns,
double const &  time_window_ns 
)

Reinit noise iterator and return number of noise hits.

◆ GetGrid()

const SensorGridBase* SensorGrid::SensorGridPhotodetector::GetGrid ( )
inline

Definition at line 66 of file PndDiscSensorGridPhotodetector.h.

References sensor_grid.

◆ GetInhomegenityFactor()

virtual double SensorGrid::SensorGridPhotodetector::GetInhomegenityFactor ( double const &  ,
double const &   
) const
inlinevirtual

Derived classes should override this function to account for spatial PDE deviations (e.g. due to gain inhomgenity)

This function is used to implement inhomogenitites over the whole sensor, which cannot be treated as single pixel efficiencies, e.g. if the pixels are large compared to the spatial deviation of the inhomogenity.

Definition at line 52 of file PndDiscSensorGridPhotodetector.h.

References GenerateNoise(), GetNoiseHit(), GetSmearedTime(), and SetDCR().

52 { return 1.0; } // FIXME//hit_pos_x hit_pos_y//[R.K.03/2017] unused variable(s)

◆ GetNoiseHit()

bool SensorGrid::SensorGridPhotodetector::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.

Referenced by GetInhomegenityFactor().

◆ GetPDE()

virtual double SensorGrid::SensorGridPhotodetector::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 in DiscDIRC_Photodetector.

Definition at line 45 of file PndDiscSensorGridPhotodetector.h.

45 { return 1.0; } // FIXME // wavelength_nm //[R.K.03/2017] unused variable(s)

◆ GetSmearedTime()

double SensorGrid::SensorGridPhotodetector::GetSmearedTime ( double const &  time_value,
PixelInfo const &  pixel_info 
) const

Apply time smearing.

Referenced by GetInhomegenityFactor().

◆ Init()

void SensorGrid::SensorGridPhotodetector::Init ( SensorGridBase sensor_grid_,
bool  per_pixel_traits_,
double const &  efficiency_init,
double const &  noise_rate_init,
double const &  time_res_init 
)
protected

◆ SetDCR()

void SensorGrid::SensorGridPhotodetector::SetDCR ( double const &  dcr_Hz)

Set the dark count rate for all pixels to dcr_Hz.

Referenced by GetInhomegenityFactor().

◆ SetPixel()

void SensorGrid::SensorGridPhotodetector::SetPixel ( int  pixel_id,
double  efficiency,
double  noise_rate,
double  time_res_ns 
)

◆ UseInhomogenityFactor()

void SensorGrid::SensorGridPhotodetector::UseInhomogenityFactor ( bool  flag)
inline

Member Data Documentation

◆ noisegen_current_hit

int SensorGrid::SensorGridPhotodetector::noisegen_current_hit
protected

Definition at line 78 of file PndDiscSensorGridPhotodetector.h.

◆ noisegen_current_time_sigma

double SensorGrid::SensorGridPhotodetector::noisegen_current_time_sigma
protected

Definition at line 79 of file PndDiscSensorGridPhotodetector.h.

◆ noisegen_n_hits

int SensorGrid::SensorGridPhotodetector::noisegen_n_hits
protected

Definition at line 77 of file PndDiscSensorGridPhotodetector.h.

◆ noisegen_pixel_number

int SensorGrid::SensorGridPhotodetector::noisegen_pixel_number
protected

Definition at line 74 of file PndDiscSensorGridPhotodetector.h.

◆ noisegen_time_start_ns

double SensorGrid::SensorGridPhotodetector::noisegen_time_start_ns
protected

Definition at line 75 of file PndDiscSensorGridPhotodetector.h.

◆ noisegen_time_window_ns

double SensorGrid::SensorGridPhotodetector::noisegen_time_window_ns
protected

Definition at line 76 of file PndDiscSensorGridPhotodetector.h.

◆ per_pixel_traits

bool SensorGrid::SensorGridPhotodetector::per_pixel_traits
protected

Definition at line 69 of file PndDiscSensorGridPhotodetector.h.

◆ pixel_traits

PixelTraits* SensorGrid::SensorGridPhotodetector::pixel_traits
protected

Definition at line 71 of file PndDiscSensorGridPhotodetector.h.

◆ sensor_grid

SensorGridBase* SensorGrid::SensorGridPhotodetector::sensor_grid
protected

Definition at line 72 of file PndDiscSensorGridPhotodetector.h.

Referenced by GetGrid().

◆ use_inhomogenity_factor

bool SensorGrid::SensorGridPhotodetector::use_inhomogenity_factor
protected

Definition at line 70 of file PndDiscSensorGridPhotodetector.h.

Referenced by UseInhomogenityFactor().


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