![]() |
PandaRoot
|
#include <PndDiscSensorGridPhotodetector.h>
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 SensorGridBase * | GetGrid () |
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 |
SensorGridBase * | sensor_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 |
Definition at line 18 of file PndDiscSensorGridPhotodetector.h.
SensorGrid::SensorGridPhotodetector::SensorGridPhotodetector | ( | SensorGridBase * | sensor_grid_, |
bool | per_pixel_traits_, | ||
double const & | pde_init, | ||
double const & | noise_rate_init, | ||
double const & | time_res_init | ||
) |
|
inlineprotected |
Definition at line 26 of file PndDiscSensorGridPhotodetector.h.
|
inlineprotectedvirtual |
Definition at line 27 of file PndDiscSensorGridPhotodetector.h.
References Init(), and SetPixel().
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().
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().
int SensorGrid::SensorGridPhotodetector::GenerateNoise | ( | double const & | time_start_ns, |
double const & | time_window_ns | ||
) |
Reinit noise iterator and return number of noise hits.
|
inline |
Definition at line 66 of file PndDiscSensorGridPhotodetector.h.
References sensor_grid.
|
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().
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().
|
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.
double SensorGrid::SensorGridPhotodetector::GetSmearedTime | ( | double const & | time_value, |
PixelInfo const & | pixel_info | ||
) | const |
Apply time smearing.
Referenced by GetInhomegenityFactor().
|
protected |
Referenced by ~SensorGridPhotodetector().
void SensorGrid::SensorGridPhotodetector::SetDCR | ( | double const & | dcr_Hz | ) |
Set the dark count rate for all pixels to dcr_Hz.
Referenced by GetInhomegenityFactor().
void SensorGrid::SensorGridPhotodetector::SetPixel | ( | int | pixel_id, |
double | efficiency, | ||
double | noise_rate, | ||
double | time_res_ns | ||
) |
Referenced by ~SensorGridPhotodetector().
|
inline |
Definition at line 33 of file PndDiscSensorGridPhotodetector.h.
References Detect(), GenerateNoise(), and use_inhomogenity_factor.
|
protected |
Definition at line 78 of file PndDiscSensorGridPhotodetector.h.
|
protected |
Definition at line 79 of file PndDiscSensorGridPhotodetector.h.
|
protected |
Definition at line 77 of file PndDiscSensorGridPhotodetector.h.
|
protected |
Definition at line 74 of file PndDiscSensorGridPhotodetector.h.
|
protected |
Definition at line 75 of file PndDiscSensorGridPhotodetector.h.
|
protected |
Definition at line 76 of file PndDiscSensorGridPhotodetector.h.
|
protected |
Definition at line 69 of file PndDiscSensorGridPhotodetector.h.
|
protected |
Definition at line 71 of file PndDiscSensorGridPhotodetector.h.
|
protected |
Definition at line 72 of file PndDiscSensorGridPhotodetector.h.
Referenced by GetGrid().
|
protected |
Definition at line 70 of file PndDiscSensorGridPhotodetector.h.
Referenced by UseInhomogenityFactor().