|
BmnRoot
|
Auxiliary class for simulating physics processes in Silicon. More...
#include <BmnSsdPhysics.h>
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 BmnSsdPhysics * | Instance () |
| static Double_t | PairCreationEnergy () |
| static Double_t | ParticleCharge (Int_t pid) |
| static Double_t | ParticleMass (Int_t pid) |
Auxiliary class for simulating physics processes in Silicon.
Definition at line 20 of file BmnSsdPhysics.h.
|
virtual |
Destructor
Definition at line 58 of file BmnSsdPhysics.cxx.
|
static |
Diffusion width as function of z
| z | Distance from p side [cm] |
| d | Thickness of sensor [cm] |
| vBias | Bias voltage [V] |
| vFd | Full depletion voltage [V] |
| temperature | Temperature [K] |
| chargeType | 0 = 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().
|
static |
Electric field magnitude in a silicon sensor as function of z
| vBias | Bias voltage [V] |
| vFd | Full depletion voltage [V] |
| dZ | Thickness of sensor [cm] |
| z | z 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().
| Double_t BmnSsdPhysics::EnergyLoss | ( | Double_t | dz, |
| Double_t | mass, | ||
| Double_t | eKin, | ||
| Double_t | dedx | ||
| ) | const |
Energy loss in a Silicon layer
| dz | Layer thickness [cm] |
| mass | Particle mass [GeV] |
| eKin | Kinetic energy [GeV] |
| dedx | Average 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().
|
inlinestatic |
Atomic charge of Silicon @value Atomic charge of Silicon [e]
Definition at line 76 of file BmnSsdPhysics.h.
|
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().
| Double_t BmnSsdPhysics::LandauWidth | ( | Double_t | mostProbableCharge | ) |
Half width at half max of Landau distribution in ultrarelativistic case
| mostProbableCharge | [e] @value half width [e] |
Definition at line 202 of file BmnSsdPhysics.cxx.
|
inlinestatic |
Energy for electron-hole pair creation in silicon [GeV]
Definition at line 94 of file BmnSsdPhysics.h.
Referenced by BmnSsdSensorDssd::ProduceCharge().
|
static |
Particle charge from PDG particle ID
| pid | PID (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().
|
static |
Particle mass from PDG particle ID
| pid | PID (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().
| Double_t BmnSsdPhysics::StoppingPower | ( | Double_t | eKin, |
| Int_t | pid | ||
| ) |
Stopping power (average specific energy loss) in Silicon
| eKin | Kinetic energy pf the particle [GeV] |
| pid | Particle 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().
| Double_t BmnSsdPhysics::StoppingPower | ( | Double_t | energy, |
| Double_t | mass, | ||
| Double_t | charge, | ||
| Bool_t | isElectron | ||
| ) |
Stopping power in Silicon
| energy | Energy of particle [GeV] |
| mass | Particle mass [GeV] |
| charge | Electric charge [e] |
| isElectron | kTRUE 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.