HerdSoftware  0.1.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Herd::FitDigitizationTools::SiPMTool Class Reference

#include <SiPMTool.h>

Public Member Functions

void addNoise (int matID, FitMCDeposits &deposits)
 
int generateDirectXTalk (int nPhotons)
 
int generateDelayedXTalk (int nPhotons)
 
float generateDelayedXTalkTime ()
 
float photonDetectionEfficiency (double wavelength)
 
bool sipmDetectsPhoton (double wavelength)
 
void SetGeoParams (const FitGeoParams *p_geoParams)
 
float GetAvgNumNoisePhotons ()
 

Private Member Functions

void addThermalNoise (int matID, FitMCDeposits &depositCont)
 
FitMCDeposits makeNoiseDeposits (const int noiseChannel, int matID, int nPhotons, double time)
 

Private Attributes

double m_probDirectXTalk = 0.04
 
double m_probDelayedXTalk = 0.02
 Value for H2017 October batch. More...
 
double m_delayedXtalkDecayTime = 14 * ns
 Estimated from Fig.6 of LHCb-INT-2017-006. More...
 
const FitGeoParamsm_geoParams
 
std::map< unsigned int, double > DCR_PE {{1, 60e3 / s}, {2, 180.0 / s}, {3, 0.6 / s}}
 
double sampling_time = 300 * ns
 
double timeOffset = 0 * ns
 
double p3 = 2.00479e-08
 
double p2 = -3.86277e-05
 
double p1 = 0.0234192
 
double p0 = -4.06522
 
std::map< unsigned int, float > m_avgNumThermNoiseChans_PE
 
std::mt19937 m_generator
 
std::uniform_real_distribution< double > m_flat_dist
 
std::poisson_distribution< unsigned int > m_pois_dist
 

Member Function Documentation

◆ addNoise()

void Herd::FitDigitizationTools::SiPMTool::addNoise ( int  matID,
FitMCDeposits deposits 
)

==========================================================================

Main method for simulating noise

◆ addThermalNoise()

void Herd::FitDigitizationTools::SiPMTool::addThermalNoise ( int  matID,
FitMCDeposits depositCont 
)
private

◆ generateDelayedXTalk()

int Herd::FitDigitizationTools::SiPMTool::generateDelayedXTalk ( int  nPhotons)
inline

◆ generateDelayedXTalkTime()

float Herd::FitDigitizationTools::SiPMTool::generateDelayedXTalkTime ( )
inline

◆ generateDirectXTalk()

int Herd::FitDigitizationTools::SiPMTool::generateDirectXTalk ( int  nPhotons)
inline

◆ GetAvgNumNoisePhotons()

float Herd::FitDigitizationTools::SiPMTool::GetAvgNumNoisePhotons ( )

◆ makeNoiseDeposits()

FitMCDeposits Herd::FitDigitizationTools::SiPMTool::makeNoiseDeposits ( const int  noiseChannel,
int  matID,
int  nPhotons,
double  time 
)
private

◆ photonDetectionEfficiency()

float Herd::FitDigitizationTools::SiPMTool::photonDetectionEfficiency ( double  wavelength)

◆ SetGeoParams()

void Herd::FitDigitizationTools::SiPMTool::SetGeoParams ( const FitGeoParams p_geoParams)
inline

◆ sipmDetectsPhoton()

bool Herd::FitDigitizationTools::SiPMTool::sipmDetectsPhoton ( double  wavelength)

Member Data Documentation

◆ DCR_PE

std::map<unsigned int, double> Herd::FitDigitizationTools::SiPMTool::DCR_PE {{1, 60e3 / s}, {2, 180.0 / s}, {3, 0.6 / s}}
private

◆ m_avgNumThermNoiseChans_PE

std::map<unsigned int, float> Herd::FitDigitizationTools::SiPMTool::m_avgNumThermNoiseChans_PE
private

◆ m_delayedXtalkDecayTime

double Herd::FitDigitizationTools::SiPMTool::m_delayedXtalkDecayTime = 14 * ns
private

Estimated from Fig.6 of LHCb-INT-2017-006.

◆ m_flat_dist

std::uniform_real_distribution<double> Herd::FitDigitizationTools::SiPMTool::m_flat_dist
private

◆ m_generator

std::mt19937 Herd::FitDigitizationTools::SiPMTool::m_generator
private

◆ m_geoParams

const FitGeoParams* Herd::FitDigitizationTools::SiPMTool::m_geoParams
private

◆ m_pois_dist

std::poisson_distribution<unsigned int> Herd::FitDigitizationTools::SiPMTool::m_pois_dist
private

◆ m_probDelayedXTalk

double Herd::FitDigitizationTools::SiPMTool::m_probDelayedXTalk = 0.02
private

Value for H2017 October batch.

◆ m_probDirectXTalk

double Herd::FitDigitizationTools::SiPMTool::m_probDirectXTalk = 0.04
private

◆ p0

double Herd::FitDigitizationTools::SiPMTool::p0 = -4.06522
private

◆ p1

double Herd::FitDigitizationTools::SiPMTool::p1 = 0.0234192
private

◆ p2

double Herd::FitDigitizationTools::SiPMTool::p2 = -3.86277e-05
private

◆ p3

double Herd::FitDigitizationTools::SiPMTool::p3 = 2.00479e-08
private

◆ sampling_time

double Herd::FitDigitizationTools::SiPMTool::sampling_time = 300 * ns
private

◆ timeOffset

double Herd::FitDigitizationTools::SiPMTool::timeOffset = 0 * ns
private

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