3.5. G4Sipm gain map model¶
Due to imperfections and electrical noise, the gain is not homogeneous over the whole SiPM surface.
Two implementations are available: G4SipmRandomGainMapModel
and G4G4SipmGaussianGainMapModel
.
3.5.1. Random gain map model¶
Picks the gain out of a Gaussian distribution with mean and standard deviation equal to the G4SipmModel::getGainVariation()
.
The individual gains stay the same over the whole simulation time.
3.5.2. Gaussian gain map model¶
Some SiPM models have a lower gain to the edges of the chip.
The gain is a 2D Gaussian function with and at in the corners with the standard deviation equal to the G4SipmModel::getGainVariation()
.
3.5.3. Source¶
-
class
G4SipmGainMapModel
¶ Gain map model base class for the G4Sipm model.
Measurements did reveal a non-constant gain of the SiPM cells. This automatically contributes to the width of the finger spectra recorded with an QDC.
TODO: lazy initialization via the refresh mechanism is too dangerous.
Subclassed by G4SipmGaussianGainMapModel, G4SipmRandomGainMapModel
Public Functions
-
G4SipmGainMapModel
()¶ Constructor.
-
virtual void
refresh
(const G4SipmModel *const model) = 0¶ Refresh mechanism.
- Parameters
model
: - the SiPM model.
-
virtual bool
needsRefresh
() = 0¶ - Return
- bool - true if a refresh is required.
-
virtual double
getGain
(const G4SipmCellId cellId) const = 0¶ - Return
- double - the gain in percent.
- Parameters
cellId
: - the id of the cell.
-