62 { 0.0264767, 0.0260006, 0.0257112, 0.0252475, 0.024792, 0.0243443, 0.0240726, 0.0236367,
63 0.023209, 0.0227892, 0.0225362, 0.0221284, 0.0217282,0.0214894, 0.0211005, 0.0207189,
64 0.0204935, 0.0201227, 0.0197588, 0.019546, 0.0191923,0.0188454, 0.0186445, 0.0183072,
65 0.0179763, 0.0177866, 0.0174649, 0.0172828, 0.0169702,0.0166634, 0.0164915, 0.0161933,
66 0.0160283, 0.0157384, 0.0155801, 0.0152981, 0.0151463,0.0148721, 0.0147263, 0.0144598,
67 0.01432, 0.0140607, 0.0139267, 0.0136744, 0.0135459,0.0133005, 0.0131773, 0.0129385,
68 0.0128205, 0.0125881, 0.012475, 0.0122488, 0.0121406,0.0119204, 0.0118167, 0.0117158,
69 0.0115032, 0.0114067, 0.0111995, 0.0111072, 0.0110175,0.0108173, 0.0107316, 0.0105365,
70 0.0104547, 0.0102646, 0.0101865, 0.010111, 0.00992684,0.0098548,0.00967532,0.00960671,
71 0.00943171,0.00936643,0.00930328,0.0091337, 0.00907372,0.00890831,0.00885141,0.00869003,
72 0.00863611,0.00858428,0.00842757,0.00837854,0.0082256,0.00817931,0.00803,0.00798639,
73 0.00784058,0.00779958,0.00776046,0.00761866,0.00758201,0.00744346,0.00740928,0.00727384,
74 0.00724201,0.00710969,0.00708004,0.00695074,0.00692333,0.00679688,0.00677166,0.00664801,
75 0.00662484,0.00650396,0.00648286,0.00636458,0.00634545,0.00622977,0.00621258,0.00609936,
76 0.00608412,0.00597331,0.00595991,0.00585143,0.00583988,0.0057337,0.0057239,0.00561991,
77 0.0056119, 0.00551005,0.00550377,0.00540399,0.00539938,0.00530162,0.00529872,0.00520292,
78 0.0051091, 0.00510777,0.00501582,0.00501608,0.00492594,0.00492781,0.00483942,0.0048429,
79 0.00475622,0.00476127,0.00467625,0.00468287,0.00459947,0.00451785,0.00452581,0.00444573,
80 0.00445522,0.00437664,0.00438768,0.00431057,0.00432316,0.00424745,0.0042616,0.00418726,
81 0.004203, 0.00413, 0.00405869,0.00407563,0.00400561,0.00402414,0.00395536,0.00397553,
82 0.00390795,0.00392975,0.00386339,0.00379862,0.00382167,0.00375805,0.00378276,0.00372031,
83 0.00374678,0.00368538,0.00371363,0.00365335,0.00359463,0.0036242, 0.00356653,0.003598,
84 0.00354139,0.00357481,0.00351921,0.00355464,0.00350005,0.0034471,0.00348403,0.00343208,
85 0.0034712, 0.00342026,0.00346165,0.00341172,0.00345548,0.00340657,0.00335944,0.00340491,
86 0.00335885,0.00340692,0.00336191,0.00341273,0.00336879,0.00342249,0.00337962,0.00333889,
87 0.00339463,0.00335506,0.00341401,0.00337558,0.00343797,0.00340067,0.00336584,0.00343059,
88 0.0033969, 0.00346557,0.00343302,0.00350594,0.00347448,0.00344563,0.00352163,0.00349383,
89 0.00357485,0.00354807,0.00352395,0.00360885,0.00358571,0.00367661,0.00365446,0.00375194,
90 0.00373078,0.00371234,0.00381532,0.00379787,0.00390882,0.00389241,0.00387881,0.00399675,
91 0.00398425,0.00411183,0.00410042,0.00409197,0.00422843,0.00422123,0.00436974,0.0043637,
92 0.00436082,0.00452075,0.00451934,0.00452125,0.00469406,0.00469756,0.00488741,0.00489221,
93 0.00490102,0.00510782,0.00511801,0.00513271,0.0053589, 0.00537524,0.00562643,0.00564452,
94 0.0056677, 0.00594482,0.00596999,0.0059999, 0.00630758,0.00634014,0.00637849,0.00672136,
95 0.00676236,0.00680914,0.00719407,0.0072439, 0.00730063,0.0077349, 0.00779494,0.00786293,
96 0.00835577,0.0084276, 0.00850759,0.00907162,0.00915592,0.00924925,0.00935226,0.00999779,
97 0.0101059, 0.0102249, 0.0109763, 0.0111003, 0.0112367, 0.0113862, 0.0122637, 0.0124196,
98 0.0125898, 0.0136311, 0.0138081, 0.0140011, 0.0142112, 0.0154536, 0.0156723, 0.0159099,
99 0.016168, 0.0176664, 0.0179339, 0.0182246, 0.0185396, 0.020381, 0.0207026, 0.0210558,
100 0.0214374, 0.0237377, 0.0241275, 0.0245528, 0.0250106, 0.0255038, 0.0284158, 0.0289213,
101 0.0294621, 0.0300526, 0.0338619, 0.0344537, 0.0351108, 0.0358099, 0.036554, 0.0416399
105 { 0.482253, 0.482253, 0.489021, 0.489021, 0.489021, 0.489021, 0.495933,
106 0.495933, 0.495933, 0.495933, 0.502993, 0.502993, 0.502993, 0.510204,
107 0.510204, 0.510204, 0.517572, 0.517572, 0.517572, 0.5251, 0.5251,
108 0.5251, 0.532793, 0.532793, 0.532793, 0.540657, 0.540657, 0.548697,
109 0.548697, 0.548697, 0.556917, 0.556917, 0.565323, 0.565323, 0.573921,
110 0.573921, 0.582717, 0.582717, 0.591716, 0.591716, 0.600925, 0.600925,
111 0.610352, 0.610352, 0.620001, 0.620001, 0.629882, 0.629882, 0.64,
112 0.64, 0.650364, 0.650364, 0.660982, 0.660982, 0.671862, 0.683013,
113 0.683013, 0.694444, 0.694444, 0.706165, 0.718184, 0.718184, 0.730514,
114 0.730514, 0.743163, 0.743163, 0.756144, 0.769468, 0.769468, 0.783147,
115 0.783147, 0.797194, 0.797194, 0.811622, 0.826446, 0.826446, 0.84168,
116 0.84168, 0.857339, 0.857339, 0.873439, 0.889996, 0.889996, 0.907029,
117 0.907029, 0.924556, 0.924556, 0.942596, 0.942596, 0.961169, 0.980296,
118 0.980296, 1, 1, 1.0203, 1.0203, 1.04123, 1.04123,
119 1.06281, 1.06281, 1.08507, 1.08507, 1.10803, 1.10803, 1.13173,
120 1.13173, 1.1562, 1.1562, 1.18147, 1.18147, 1.20758, 1.20758,
121 1.23457, 1.23457, 1.26247, 1.26247, 1.29132, 1.29132, 1.32118,
122 1.32118, 1.35208, 1.35208, 1.38408, 1.38408, 1.41723, 1.41723,
123 1.45159, 1.45159, 1.45159, 1.48721, 1.48721, 1.52416, 1.52416,
124 1.5625, 1.5625, 1.60231, 1.60231, 1.64366, 1.64366, 1.68663,
125 1.68663, 1.68663, 1.7313, 1.7313, 1.77778, 1.77778, 1.82615,
126 1.82615, 1.87652, 1.87652, 1.92901, 1.92901, 1.98373, 1.98373,
127 1.98373, 2.04082, 2.04082, 2.1004, 2.1004, 2.16263, 2.16263,
128 2.22767, 2.22767, 2.22767, 2.29568, 2.29568, 2.36686, 2.36686,
129 2.44141, 2.44141, 2.51953, 2.51953, 2.51953, 2.60146, 2.60146,
130 2.68745, 2.68745, 2.77778, 2.77778, 2.87274, 2.87274, 2.87274,
131 2.97265, 2.97265, 3.07787, 3.07787, 3.18878, 3.18878, 3.30579,
132 3.30579, 3.30579, 3.42936, 3.42936, 3.55999, 3.55999, 3.69822,
133 3.69822, 3.84468, 3.84468, 3.84468, 4, 4, 4.16493,
134 4.16493, 4.34028, 4.34028, 4.34028, 4.52694, 4.52694, 4.7259,
135 4.7259, 4.93827, 4.93827, 4.93827, 5.16529, 5.16529, 5.40833,
136 5.40833, 5.40833, 5.66893, 5.66893, 5.94884, 5.94884, 6.25,
137 6.25, 6.25, 6.57462, 6.57462, 6.92521, 6.92521, 6.92521,
138 7.3046, 7.3046, 7.71605, 7.71605, 7.71605, 8.16327, 8.16327,
139 8.65052, 8.65052, 8.65052, 9.18274, 9.18274, 9.18274, 9.76562,
140 9.76562, 10.4058, 10.4058, 10.4058, 11.1111, 11.1111, 11.1111,
141 11.8906, 11.8906, 12.7551, 12.7551, 12.7551, 13.7174, 13.7174,
142 13.7174, 14.7929, 14.7929, 14.7929, 16, 16, 16,
143 17.3611, 17.3611, 17.3611, 18.9036, 18.9036, 18.9036, 20.6612,
144 20.6612, 20.6612, 22.6757, 22.6757, 22.6757, 22.6757, 25,
145 25, 25, 27.7008, 27.7008, 27.7008, 27.7008, 30.8642,
146 30.8642, 30.8642, 34.6021, 34.6021, 34.6021, 34.6021, 39.0625,
147 39.0625, 39.0625, 39.0625, 44.4444, 44.4444, 44.4444, 44.4444,
148 51.0204, 51.0204, 51.0204, 51.0204, 59.1716, 59.1716, 59.1716,
149 59.1716, 59.1716, 69.4444, 69.4444, 69.4444, 69.4444, 82.6446,
150 82.6446, 82.6446, 82.6446, 82.6446, 100
187 G4double k = initial_energy - final_energy;
198 Fkt_value = A*std::pow(k,-
b)*theta/(1+c*theta*theta);
230 G4double L = std::log((E*E0-1+p*p0)/(E*E0-1-p*p0));
231 G4double delta0 = E0 - p0*std::cos(theta);
234 G4double sintheta2 = std::sin(theta)*std::sin(theta);
240 G4double delta04 = delta02* delta02;
241 G4double Q = std::sqrt(p02+k2-2*k*p0*std::cos(theta));
243 G4double epsilonQ = std::log((Q+p)/(Q-p));
246 dsdkdt_value = Z2 * (r02/(8*
pi*137)) * (1/k) * (p/p0) *
247 ( (8 * (sintheta2*(2*E02+1))/(p02*delta04)) -
248 ((2*(5*E02+2*E*E0+3))/(p02 * delta02)) -
249 ((2*(p02-k2))/((Q2*delta02))) +
250 ((4*E)/(p02*delta0)) +
252 ((4*E0*sintheta2*(3*k-p02*
E))/(p02*delta04)) +
253 ((4*E02*(E02+E2))/(p02*delta02)) +
254 ((2-2*(7*E02-3*E*E0+E2))/(p02*delta02)) +
255 (2*k*(E02+E*E0-1))/((p02*delta0))
257 ((4*epsilon)/(p*delta0)) +
259 (4/delta02-(6*k/delta0)-(2*k*(p02-k2))/(Q2*delta0))
264 dsdkdt_value = dsdkdt_value*std::sin(theta);
281 G4cout <<
"**** Constructing Majorant Surface for 2BN Distribution ****" <<
G4endl;
290 Ek = std::pow(10.,fraction);
297 for(theta = 0.; theta <
pi; theta = theta +
dtheta){
308 if(Ek <
kmin || thetamax == 0){
312 c = 1/(thetamax*thetamax);
313 A = 2*std::sqrt(c)*dsmax/(std::pow(
kmin,-
b));
327 for(
G4int v = 0; v < vmax; v++){
329 k = std::pow(10.,fraction)*
kmin;
331 for(theta = 0.; theta <
pi; theta = theta +
dtheta){
335 Vds = Vds + ds*dk*dt;
337 Vdf = Vdf + df*dk*dt;
340 if(df != 0.) ratio = df/ds;
343 if(ratio < ratmin && ratio != 0.){
351 Atab[i] = A/ratmin * 1.04;
397 cte2 = 2*c/std::log(1+c*
pi2);
400 t = std::sqrt((std::exp(2*c*y/cte2)-1)/c);
409 if(ds > (A*fk*ft))
G4cout <<
"WARNING IN G4RDGenerator2BN !!!" << Ek <<
" " << (ds-A*fk*ft)/ds <<
G4endl;
411 }
while(u*A*fk*ft > ds);
420 G4cout <<
"Bremsstrahlung Angular Generator is 2BN Generator from 2BN Koch & Motz distribution (Rev Mod Phys 31(4), 920 (1959))" <<
G4endl;
static constexpr double L
static constexpr double MeV
G4RDGenerator2BN(const G4String &name)
G4double Generate2BN(G4double Ek, G4double k) const
void PrintGeneratorInformation() const
void ConstructMajorantSurface()
static G4double Atab[320]
static constexpr double electron_mass_c2
G4double PolarAngle(const G4double initial_energy, const G4double final_energy, const G4int Z)
double A(double temperature)
G4double CalculateFkt(G4double k, G4double theta, G4double A, G4double c) const
static constexpr double eV
static constexpr double rad
static constexpr double pi2
double epsilon(double density, double temperature)
G4GLOB_DLL std::ostream G4cout
static G4double ctab[320]
static constexpr double pi
G4double Calculatedsdkdt(G4double kout, G4double theta, G4double Eel) const