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.
-