43 static const T SILICON_DENSITY = 2.33;
46 static const T SILICON_Z_OVER_A = 0.4984;
47 static const T SILICON_RAD_LENGTH = 9.365;
48 static const T SILICON_I = 173 * 1e-9;
49 static const T SILICON_I_SQ = SILICON_I * SILICON_I;
51 static const T ZERO = 0.0, ONE = 1., TWO = 2.;
52 static const T mass = 0.105658369;
53 static const T massSq = 0.105658369 * 0.105658369;
54 static const T C1_2 = 0.5, C1_3 = 1. / 3.;
55 static const T me = 0.000511;
56 static const T ratio = me / mass;
59 T E =
sqrt(massSq + p * p);
61 T betaSq = beta * beta;
63 T gammaSq = gamma * gamma;
67 T thickness = norm * siliconThickness;
68 T radThick = thickness / SILICON_RAD_LENGTH;
69 T sqrtRadThick =
sqrt(radThick);
70 T logRadThick =
log(radThick);
77 static const T K = 0.000307075;
78 T Tmax = (2 * me * betaSq * gammaSq) / (ONE + TWO * gamma * ratio + ratio * ratio);
83 static const T c7 = 28.816;
84 static const T c8 = 1e-9;
85 T hwp = c7 *
sqrt(SILICON_DENSITY * SILICON_Z_OVER_A) * c8;
86 dc =
log(hwp / SILICON_I) +
log(beta * gamma) - C1_2;
89 T bbLoss = K * SILICON_Z_OVER_A *
rcp(betaSq)
90 * (C1_2 *
log(TWO * me * betaSq * gammaSq * Tmax / SILICON_I_SQ) - betaSq - dc);
105 T energyLoss = (bbLoss + bhLoss + ppLoss) * SILICON_DENSITY * thickness;
108 T Enew = E - energyLoss;
109 T pnew =
sqrt(Enew * Enew - massSq);
114 T betanew = pnew / Enew;
115 T betaSqnew = betanew * betanew;
116 T gammanew = Enew / mass;
120 static const T c4 = 153.5;
121 T XI = (c4 * SILICON_Z_OVER_A * thickness * SILICON_DENSITY) / betaSqnew;
124 T etanew = betanew * gammanew;
125 T etaSqnew = etanew * etanew;
126 T F1 = TWO * me * etaSqnew;
127 T F2 = ONE + TWO * ratio * gammanew + ratio * ratio;
128 static const T c5 = 1e6;
129 T emax = c5 * F1 / F2;
131 static const T c6 = 1e-12;
132 T dedxSq = XI * emax * (ONE - C1_2 * betaSqnew) * c6;
136 T qpCorr = (Enew * Enew * dedxSq) / p6;
150 T bcp = betanew * pnew;
152 static const T c1 = 0.0136, c2 = 0.038;
153 T theta = c1 *
rcp(bcp) * sqrtRadThick * (ONE + c2 * logRadThick);
154 T thetaSq = theta * theta;
156 T t = ONE + tx * tx + ty * ty;
158 T Q33 = (1 + tx * tx) * t * thetaSq;
159 T Q44 = (1 + ty * ty) * t * thetaSq;
160 T Q34 = tx * ty * t * thetaSq;
162 T T23 = thickness * thickness * C1_3;
163 T T2 = thickness * C1_2;
196 static const T SILICON_RAD_LENGTH = 9.365;
198 static const T ZERO = 0.0, ONE = 1., TWO = 2., THREE = 3., INF = 1.e5;
199 static const T C1_2 = 0.5, C1_3 = 1. / 3.;
202 static const T C_LOG =
log(THREE) /
log(TWO);
204 T thickness = norm * siliconThickness;
205 T radThick = thickness / SILICON_RAD_LENGTH;
206 T sqrtRadThick =
sqrt(radThick);
207 T logRadThick =
log(radThick);
218 par.
Qp *=
exp(radThick);
220 par.
C14 += (
exp(radThick * C_LOG) -
exp(-TWO * radThick));
232 T bcp = betanew * pnew;
233 static const T c1 = 0.0136, c2 = 0.038;
234 T theta = c1 *
rcp(bcp) * sqrtRadThick * (ONE + c2 * logRadThick);
235 T thetaSq = theta * theta;
237 T t = ONE + tx * tx + ty * ty;
239 T Q33 = (1 + tx * tx) * t * thetaSq;
240 T Q44 = (1 + ty * ty) * t * thetaSq;
241 T Q34 = tx * ty * t * thetaSq;
243 T T23 = thickness * thickness * C1_3;
244 T T2 = thickness * C1_2;