ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
InDet::SiliconProperties Class Reference

#include <SiliconProperties.h>

Collaboration diagram for InDet::SiliconProperties:

Public Member Functions

 SiliconProperties ()
 
 SiliconProperties (double temperature, double electricField)
 
void setConditions (double temperature, double electricField)
 
double electronDriftMobility () const
 
double holeDriftMobility () const
 
double electronHallMobility () const
 
double holeHallMobility () const
 
double electronDiffusionConstant () const
 
double holeDiffusionConstant () const
 
double electronSaturationVelocity () const
 
double holeSaturationVelocity () const
 
double electronHolePairsPerEnergy () const
 
double driftMobility (InDetDD::CarrierType carrier) const
 
double hallMobility (InDetDD::CarrierType carrier) const
 
double signedHallMobility (InDetDD::CarrierType carrier) const
 
double diffusionConstant (InDetDD::CarrierType carrier) const
 
double calcElectronDriftMobility (double temperature, double electricField) const
 
double calcHoleDriftMobility (double temperature, double electricField) const
 
double calcElectronHallMobility (double temperature, double mobility) const
 
double calcHoleHallMobility (double temperature, double mobility) const
 
void setElectronDriftMobility (double mobility)
 
void setHoleDriftMobility (double mobility)
 
void setElectronHallMobility (double mobility)
 
void setHoleHallMobility (double mobility)
 
void setElectronDiffusionConstant (double diffusionConstant)
 
void setHoleDiffusionConstant (double diffusionConstant)
 
void setElectronSaturationVelocity (double electronSaturationVelocity)
 
void setHoleSaturationVelocity (double holeSaturationVelocity)
 
void setElectronHolePairsPerEnergy (double ehPairsPerEnergy)
 

Static Public Member Functions

static double charge (InDetDD::CarrierType carrier)
 
static double calcElectronHallFactor (double temperature)
 
static double calcHoleHallFactor (double temperature)
 
static double calcDriftMobility (double electricField, double electricField_critical, double saturationVelocity, double beta)
 
static double calcDiffusionConstant (double temperature, double mobility)
 

Private Attributes

double m_electronDriftMobility
 
double m_holeDriftMobility
 
double m_electronHallMobility
 
double m_holeHallMobility
 
double m_electronDiffusionConstant
 
double m_holeDiffusionConstant
 
double m_electronSaturationVelocity
 
double m_holeSaturationVelocity
 
double m_ehPairsPerEnergy
 
bool m_override
 

Static Private Attributes

static const double s_ehPairsPerEnergyDefault = 1. / (3.62 * CLHEP::eV)
 

Detailed Description

Definition at line 23 of file SiliconProperties.h.

Constructor & Destructor Documentation

◆ SiliconProperties() [1/2]

InDet::SiliconProperties::SiliconProperties ( )

◆ SiliconProperties() [2/2]

InDet::SiliconProperties::SiliconProperties ( double  temperature,
double  electricField 
)

Definition at line 56 of file SiliconProperties.cxx.

Member Function Documentation

◆ calcDiffusionConstant()

double InDet::SiliconProperties::calcDiffusionConstant ( double  temperature,
double  mobility 
)
static

Definition at line 159 of file SiliconProperties.cxx.

159  {
160  // Einstein's relationship (in many text books)
161  return -CLHEP::k_Boltzmann * temperature / CLHEP::electron_charge * mobility; // CLHEP::k_Boltzmann and CLHEP::electron_charge
162 }

◆ calcDriftMobility()

double InDet::SiliconProperties::calcDriftMobility ( double  electricField,
double  electricField_critical,
double  saturationVelocity,
double  beta 
)
static

Definition at line 134 of file SiliconProperties.cxx.

134  {
135  // Equation from ATL-INDET-2001-004
136  return saturationVelocity / electricField_critical /
137  pow(std::abs(1. + pow(std::abs(electricField/electricField_critical), beta)), 1./beta);
138 }

◆ calcElectronDriftMobility()

double InDet::SiliconProperties::calcElectronDriftMobility ( double  temperature,
double  electricField 
) const

Definition at line 140 of file SiliconProperties.cxx.

140  {
141  // Equations from ATL-INDET-2001-004
142 // double saturationVelocity = elecV_sat_0 * pow(temperature, elecV_sat_exp);
143  double saturationVelocity = m_electronSaturationVelocity*pow(temperature, elecV_sat_exp);
144  double electricField_critical = elecE_crit_0 * pow(temperature, elecE_crit_exp);
145  double beta = elecBeta_0 * pow(temperature, elecBeta_exp);
146  return calcDriftMobility(electricField, electricField_critical, saturationVelocity, beta);
147 }

◆ calcElectronHallFactor()

double InDet::SiliconProperties::calcElectronHallFactor ( double  temperature)
static

Definition at line 123 of file SiliconProperties.cxx.

123  {
124  // Equation from ATL-INDET-2001-004
125  return elecHallFactZero + elecHallFact_drdt * (temperature - temperatureZero);
126 }

◆ calcElectronHallMobility()

double InDet::SiliconProperties::calcElectronHallMobility ( double  temperature,
double  mobility 
) const

◆ calcHoleDriftMobility()

double InDet::SiliconProperties::calcHoleDriftMobility ( double  temperature,
double  electricField 
) const

Definition at line 149 of file SiliconProperties.cxx.

149  {
150  // Equations from ATL-INDET-2001-004
151 // double saturationVelocity = holeV_sat_0 * pow(temperature, holeV_sat_exp);
152  double saturationVelocity = m_holeSaturationVelocity*pow(temperature, holeV_sat_exp);
153  double electricField_critical = holeE_crit_0 * pow(temperature, holeE_crit_exp);
154  double beta = holeBeta_0 * pow(temperature, holeBeta_exp);
155  return calcDriftMobility(electricField, electricField_critical, saturationVelocity, beta);
156 }

◆ calcHoleHallFactor()

double InDet::SiliconProperties::calcHoleHallFactor ( double  temperature)
static

Definition at line 128 of file SiliconProperties.cxx.

128  {
129  // Equation from ATL-INDET-2001-004
130  return holeHallFactZero + holeHallFact_drdt * (temperature - temperatureZero);
131 }

◆ calcHoleHallMobility()

double InDet::SiliconProperties::calcHoleHallMobility ( double  temperature,
double  mobility 
) const

◆ charge()

double InDet::SiliconProperties::charge ( InDetDD::CarrierType  carrier)
static

Definition at line 110 of file SiliconProperties.cxx.

110  {
111  return (carrierType == holes) ? +1 : -1;
112 }

◆ diffusionConstant()

double InDet::SiliconProperties::diffusionConstant ( InDetDD::CarrierType  carrier) const

Definition at line 102 of file SiliconProperties.cxx.

102  {
103  if (carrierType == holes) {
104  return holeDiffusionConstant();
105  } else {
106  return electronDiffusionConstant();
107  }
108 }

◆ driftMobility()

double InDet::SiliconProperties::driftMobility ( InDetDD::CarrierType  carrier) const

Definition at line 86 of file SiliconProperties.cxx.

86  {
87  if (carrierType == holes) {
88  return holeDriftMobility();
89  } else {
90  return electronDriftMobility();
91  }
92 }

◆ electronDiffusionConstant()

double InDet::SiliconProperties::electronDiffusionConstant ( ) const

Definition at line 180 of file SiliconProperties.cxx.

180  {
182 }

◆ electronDriftMobility()

double InDet::SiliconProperties::electronDriftMobility ( ) const

Definition at line 164 of file SiliconProperties.cxx.

164  {
166 }

◆ electronHallMobility()

double InDet::SiliconProperties::electronHallMobility ( ) const

Definition at line 172 of file SiliconProperties.cxx.

172  {
173  return m_electronHallMobility;
174 }

◆ electronHolePairsPerEnergy()

double InDet::SiliconProperties::electronHolePairsPerEnergy ( ) const

Definition at line 238 of file SiliconProperties.cxx.

238  {
239  return m_ehPairsPerEnergy;
240 }

◆ electronSaturationVelocity()

double InDet::SiliconProperties::electronSaturationVelocity ( ) const

Definition at line 188 of file SiliconProperties.cxx.

188  {
190 }

◆ hallMobility()

double InDet::SiliconProperties::hallMobility ( InDetDD::CarrierType  carrier) const

Definition at line 94 of file SiliconProperties.cxx.

94  {
95  if (carrierType == holes) {
96  return holeHallMobility();
97  } else {
98  return electronHallMobility();
99  }
100 }

◆ holeDiffusionConstant()

double InDet::SiliconProperties::holeDiffusionConstant ( ) const

Definition at line 184 of file SiliconProperties.cxx.

184  {
186 }

◆ holeDriftMobility()

double InDet::SiliconProperties::holeDriftMobility ( ) const

Definition at line 168 of file SiliconProperties.cxx.

168  {
169  return m_holeDriftMobility;
170 }

◆ holeHallMobility()

double InDet::SiliconProperties::holeHallMobility ( ) const

Definition at line 176 of file SiliconProperties.cxx.

176  {
177  return m_holeHallMobility;
178 }

◆ holeSaturationVelocity()

double InDet::SiliconProperties::holeSaturationVelocity ( ) const

Definition at line 192 of file SiliconProperties.cxx.

192  {
194 }

◆ setConditions()

void InDet::SiliconProperties::setConditions ( double  temperature,
double  electricField 
)

◆ setElectronDiffusionConstant()

void InDet::SiliconProperties::setElectronDiffusionConstant ( double  diffusionConstant)

Definition at line 216 of file SiliconProperties.cxx.

216  {
217  m_override = true;
219 }

◆ setElectronDriftMobility()

void InDet::SiliconProperties::setElectronDriftMobility ( double  mobility)

Definition at line 196 of file SiliconProperties.cxx.

196  {
197  m_override = true;
198  m_electronDriftMobility = mobility;
199 }

◆ setElectronHallMobility()

void InDet::SiliconProperties::setElectronHallMobility ( double  mobility)

Definition at line 206 of file SiliconProperties.cxx.

206  {
207  m_override = true;
208  m_electronHallMobility = mobility;
209 }

◆ setElectronHolePairsPerEnergy()

void InDet::SiliconProperties::setElectronHolePairsPerEnergy ( double  ehPairsPerEnergy)

Definition at line 234 of file SiliconProperties.cxx.

234  {
235  m_ehPairsPerEnergy = ehPairsPerEnergy;
236 }

◆ setElectronSaturationVelocity()

void InDet::SiliconProperties::setElectronSaturationVelocity ( double  electronSaturationVelocity)

Definition at line 226 of file SiliconProperties.cxx.

◆ setHoleDiffusionConstant()

void InDet::SiliconProperties::setHoleDiffusionConstant ( double  diffusionConstant)

Definition at line 221 of file SiliconProperties.cxx.

221  {
222  m_override = true;
224 }

◆ setHoleDriftMobility()

void InDet::SiliconProperties::setHoleDriftMobility ( double  mobility)

Definition at line 201 of file SiliconProperties.cxx.

201  {
202  m_override = true;
203  m_holeDriftMobility = mobility;
204 }

◆ setHoleHallMobility()

void InDet::SiliconProperties::setHoleHallMobility ( double  mobility)

Definition at line 211 of file SiliconProperties.cxx.

211  {
212  m_override = true;
213  m_holeHallMobility = mobility;
214 }

◆ setHoleSaturationVelocity()

void InDet::SiliconProperties::setHoleSaturationVelocity ( double  holeSaturationVelocity)

Definition at line 230 of file SiliconProperties.cxx.

◆ signedHallMobility()

double InDet::SiliconProperties::signedHallMobility ( InDetDD::CarrierType  carrier) const

Definition at line 114 of file SiliconProperties.cxx.

114  {
115  if (carrierType == holes) {
116  return holeHallMobility();
117  } else {
118  return -electronHallMobility();
119  }
120 }

Member Data Documentation

◆ m_ehPairsPerEnergy

double InDet::SiliconProperties::m_ehPairsPerEnergy
private

Definition at line 84 of file SiliconProperties.h.

◆ m_electronDiffusionConstant

double InDet::SiliconProperties::m_electronDiffusionConstant
private

Definition at line 80 of file SiliconProperties.h.

◆ m_electronDriftMobility

double InDet::SiliconProperties::m_electronDriftMobility
private

Definition at line 76 of file SiliconProperties.h.

◆ m_electronHallMobility

double InDet::SiliconProperties::m_electronHallMobility
private

Definition at line 78 of file SiliconProperties.h.

◆ m_electronSaturationVelocity

double InDet::SiliconProperties::m_electronSaturationVelocity
private

Definition at line 82 of file SiliconProperties.h.

◆ m_holeDiffusionConstant

double InDet::SiliconProperties::m_holeDiffusionConstant
private

Definition at line 81 of file SiliconProperties.h.

◆ m_holeDriftMobility

double InDet::SiliconProperties::m_holeDriftMobility
private

Definition at line 77 of file SiliconProperties.h.

◆ m_holeHallMobility

double InDet::SiliconProperties::m_holeHallMobility
private

Definition at line 79 of file SiliconProperties.h.

◆ m_holeSaturationVelocity

double InDet::SiliconProperties::m_holeSaturationVelocity
private

Definition at line 83 of file SiliconProperties.h.

◆ m_override

bool InDet::SiliconProperties::m_override
private

Definition at line 86 of file SiliconProperties.h.

◆ s_ehPairsPerEnergyDefault

const double InDet::SiliconProperties::s_ehPairsPerEnergyDefault = 1. / (3.62 * CLHEP::eV)
staticprivate

Definition at line 88 of file SiliconProperties.h.


The documentation for this class was generated from the following files:
InDet::SiliconProperties::holeHallMobility
double holeHallMobility() const
Definition: SiliconProperties.cxx:176
InDet::holeHallFactZero
const double holeHallFactZero
Definition: SiliconProperties.cxx:32
InDet::holeBeta_0
const double holeBeta_0
Definition: SiliconProperties.cxx:38
python.PhysicalConstants.k_Boltzmann
float k_Boltzmann
Definition: PhysicalConstants.py:114
InDet::elecHallFact_drdt
const double elecHallFact_drdt
Definition: SiliconProperties.cxx:24
InDet::SiliconProperties::calcElectronHallFactor
static double calcElectronHallFactor(double temperature)
Definition: SiliconProperties.cxx:123
InDet::elecBeta_0
const double elecBeta_0
Definition: SiliconProperties.cxx:29
InDet::SiliconProperties::calcDriftMobility
static double calcDriftMobility(double electricField, double electricField_critical, double saturationVelocity, double beta)
Definition: SiliconProperties.cxx:134
InDetDD::holes
@ holes
Definition: InDetDD_Defs.h:17
InDet::holeE_crit_exp
const double holeE_crit_exp
Definition: SiliconProperties.cxx:37
conifer::pow
constexpr int pow(int x)
Definition: conifer.h:20
InDet::SiliconProperties::electronDriftMobility
double electronDriftMobility() const
Definition: SiliconProperties.cxx:164
InDet::SiliconProperties::holeDiffusionConstant
double holeDiffusionConstant() const
Definition: SiliconProperties.cxx:184
InDet::SiliconProperties::electronDiffusionConstant
double electronDiffusionConstant() const
Definition: SiliconProperties.cxx:180
InDet::SiliconProperties::diffusionConstant
double diffusionConstant(InDetDD::CarrierType carrier) const
Definition: SiliconProperties.cxx:102
InDet::SiliconProperties::m_holeSaturationVelocity
double m_holeSaturationVelocity
Definition: SiliconProperties.h:83
InDet::elecV_sat_0
const double elecV_sat_0
Definition: SiliconProperties.cxx:25
InDet::SiliconProperties::holeDriftMobility
double holeDriftMobility() const
Definition: SiliconProperties.cxx:168
InDet::elecE_crit_0
const double elecE_crit_0
Definition: SiliconProperties.cxx:27
InDet::SiliconProperties::m_holeHallMobility
double m_holeHallMobility
Definition: SiliconProperties.h:79
InDet::SiliconProperties::calcElectronDriftMobility
double calcElectronDriftMobility(double temperature, double electricField) const
Definition: SiliconProperties.cxx:140
InDet::elecBeta_exp
const double elecBeta_exp
Definition: SiliconProperties.cxx:30
InDet::SiliconProperties::m_electronDriftMobility
double m_electronDriftMobility
Definition: SiliconProperties.h:76
InDet::holeHallFact_drdt
const double holeHallFact_drdt
Definition: SiliconProperties.cxx:33
InDet::SiliconProperties::s_ehPairsPerEnergyDefault
static const double s_ehPairsPerEnergyDefault
Definition: SiliconProperties.h:88
InDet::elecHallFactZero
const double elecHallFactZero
Definition: SiliconProperties.cxx:23
InDet::SiliconProperties::m_override
bool m_override
Definition: SiliconProperties.h:86
InDet::temperatureZero
const double temperatureZero
Definition: SiliconProperties.cxx:41
InDet::holeE_crit_0
const double holeE_crit_0
Definition: SiliconProperties.cxx:36
InDet::SiliconProperties::m_electronHallMobility
double m_electronHallMobility
Definition: SiliconProperties.h:78
InDet::SiliconProperties::calcDiffusionConstant
static double calcDiffusionConstant(double temperature, double mobility)
Definition: SiliconProperties.cxx:159
InDet::SiliconProperties::calcHoleDriftMobility
double calcHoleDriftMobility(double temperature, double electricField) const
Definition: SiliconProperties.cxx:149
InDet::holeV_sat_exp
const double holeV_sat_exp
Definition: SiliconProperties.cxx:35
InDet::SiliconProperties::calcHoleHallFactor
static double calcHoleHallFactor(double temperature)
Definition: SiliconProperties.cxx:128
InDet::SiliconProperties::m_electronDiffusionConstant
double m_electronDiffusionConstant
Definition: SiliconProperties.h:80
InDet::elecV_sat_exp
const double elecV_sat_exp
Definition: SiliconProperties.cxx:26
InDet::elecE_crit_exp
const double elecE_crit_exp
Definition: SiliconProperties.cxx:28
InDet::SiliconProperties::m_holeDriftMobility
double m_holeDriftMobility
Definition: SiliconProperties.h:77
InDet::SiliconProperties::m_ehPairsPerEnergy
double m_ehPairsPerEnergy
Definition: SiliconProperties.h:84
InDet::SiliconProperties::electronHallMobility
double electronHallMobility() const
Definition: SiliconProperties.cxx:172
InDet::SiliconProperties::m_electronSaturationVelocity
double m_electronSaturationVelocity
Definition: SiliconProperties.h:82
InDet::SiliconProperties::holeSaturationVelocity
double holeSaturationVelocity() const
Definition: SiliconProperties.cxx:192
InDet::SiliconProperties::electronSaturationVelocity
double electronSaturationVelocity() const
Definition: SiliconProperties.cxx:188
InDet::holeV_sat_0
const double holeV_sat_0
Definition: SiliconProperties.cxx:34
python.PhysicalConstants.electron_charge
electron_charge
Definition: PhysicalConstants.py:79
InDet::holeBeta_exp
const double holeBeta_exp
Definition: SiliconProperties.cxx:39
MuonParameters::beta
@ beta
Definition: MuonParamDefs.h:144
InDet::SiliconProperties::m_holeDiffusionConstant
double m_holeDiffusionConstant
Definition: SiliconProperties.h:81
InDet::SiliconProperties::setConditions
void setConditions(double temperature, double electricField)
Definition: SiliconProperties.cxx:71