17 #ifndef LITADDMATERIAL_H_
18 #define LITADDMATERIAL_H_
36 static const T SILICON_DENSITY = 2.33;
39 static const T SILICON_Z_OVER_A =
41 static const T SILICON_RAD_LENGTH = 9.365;
42 static const T SILICON_I = 173 * 1e-9;
43 static const T SILICON_I_SQ =
44 SILICON_I * SILICON_I;
46 static const T
ZERO = 0.0,
ONE = 1., TWO = 2.;
47 static const T mass = 0.105658369;
48 static const T massSq = 0.105658369 * 0.105658369;
49 static const T C1_2 = 0.5, C1_3 = 1. / 3.;
50 static const T me = 0.000511;
51 static const T ratio = me / mass;
54 T E =
sqrt(massSq + p * p);
56 T betaSq = beta * beta;
58 T gammaSq = gamma * gamma;
62 T thickness = norm * siliconThickness;
63 T radThick = thickness / SILICON_RAD_LENGTH;
64 T sqrtRadThick =
sqrt(radThick);
65 T logRadThick =
log(radThick);
72 static const T K = 0.000307075;
73 T Tmax = (2 * me * betaSq * gammaSq)
74 / (
ONE + TWO * gamma * ratio + ratio * ratio);
79 static const T c7 = 28.816;
80 static const T c8 = 1e-9;
81 T hwp = c7 *
sqrt(SILICON_DENSITY * SILICON_Z_OVER_A) * c8;
82 dc =
log(hwp / SILICON_I) +
log(beta * gamma) - C1_2;
86 K * SILICON_Z_OVER_A *
rcp(betaSq)
87 * (C1_2 *
log(TWO * me * betaSq * gammaSq * Tmax / SILICON_I_SQ)
103 T energyLoss = (bbLoss + bhLoss + ppLoss) * SILICON_DENSITY * thickness;
106 T Enew = E - energyLoss;
107 T pnew =
sqrt(Enew * Enew - massSq);
112 T betanew = pnew / Enew;
113 T betaSqnew = betanew * betanew;
114 T gammanew = Enew / mass;
118 static const T c4 = 153.5;
119 T XI = (c4 * SILICON_Z_OVER_A * thickness * SILICON_DENSITY) / betaSqnew;
122 T etanew = betanew * gammanew;
123 T etaSqnew = etanew * etanew;
124 T F1 = TWO * me * etaSqnew;
125 T F2 =
ONE + TWO * ratio * gammanew + ratio * ratio;
126 static const T c5 = 1e6;
127 T emax = c5 * F1 / F2;
129 static const T c6 = 1e-12;
130 T dedxSq = XI * emax * (
ONE - C1_2 * betaSqnew) * c6;
134 T qpCorr = (Enew * Enew * dedxSq) / p6;
148 T bcp = betanew * pnew;
150 static const T c1 = 0.0136, c2 = 0.038;
151 T theta = c1 *
rcp(bcp) * sqrtRadThick * (
ONE + c2 * logRadThick);
152 T thetaSq = theta * theta;
154 T t =
ONE + tx * tx + ty * ty;
156 T Q33 = (1 + tx * tx) * t * thetaSq;
157 T Q44 = (1 + ty * ty) * t * thetaSq;
158 T Q34 = tx * ty * t * thetaSq;
160 T T23 = thickness * thickness * C1_3;
161 T T2 = thickness * C1_2;
192 T siliconThickness) {
194 static const T SILICON_RAD_LENGTH = 9.365;
196 static const T
ZERO = 0.0,
ONE = 1., TWO = 2., THREE = 3., INF = 1.e5;
197 static const T C1_2 = 0.5, C1_3 = 1. / 3.;
200 static const T C_LOG =
log(THREE) /
log(TWO);
202 T thickness = norm * siliconThickness;
203 T radThick = thickness / SILICON_RAD_LENGTH;
204 T sqrtRadThick =
sqrt(radThick);
205 T logRadThick =
log(radThick);
216 par.
Qp *=
exp(radThick);
219 (
exp(radThick * C_LOG) -
exp(-TWO * radThick));
231 T bcp = betanew * pnew;
232 static const T c1 = 0.0136, c2 = 0.038;
233 T theta = c1 *
rcp(bcp) * sqrtRadThick * (
ONE + c2 * logRadThick);
234 T thetaSq = theta * theta;
236 T t =
ONE + tx * tx + ty * ty;
238 T Q33 = (1 + tx * tx) * t * thetaSq;
239 T Q44 = (1 + ty * ty) * t * thetaSq;
240 T Q34 = tx * ty * t * thetaSq;
242 T T23 = thickness * thickness * C1_3;
243 T T2 = thickness * C1_2;