3.3. G4Sipm config file model¶
The G4SipmModel
is one of the most important classes of G4Sipm.
It stores all properties of the SiPM.
3.3.1. Working conditions¶
The model stores the working conditions of the SiPM: environmental temperature and bias voltage.
The environmental temperature can be set via the G4SipmModel::setTemperature()
function, the bias voltage with G4SipmModel::setBiasVoltage()
.
The over-voltage of the SiPM is the difference between the bias voltage and the breakdown voltage
3.3.2. SiPM properties¶
The model also stores the following properties of SiPMs
- breakdown voltage
- number of cells
- cell pitch
- geometrical fill factor
- thermal noise rate
- effective dead time of the cells during the avalanche breakdown
- recovery time of the cells
- optical crosstalk probability
- time constants and probabilities of the long and the short afterpulsing component
- variance of the gain
- photon detection efficiency as a function of the photon wavelength
- thickness of the entrance window
It also holds a reference to G4SipmGainMapModel
and G4SipmVoltageTraceModel
.
3.3.3. Config file example¶
# Properties file for a Hamamtsu S10362-11-100C SiPM.
#
# References:
# P. Hallen, Determination of the Recovery Time of Silicon Photomultipliers, bachelor thesis, III. Phys. Inst. A, RWTH Aachen University, Sep 2011.
# M. Lauscher, Characterisation Studies of Silicon Photomultipliers for the Detection of Fluorescence Light from Extensive Air Showers, III. Phys. Inst. A, RWTH Aachen University, Jan 2012.
#
name: Hamamatsu_S10362-11-100C
# Setup parameters.
temperature: 20. * Celsius
biasVoltage: 73. * V
deadTime: 3. * picosecond
gainVariation: 1. * %
# Geometry.
thickness: 0.1 * mm
numberOfCells: 100
cellPitch: 0.1 * mm
fillFactor: 78.5 * %
windowThickness: 0.5 * mm
windowRefractiveIndex: 1.41
# Voltage trace parameters.
# The amplitude of the pulse.
voltageTrace-amplitude: 14.1e-3 * volt
# The time constants of the rising and the falling component.
voltageTrace-tauFall: 43.6 * ns
voltageTrace-tauRise: 8.1 * ns
# The time difference between two voltage entries of the trace.
voltageTrace-timeBinWidth: 1. * ns
# Baseline.
voltageTrace-v0: 4.7e-3 * volt
# White noise.
voltageTrace-whiteNoiseSigma: 1e-3 * volt
# Precision in bit of the voltage trace measurement.
voltageTrace-precision: 12
# Operation parameters.
operatingParameters: tabular
entry overVoltage / V breakDownVoltage / V temperature / Celsius thermalNoiseRate / Hz crossTalkProbability / % afterPulseProbLong / % afterPulseProbShort / % afterPulseTauLong / ns afterPulseTauShort / ns recoveryTime / ns
1 0.8 71.5 25.5 494000 8.63891 9.424030 7.710570 129.4 43.7 41.1
1 0.9 71.5 25.5 508000 10.4349 11.22517 9.184230 162.0 48.4 41.1
1 1.0 71.5 25.5 648000 12.1126 13.65793 11.17467 112.8 40.3 41.1
1 1.1 71.5 25.5 655000 13.7848 16.03894 13.12277 127.9 42.1 41.1
1 1.2 71.5 25.5 775000 15.4505 18.57405 15.19695 119.2 45.0 41.1
1 1.3 71.5 25.5 799000 16.9318 21.56655 17.64536 125.9 40.8 41.1
1 1.4 71.5 25.5 956000 18.1540 23.64654 19.34717 121.3 43.7 41.1
1 1.5 71.5 25.5 924000 19.3662 26.01786 21.28734 123.1 44.5 41.1
1 1.6 71.5 25.5 1057000 20.3590 28.65891 23.44820 111.7 40.6 41.1
1 1.7 71.5 25.5 995000 21.0974 30.57439 25.01541 129.6 44.7 41.1
1 1.8 71.5 25.5 1103000 21.6948 33.25718 27.21042 110.1 36.0 41.1
# Photon detection efficiency for each entry in tabular "operationParameters".
photonDetectionEfficiency: tabular
entry wavelength / nm efficiency / %
1 319.490 9.18187959596
1 320.882 9.79401373737
1 322.274 10.2530812121
1 323.666 12.7016177778
1 326.450 14.3849535354
1 327.842 14.9970876768
1 329.234 16.2213559596
1 330.626 16.833490101
1 332.019 18.0576921212
1 332.019 18.0576921212
1 333.411 19.281960404
1 334.803 19.8940945455
1 336.195 20.9652961616
1 337.587 21.577430303
1 338.979 22.1895644444
1 340.371 22.8016985859
1 343.155 23.4138327273
1 344.548 24.0259668687
1 345.940 24.4850343434
1 348.724 25.0971684848
1 351.508 25.5562359596
1 355.684 26.015369697
1 358.469 26.4744371717
...
3.3.4. Source¶
Inherited by G4SipmConfigFileModel
, G4SipmGenericSipmModel
, HamamatsuS1036211100
, HamamatsuS1036233050
, HamamatsuS1036233100
, HamamatsuS10985100
and HamamatsuS12651050
.
-
class
G4SipmModel
¶ SiPM model.
Subclassed by G4SipmConfigFileModel, G4SipmGenericSipmModel, HamamatsuS1036211100, HamamatsuS12573100C, HamamatsuS12573100X, HamamatsuS12651050
Public Functions
-
G4SipmModel
(G4SipmGainMapModel *gainMapModel, G4SipmVoltageTraceModel *voltageTraceModel)¶ Constructor.
- Parameters
gainMapModel
: - the gain map model.voltageTraceModel
: - the voltage trace model.
-
double
getPitch
() const¶ - Return
- double - the complete pitch of the SiPM.
-
CLHEP::Hep2Vector
getCellPosition
(G4SipmCellId cellId) const¶ - Return
- Hep2Vector - the position relative to the center.
- Parameters
cellId
: - the id of the cell.
-
G4SipmCellId
getCellId
(const double x, const double y, bool respectFillFactor = false) const¶ - Return
- G4SipmCellId - the corresponding cell id.
- Parameters
x
: - the x coordinate.y
: - the y coordinate.respectFillFactor
: - set true to return an invalid cell id if the coordinates are not in an active area.
-
bool
isValidCellId
(const G4SipmCellId cellId) const¶ - Return
- bool - true if the cellId is valid.
- Parameters
cellId
: - the cellId.
-
double
getGain
(const G4SipmCellId cellId) const¶ - Return
- double - the gain of the cell.
- Parameters
cellId
: - the cellId.
-
double
getOverVoltage
() const¶ - Return
- double - the current overvoltage.
-
virtual std::string
getName
() const = 0¶ - Return
- string - the name of the model.
-
virtual double
getBreakdownVoltage
() const = 0¶ - Return
- double - the current breakdown voltage.
-
virtual unsigned int
getNumberOfCells
() const = 0¶ - Return
- unsigned int - the number of cells.
-
virtual double
getCellPitch
() const = 0¶ - Return
- double - the pitch of a single cell.
-
virtual double
getThermalNoiseRate
() const = 0¶ - Return
- double - the thermal noise rate.
-
virtual double
getDeadTime
() const = 0¶ - Return
- double - the dead time of a SiPM cell.
-
virtual double
getRecoveryTime
() const = 0¶ - Return
- double - the recovery time of the SiPM cell gain.
-
virtual double
getCrossTalkProbability
() const = 0¶ - Return
- double - the crosstalk probability.
-
virtual double
getApProbLong
() const = 0¶ - Return
- double - the probability for long time constant afterpulses.
-
virtual double
getApProbShort
() const = 0¶ - Return
- double - the probability for short time constant afterpulses.
-
virtual double
getApTauLong
() const = 0¶ - Return
- double - the time constant of long time constant afterpulses.
-
virtual double
getApTauShort
() const = 0¶ - Return
- double - the time constant of short time constant afterpulses.
-
virtual double
getFillFactor
() const = 0¶ - Return
- double - the fill factor.
-
virtual double
getGainVariation
() const = 0¶ - Return
- double - the gain variance.
-
virtual double
getPhotonDetectionEfficiency
(double wavelength) const = 0¶ - Return
- double - the photon detection efficiency.
- Parameters
wavelength
: - the photon wavelength.
-
G4Material *
getMaterial
() const¶ - Return
- G4Material - the material of the chip.
-
double
getThickness
() const¶ - Return
- double - the thickness of the chip.
-
G4Material *
getWindowMaterial
() const¶ - Return
- G4Material - the material of the window.
-
double
getWindowThickness
() const¶ - Return
- double - the window thickness.
-
double
getTemperature
() const¶ - Return
- double - the current temperature of the chip.
-
void
setTemperature
(double temperature)¶ - Parameters
temperature
: - the temperature to set.
-
double
getBiasVoltage
() const¶ - Return
- double - the bias voltage.
-
void
setBiasVoltage
(double biasVoltage)¶ - Parameters
biasVoltage
: - the biasVoltage to set.
-
G4SipmGainMapModel *
getGainMapModel
() const¶ - Return
- G4SipmGainMapModel - the gain map model.
-
G4SipmVoltageTraceModel *
getVoltageTraceModel
() const¶ - Return
- G4SipmVoltageTraceModel - the voltage trace model.
-