7 #include "CLHEP/Units/SystemOfUnits.h"
26 return StatusCode::SUCCESS;
32 return StatusCode::SUCCESS;
37 double depletionVoltage,
38 double sensorThickness,
39 double biasVoltage)
const {
47 double y{positionZ*0.1};
48 double bulkDepth{sensorThickness*0.1};
53 double depletionDepth{bulkDepth};
54 if (biasVoltage < std::abs(depletionVoltage)) depletionDepth = sqrt(biasVoltage/std::abs(depletionVoltage)) * bulkDepth;
55 if (
y<=depletionDepth){
58 Ey = biasVoltage / depletionDepth ;
65 if (biasVoltage > std::abs(depletionVoltage)) {
66 Ey = (biasVoltage+depletionVoltage)/depletionDepth - 2.*depletionVoltage*(bulkDepth-
y)/(bulkDepth*bulkDepth);
68 double Emax{2.* depletionDepth * depletionVoltage / (bulkDepth*bulkDepth)};
69 Ey =
Emax*(1-(bulkDepth-
y)/depletionDepth);
79 ATH_MSG_INFO(
"Using for E-field simple toy model corresponding to 10^15 fluence, full depletion end for holes.");
81 double E_D{
m_model.Eval(positionZ*0.1)*0.1};