3.4. G4Sipm voltage trace model

The voltage trace model is used to mimic the SiPM signals read with an flash ADC or oscilloscope. A pulse is parameterized as a double exponential (falling and rising edge) function.

3.4.1. Voltage trace properties

The following properties can be set:

  • Amplitude of 1 p.e. pulse
  • The time bin width, i.e. the time difference between two voltage readings
  • The time constant \tau_{rise} of the rising edge
  • The time constant \tau_{fall} of the falling edge
  • The baseline offset v_{0}
  • The white noise sigma
  • The precision of the voltage trace in bits.

3.4.1.1. Source

class G4SipmVoltageTraceModel

Voltage trace model.

TODO: parameters should be overvoltage dependent.

Subclassed by G4SipmConfigFileVoltageTraceModel, G4SipmGenericVoltageTraceModel, HamamatsuS12573100C::VoltageTraceModel, HamamatsuS12573100X::VoltageTraceModel

Public Functions

G4SipmVoltageTraceModel()

Constructor.

double pulse(const double t, const double gain = 1.) const

Pulse parameterization (double exponential by default).

Return
double - the current amplitude.
Parameters
  • t: - the time after trigger.
  • gain: - the gain in percent.

virtual double getAmplitude() const = 0

Return
double - the amplitude of the pulse.

virtual double getTauRise() const = 0

Return
double - the rising edge time constant.

virtual double getTauFall() const = 0

Return
double - the falling edge time constant.

virtual double getV0() const = 0

Return
double - the baseline height.

virtual double getWhiteNoiseSigma() const = 0

Return
double - the white noise variance of the baseline.

virtual int getPrecision() const = 0

Return
int - the precision in bit.

virtual double getTimeBinWidth() const = 0

Return
double - the time bin width.