BmnRoot
Loading...
Searching...
No Matches
BmnSsdPhysics Class Reference

Auxiliary class for simulating physics processes in Silicon. More...

#include <BmnSsdPhysics.h>

Inheritance diagram for BmnSsdPhysics:
[legend]
Collaboration diagram for BmnSsdPhysics:
[legend]

Public Member Functions

virtual ~BmnSsdPhysics ()
 
Double_t EnergyLoss (Double_t dz, Double_t mass, Double_t eKin, Double_t dedx) const
 
Double_t LandauWidth (Double_t mostProbableCharge)
 
Double_t StoppingPower (Double_t eKin, Int_t pid)
 
Double_t StoppingPower (Double_t energy, Double_t mass, Double_t charge, Bool_t isElectron)
 

Static Public Member Functions

static Double_t DiffusionWidth (Double_t z, Double_t d, Double_t vBias, Double_t vFd, Double_t temperature, Int_t chargeType)
 
static Double_t ElectricField (Double_t vBias, Double_t vFd, Double_t dZ, Double_t z)
 
static Double_t GetSiCharge ()
 
static BmnSsdPhysicsInstance ()
 
static Double_t PairCreationEnergy ()
 
static Double_t ParticleCharge (Int_t pid)
 
static Double_t ParticleMass (Int_t pid)
 

Detailed Description

Auxiliary class for simulating physics processes in Silicon.

Since
20.12.2018

Definition at line 20 of file BmnSsdPhysics.h.

Constructor & Destructor Documentation

◆ ~BmnSsdPhysics()

BmnSsdPhysics::~BmnSsdPhysics ( )
virtual

Destructor

Definition at line 58 of file BmnSsdPhysics.cxx.

Member Function Documentation

◆ DiffusionWidth()

Double_t BmnSsdPhysics::DiffusionWidth ( Double_t  z,
Double_t  d,
Double_t  vBias,
Double_t  vFd,
Double_t  temperature,
Int_t  chargeType 
)
static

Diffusion width as function of z

Parameters
zDistance from p side [cm]
dThickness of sensor [cm]
vBiasBias voltage [V]
vFdFull depletion voltage [V]
temperatureTemperature [K]
chargeType0 = electron, 1 = hole @value Drift time [s]

Calculates the diffusion width (sigma) for a charge drifting from z to the readout (z = 0 for hole, z = d for electrons).

For the reference to the formulae, see the SSD digitiser note.

Definition at line 65 of file BmnSsdPhysics.cxx.

References d, log(), and sqrt().

Referenced by BmnSsdSensorDssdStereo::PropagateCharge().

◆ ElectricField()

Double_t BmnSsdPhysics::ElectricField ( Double_t  vBias,
Double_t  vFd,
Double_t  dZ,
Double_t  z 
)
static

Electric field magnitude in a silicon sensor as function of z

Parameters
vBiasBias voltage [V]
vFdFull depletion voltage [V]
dZThickness of sensor [cm]
zz coordinate, measured from the p side [cm] @value z component of electric field [V/cm]

Definition at line 112 of file BmnSsdPhysics.cxx.

Referenced by BmnSsdSensorDssd::LorentzShift().

◆ EnergyLoss()

Double_t BmnSsdPhysics::EnergyLoss ( Double_t  dz,
Double_t  mass,
Double_t  eKin,
Double_t  dedx 
) const

Energy loss in a Silicon layer

Parameters
dzLayer thickness [cm]
massParticle mass [GeV]
eKinKinetic energy [GeV]
dedxAverage specific energy loss [GeV/cm] @value Energy loss in the layer [GeV]

The energy loss is sampled from the Urban fluctuation model described in the GEANT3 manual (PHYS333 2.4, pp. 262-264).

Definition at line 121 of file BmnSsdPhysics.cxx.

Referenced by BmnSsdSensorDssd::ProduceCharge().

◆ GetSiCharge()

static Double_t BmnSsdPhysics::GetSiCharge ( )
inlinestatic

Atomic charge of Silicon @value Atomic charge of Silicon [e]

Definition at line 76 of file BmnSsdPhysics.h.

◆ Instance()

BmnSsdPhysics * BmnSsdPhysics::Instance ( )
static

Accessor to singleton instance @value Pointer to singleton instance Will instantiate a singleton object if not yet existing.

Definition at line 167 of file BmnSsdPhysics.cxx.

Referenced by BmnSsdSensorDssd::ProduceCharge().

◆ LandauWidth()

Double_t BmnSsdPhysics::LandauWidth ( Double_t  mostProbableCharge)

Half width at half max of Landau distribution in ultrarelativistic case

Parameters
mostProbableCharge[e] @value half width [e]

Definition at line 202 of file BmnSsdPhysics.cxx.

◆ PairCreationEnergy()

static Double_t BmnSsdPhysics::PairCreationEnergy ( )
inlinestatic

Energy for electron-hole pair creation in silicon [GeV]

Definition at line 94 of file BmnSsdPhysics.h.

Referenced by BmnSsdSensorDssd::ProduceCharge().

◆ ParticleCharge()

Double_t BmnSsdPhysics::ParticleCharge ( Int_t  pid)
static

Particle charge from PDG particle ID

Parameters
pidPID (PDG code) @value particle charge [e]

For particles in the TDataBasePDG, the charge is taken from there. For ions, it is calculated following the PDG code convention. If not found, is returned.

Definition at line 212 of file BmnSsdPhysics.cxx.

Referenced by StoppingPower().

◆ ParticleMass()

Double_t BmnSsdPhysics::ParticleMass ( Int_t  pid)
static

Particle mass from PDG particle ID

Parameters
pidPID (PDG code) @value particle mass [GeV]

For particles in the TDataBasePDG, the mass is taken from there. For ions, it is calculated following the PDG code convention. If not found, zero is returned.

Definition at line 234 of file BmnSsdPhysics.cxx.

Referenced by BmnSsdSensorDssd::ProduceCharge(), and StoppingPower().

◆ StoppingPower() [1/2]

Double_t BmnSsdPhysics::StoppingPower ( Double_t  eKin,
Int_t  pid 
)

Stopping power (average specific energy loss) in Silicon

Parameters
eKinKinetic energy pf the particle [GeV]
pidParticle ID (PDG code) @value Stopping power [GeV/cm]

This function calculates the stopping power (average specific energy loss) in Silicon of a particle with given mass and charge. For an unknown pid, null is returned.

Definition at line 392 of file BmnSsdPhysics.cxx.

References ParticleCharge(), ParticleMass(), and StoppingPower().

Referenced by BmnSsdSensorDssd::ProduceCharge(), and StoppingPower().

◆ StoppingPower() [2/2]

Double_t BmnSsdPhysics::StoppingPower ( Double_t  energy,
Double_t  mass,
Double_t  charge,
Bool_t  isElectron 
)

Stopping power in Silicon

Parameters
energyEnergy of particle [GeV]
massParticle mass [GeV]
chargeElectric charge [e]
isElectronkTRUE if electron, kFALSE else @value Stopping power [GeV/cm]

This function calculates the stopping power (average specific energy loss) in Silicon of a particle with given mass and charge.

Definition at line 406 of file BmnSsdPhysics.cxx.


The documentation for this class was generated from the following files: