3.2. G4Sipm model

The G4SipmModel is one of the most important classes of G4Sipm. It stores all properties of the SiPM.

3.2.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.2.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 references to a G4SipmGainMapModel and a G4SipmVoltageTraceModel.

3.2.2.1. SiPM properties as a function of the temperature and over-voltage

Please refer to the G4SipmConfigFileModel documentation.

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