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