List of all members | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends
mdet::SiPM::PE Class Reference

PE pulse. More...

#include "mdet/SiPM."

Public Member Functions

double GetAmplitude1 () const
 
double GetAmplitude2 () const
 
double GetAmplitude3 () const
 
double GetFallTime1 () const
 
double GetFallTime2 () const
 
double GetFallTime3 () const
 
double GetRiseTime () const
 
double GetStartTime () const
 
double LowerLimit () const
 Returns the lower temporal limit. More...
 
double TimeSpaceEvaluate (double t) const
 Evaluates the pulse in the time-space. More...
 
double UpperLimit () const
 Returns the (for all practical purposes) upper temporal limit of the pulse. More...
 

Private Member Functions

 PE (const SiPM &sipm, double a1, double a2, double a3, double t1, double t2, double t3, double t4, double t0)
 Construct with the parameters. More...
 

Private Attributes

double fAmplitude1
 
double fAmplitude2
 
double fAmplitude3
 
const SiPMfSiPM
 
double fStartTime
 
double fTime1
 
double fTime2
 
double fTime3
 
double fTime4
 

Static Private Attributes

static const int kOverallSign = 1
 Overall sign of the pulses. More...
 

Friends

class SiPM
 

Detailed Description

PE pulse.

This class represents the Photo-Equivalent current pulses that are generated on each SiPM. The analytical form used so far is: 1 exponential rise and two exponential decays, nevertheless that behavior is encapsulated in this class and it's not intended that fact to be explictly used by client code.

The funtion for the SiPM is: f(t) = A1*(1-e^(-t'/tr))*(A2*e^(-t'/tf1)+e^(-t'/tf2)), t' = t - t0 tr= raise time tf1 = parasitic peak fall time tf2 = second fall time for the quenching resistance= Cd*Rq A1 and A2: pulse amplitudes (set by HV) Parameters are selected from principal components histograms and transform with the covariance matrix

Definition at line 74 of file SiPM.h.

Constructor & Destructor Documentation

mdet::SiPM::PE::PE ( const SiPM sipm,
double  a1,
double  a2,
double  a3,
double  t1,
double  t2,
double  t3,
double  t4,
double  t0 
)
inlineprivate

Construct with the parameters.

Private constructor from scratch.

Definition at line 160 of file SiPM.h.

Member Function Documentation

double mdet::SiPM::PE::GetAmplitude1 ( ) const
inline
double mdet::SiPM::PE::GetAmplitude2 ( ) const
inline
double mdet::SiPM::PE::GetAmplitude3 ( ) const
inline
double mdet::SiPM::PE::GetFallTime1 ( ) const
inline
double mdet::SiPM::PE::GetFallTime2 ( ) const
inline
double mdet::SiPM::PE::GetFallTime3 ( ) const
inline
double mdet::SiPM::PE::GetRiseTime ( ) const
inline
double mdet::SiPM::PE::GetStartTime ( ) const
inline
double mdet::SiPM::PE::LowerLimit ( ) const
inline

Returns the lower temporal limit.

See Also
UpperLimit.

Definition at line 106 of file SiPM.h.

References GetStartTime().

double mdet::SiPM::PE::TimeSpaceEvaluate ( double  t) const
inline

Evaluates the pulse in the time-space.

Definition at line 79 of file SiPM.h.

References fAmplitude1, fAmplitude2, fAmplitude3, fStartTime, fTime1, fTime2, fTime3, fTime4, and kOverallSign.

double mdet::SiPM::PE::UpperLimit ( ) const
inline

Returns the (for all practical purposes) upper temporal limit of the pulse.

Definition at line 98 of file SiPM.h.

References fSiPM, mdet::SiPM::GetPulseRelevantWidth(), and GetStartTime().

Friends And Related Function Documentation

friend class SiPM
friend

Definition at line 175 of file SiPM.h.

Member Data Documentation

double mdet::SiPM::PE::fAmplitude1
private

Definition at line 164 of file SiPM.h.

Referenced by GetAmplitude1(), and TimeSpaceEvaluate().

double mdet::SiPM::PE::fAmplitude2
private

Definition at line 165 of file SiPM.h.

Referenced by GetAmplitude2(), and TimeSpaceEvaluate().

double mdet::SiPM::PE::fAmplitude3
private

Definition at line 166 of file SiPM.h.

Referenced by GetAmplitude3(), and TimeSpaceEvaluate().

const SiPM& mdet::SiPM::PE::fSiPM
private

Definition at line 163 of file SiPM.h.

Referenced by UpperLimit().

double mdet::SiPM::PE::fStartTime
private

Definition at line 171 of file SiPM.h.

Referenced by GetStartTime(), and TimeSpaceEvaluate().

double mdet::SiPM::PE::fTime1
private

Definition at line 167 of file SiPM.h.

Referenced by GetRiseTime(), and TimeSpaceEvaluate().

double mdet::SiPM::PE::fTime2
private

Definition at line 168 of file SiPM.h.

Referenced by GetFallTime1(), and TimeSpaceEvaluate().

double mdet::SiPM::PE::fTime3
private

Definition at line 169 of file SiPM.h.

Referenced by GetFallTime2(), and TimeSpaceEvaluate().

double mdet::SiPM::PE::fTime4
private

Definition at line 170 of file SiPM.h.

Referenced by GetFallTime3(), and TimeSpaceEvaluate().

const int mdet::SiPM::PE::kOverallSign = 1
staticprivate

Overall sign of the pulses.

From the SiPM the pulses come out as negative current peaks.

Then the front-end channels may invert them as working in an inverting amplifier configuration.

See Also
Channel::ComputeTransfer

Definition at line 154 of file SiPM.h.

Referenced by TimeSpaceEvaluate().


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

, generated on Tue Sep 26 2023.