Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4RayleighAngularGenerator.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
26//
27// -------------------------------------------------------------------
28//
29// GEANT4 Class file
30//
31// File name: G4RayleighAngularGenerator
32//
33// Author: V. Ivanchenko using design of existing
34// interface
35//
36// Creation date: 31 May 2012
37//
38// Modifications:
39//
40// Class Description: Class are tabulated data according modified formula
41// modified fit formulas from Dermott E. Cullen,
42// Nucl. Instrum. Meth. Phys. Res. B v.101, (4),499-510.
43//
44//
45// Class for Rayleigh scattering generation
46//
47// Class Description: End
48// -------------------------------------------------------------------
49//
50//
51
54#include "G4SystemOfUnits.hh"
55#include "Randomize.hh"
56#include "G4Log.hh"
57#include "G4Exp.hh"
58
59using namespace std;
60
61//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
62
64 : G4VEmAngularDistribution("CullenGenerator")
65{
66 G4double x = cm/(h_Planck*c_light);
67 fFactor = 0.5*x*x;
68}
69
70//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
71
73{}
74
75//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
76
80 const G4Material*)
81{
82 G4double ekin = dp->GetKineticEnergy();
83 G4double xx = fFactor*ekin*ekin;
84
85 G4double n0 = PP6[Z] - 1.0;
86 G4double n1 = PP7[Z] - 1.0;
87 G4double n2 = PP8[Z] - 1.0;
88 G4double b0 = PP3[Z];
89 G4double b1 = PP4[Z];
90 G4double b2 = PP5[Z];
91
92 static const G4double numlim = 0.02;
93 G4double x = 2.*xx*b0;
94 G4double w0 = (x < numlim) ? n0*x*(1.0 - 0.5*(n0 - 1.0)*x*(1.0 - (n0 - 2.0)*x/3.))
95 : 1.0 - G4Exp(-n0*G4Log(1.0 + x));
96
97 x = 2.*xx*b1;
98 G4double w1 = (x < numlim) ? n1*x*(1.0 - 0.5*(n1 - 1.0)*x*(1.0 - (n1 - 2.0)*x/3.))
99 : 1.0 - G4Exp(-n1*G4Log(1.0 + x));
100
101 x = 2.*xx*b2;
102 G4double w2 = (x < numlim) ? n2*x*(1.0 - 0.5*(n2 - 1.0)*x*(1.0 - (n2 - 2.0)*x/3.))
103 : 1.0 - G4Exp(-n2*G4Log(1.0 + x));
104
105 G4double x0= w0*PP0[Z]/(b0*n0);
106 G4double x1= w1*PP1[Z]/(b1*n1);
107 G4double x2= w2*PP2[Z]/(b2*n2);
108
109 G4double cost;
110 do {
111 G4double w = w0;
112 G4double n = n0;
113 G4double b = b0;
114
115 x = G4UniformRand()*(x0 + x1 + x2);
116 if(x > x0) {
117 x -= x0;
118 if(x <= x1 ) {
119 w = w1;
120 n = n1;
121 b = b1;
122 } else {
123 w = w2;
124 n = n2;
125 b = b2;
126 }
127 }
128 n = 1.0/n;
129
130 // sampling of angle
131 G4double y = w*G4UniformRand();
132 if(y < numlim) { x = y*n*( 1. + 0.5*(n + 1.)*y*(1. - (n + 2.)*y/3.)); }
133 else { x = G4Exp(-n*G4Log(1. - y)) - 1.0; }
134 cost = 1.0 - x/(b*xx);
135 } while (2*G4UniformRand() > 1.0 + cost*cost || cost < -1.0);
136
137 G4double phi = twopi*G4UniformRand();
138 G4double sint = sqrt((1. - cost)*(1.0 + cost));
139 fLocalDirection.set(sint*cos(phi),sint*sin(phi),cost);
141
142 return fLocalDirection;
143}
144
145//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
146const G4double
147 G4RayleighAngularGenerator::PP0[101] = {0,
148 -2.477067493e-06, 3.308728278e+00, 5.214590000e+00, 1.018853220e+01, 3.668594783e+00, 1.540100708e+01, 3.709326016e+00, 3.694224007e+00, 3.545302543e+00, 3.487912341e+00, // 1-10
149 3.407539119e+00, 3.387258718e+00, 3.230544865e+00, 3.013493175e+00, 2.572039815e+00, 1.792301548e+00, 1.701680300e+00, 1.601363893e+02, 2.968330000e+02, 3.065649816e+02, // 11-20
150 3.731860000e+02, 4.201934230e+02, 4.612920338e+02, 4.861184287e+02, 3.101874240e+02, 3.351026594e+02, 6.367362521e+02, 3.888087526e+02, 7.588301541e+02, 8.158625388e+02, // 21-30
151 4.773566612e+02, 5.084376201e+02, 5.413677298e+02, 5.744903249e+02, 3.743351693e+00, 1.009910000e+01, 6.816358014e+02, 7.187067112e+02, 7.580649444e+02, 4.414330698e+00, // 31-40
152 2.972874756e+00, 2.740289935e+00, 2.507487315e+00, 9.657410000e+02, 1.011090000e+03, 2.130702941e+00, 6.533143308e+00, 1.037000000e+03, 2.288698564e+00, 4.244459075e+00, // 41-50
153 6.127527681e+01, 3.792700000e+00, 4.798110886e+00, 1.312500008e+03, 1.889593891e+00, 2.404540000e+03, 3.352713210e+01, 3.721985093e+01, 1.800704938e+02, 1.752112119e+03, // 51-60
154 1.194981340e+02, 2.167522747e+02, 3.364590000e+03, 6.311743615e+01, 2.506979318e+02, 8.928490874e+01, 2.021000018e+03, 1.288577408e+02, 3.286469325e+03, 1.437863346e+02, // 61-70
155 1.431016078e+02, 1.359161828e+02, 3.670456078e+02, 3.934040000e+02, 3.175509489e+02, 3.262959885e+03, 3.021668154e+03, 3.252098480e+02, 3.477962301e+02, 3.363519614e+02, // 71-80
156 3.340399767e+02, 3.011038509e+03, 3.485497941e+02, 3.657731951e+02, 3.251994160e+03, 3.987097887e+02, 3.891269496e+03, 4.223467334e+02, 4.009941534e+02, 1.380789588e+00, // 81-90
157 2.791527615e+00, 3.755804160e+03, 4.863705847e+02, 5.464276392e+02, 7.089644571e+02, 7.445117785e+02, 2.037086948e+00, 1.065528514e+03, 1.133135197e+00, 3.269427358e+03 // 91-100
158};
159
160const G4double
161 G4RayleighAngularGenerator::PP1[101] = {0,
162 1.000002477e+00, 6.912717221e-01, 3.772400000e+00, 3.673669324e+00, 1.199955472e+01, 3.658311128e+00, 2.130780048e+01, 2.833297837e+01, 3.748184285e+01, 4.656971845e+01, // 1-10
163 5.759246095e+01, 6.861274506e+01, 8.376139862e+01, 9.799999987e+01, 1.104279602e+02, 1.279999999e+02, 1.439999998e+02, 1.620000000e+02, 6.155750000e+01, 9.069690514e+01, // 11-20
164 6.540840000e+01, 6.120116992e+01, 6.540487635e+01, 8.701154587e+01, 3.120000000e+02, 3.380000000e+02, 8.971041364e+01, 3.920000000e+02, 7.927032750e+01, 8.129623999e+01, // 21-30
165 4.800000000e+02, 5.120000000e+02, 5.440000000e+02, 5.780000000e+02, 6.119999952e+02, 6.479930000e+02, 6.839999993e+02, 7.219999975e+02, 7.600000000e+02, 7.999965590e+02, // 31-40
166 8.399999990e+02, 8.819999639e+02, 9.239993520e+02, 9.680000000e+02, 1.012000000e+03, 1.055869297e+03, 1.102904035e+03, 1.150000007e+02, 1.199999994e+03, 1.249999690e+03, // 41-50
167 1.300000000e+03, 1.352000000e+03, 1.400242211e+03, 1.455000001e+02, 1.511110411e+03, 7.298520000e+02, 1.624000000e+03, 1.644780150e+03, 1.739999988e+03, 1.800000000e+03, // 51-60
168 1.859999972e+03, 1.705247726e+03, 6.031510000e+02, 2.047999979e+03, 2.099526330e+03, 2.088715091e+03, 2.240000003e+02, 2.183146437e+03, 2.380000102e+02, 2.449999497e+03, // 61-70
169 2.519999640e+03, 2.591999669e+03, 2.317935577e+03, 2.344600000e+03, 2.811999969e+03, 2.378704485e+03, 2.614304773e+03, 3.041994341e+03, 3.065168794e+03, 3.092144649e+03, // 71-80
170 3.279999955e+03, 3.362000000e+03, 3.443996426e+03, 3.190843165e+03, 3.610058546e+02, 3.299292785e+03, 3.283959104e+03, 3.507767814e+03, 3.729069400e+03, 4.049999721e+03, // 81-90
171 4.139900637e+03, 4.761958553e+02, 3.838629680e+03, 3.871572368e+03, 4.511999370e+03, 3.863489473e+03, 4.703865705e+03, 4.801999723e+03, 4.899867488e+03, 4.999989627e+03 // 91-100
172};
173
174const G4double
175 G4RayleighAngularGenerator::PP2[101] = {0,
176 0.000000000e+00, 0.000000000e+00, 1.300910000e-02, 2.137798478e+00, 9.331850497e+00, 1.694068179e+01, 2.398287351e+01, 3.197279763e+01, 3.997285461e+01, 4.994236921e+01, // 1-10
177 5.999999993e+01, 7.199999622e+01, 8.200805651e+01, 9.498650695e+01, 1.120000000e+02, 1.262076986e+02, 1.432983199e+02, 1.863610653e+00, 2.609270000e+00, 2.738113251e+00, // 11-20
178 2.405300000e+00, 2.605407111e+00, 2.303089878e+00, 2.870025399e+00, 2.812575977e+00, 2.897340596e+00, 2.553334297e+00, 3.191247422e+00, 2.899518400e+00, 2.841221189e+00, // 21-30
179 3.643338776e+00, 3.562379948e+00, 3.632270214e+00, 3.509675162e+00, 6.092566531e+02, 6.379080000e+02, 3.364199322e+00, 3.293291322e+00, 2.935055634e+00, 7.955891103e+02, // 31-40
180 8.380271263e+02, 8.792597462e+02, 9.224931607e+02, 2.258920000e+00, 1.909930000e+00, 1.058000000e+03, 1.099562822e+03, 1.151999999e+03, 1.198711308e+03, 1.245755851e+03, // 41-50
181 1.239724724e+03, 1.348210000e+03, 1.403959678e+03, 1.457999992e+03, 1.511999996e+03, 1.608510000e+00, 1.591472868e+03, 1.681999999e+03, 1.560929519e+03, 4.788788135e+01, // 51-60
182 1.741501894e+03, 1.922000000e+03, 1.259160000e+00, 1.984882585e+03, 1.874775739e+03, 2.178000000e+03, 2.243999981e+03, 2.311995822e+03, 1.236530665e+03, 2.306214168e+03, // 61-70
183 2.377898752e+03, 2.456084148e+03, 2.644018816e+03, 2.738000000e+03, 2.495449082e+03, 1.343356300e+02, 2.930270735e+02, 2.716795811e+03, 2.828034975e+03, 2.971503390e+03, // 71-80
184 2.946960068e+03, 3.509614912e+02, 3.096453780e+03, 3.499383640e+03, 3.611999985e+03, 3.697997426e+03, 3.937713997e+02, 3.813885452e+03, 3.790936446e+03, 4.048619490e+03, // 81-90
185 4.138307836e+03, 4.231999985e+03, 4.323999735e+03, 4.417999993e+03, 3.804036173e+03, 4.607998748e+03, 4.703097208e+03, 3.736471763e+03, 4.899999376e+03, 1.730583016e+03 // 91-100
186};
187
188const G4double
189 G4RayleighAngularGenerator::PP3[101] = {0,
190 1.325913011e-16, 4.871957764e-16, 1.950420000e-15, 3.995936773e-16, 4.732524874e-17, 5.469297930e-16, 2.375713373e-17, 1.810463731e-17, 1.336380641e-17, 1.052686533e-17, // 1-10
191 8.030444002e-18, 6.678303405e-18, 5.358234684e-18, 4.335725896e-18, 3.306051079e-18, 1.819679449e-18, 1.228045928e-18, 2.430163362e-16, 1.869430000e-15, 9.951691390e-16, // 11-20
192 1.805410000e-15, 1.568852030e-15, 1.464264654e-15, 4.939313750e-16, 2.361373681e-16, 2.319629775e-16, 4.429138015e-16, 2.283559073e-16, 3.210934122e-16, 2.876037822e-16, // 21-30
193 2.121922892e-16, 2.064234936e-16, 1.996479886e-16, 1.946742248e-16, 8.778017543e-19, 3.460900000e-18, 1.809840754e-16, 1.783125511e-16, 1.722338339e-16, 9.822789565e-19, // 31-40
194 4.605105770e-19, 3.816125471e-19, 3.017537476e-19, 1.666200000e-16, 1.688410000e-16, 1.839402998e-19, 1.246431543e-18, 9.807308372e-17, 1.932399654e-19, 6.865448303e-19, // 41-50
195 9.418934098e-18, 6.540360000e-19, 6.723352605e-19, 1.147797684e-16, 7.975389174e-20, 1.232720000e-15, 5.621737854e-18, 6.015501574e-18, 1.770592320e-17, 1.646956996e-16, // 51-60
196 1.285032193e-17, 1.897941915e-17, 8.382250000e-16, 8.047052107e-18, 1.953322654e-17, 1.048054550e-17, 1.547617945e-15, 1.315449339e-17, 2.966877317e-16, 1.381146328e-17, // 61-70
197 1.351358940e-17, 1.262062535e-17, 2.238342977e-17, 2.364690000e-17, 1.901461934e-17, 2.019852016e-16, 1.258732966e-16, 1.866062124e-17, 1.933265996e-17, 1.869942002e-17, // 71-80
198 1.842791671e-17, 1.006061314e-16, 1.845331171e-17, 1.903270841e-17, 9.716982760e-17, 2.023698895e-17, 1.689153339e-15, 2.047894466e-17, 1.932138801e-17, 1.971060876e-20, // 81-90
199 1.861376691e-19, 8.994366946e-17, 2.168855529e-17, 2.359136120e-17, 2.975661335e-17, 3.035334920e-17, 1.119247839e-19, 4.012940590e-17, 1.467159462e-20, 9.769616225e-17 // 91-100
200};
201
202const G4double
203 G4RayleighAngularGenerator::PP4[101] = {0,
204 1.105926652e-15, 2.260014406e-16, 1.568360000e-16, 7.604704395e-17, 2.874727277e-16, 3.180531750e-17, 3.632331994e-16, 2.720099679e-16, 1.197719851e-16, 1.079438057e-16, // 1-10
205 2.381852183e-15, 3.734413372e-15, 8.391867563e-17, 4.824902206e-16, 1.501401964e-16, 3.852331215e-16, 3.990595815e-16, 3.293279270e-16, 1.384700000e-17, 3.625981107e-17, // 11-20
206 1.379630000e-17, 9.139141296e-18, 1.872408780e-17, 2.203851185e-17, 2.682848134e-16, 2.769206296e-16, 2.418950951e-17, 2.841108885e-16, 1.400094487e-17, 1.387082935e-17, // 21-30
207 5.210034592e-16, 7.614492538e-16, 8.948178869e-16, 9.788323391e-16, 8.671211693e-16, 8.778680000e-16, 1.077256234e-15, 1.679640775e-15, 1.420854572e-15, 7.623342657e-16, // 31-40
208 6.465293663e-16, 3.854995461e-16, 4.894995857e-16, 2.432900000e-16, 5.828990000e-16, 1.609458606e-16, 2.173584371e-16, 1.795526101e-17, 9.530729189e-16, 2.344176851e-16, // 41-50
209 3.105865310e-16, 4.197600000e-16, 1.326321431e-16, 1.773261410e-17, 1.494954852e-16, 6.910460000e-17, 9.139538226e-16, 1.600844678e-16, 7.627976232e-16, 6.798418289e-16, // 51-60
210 7.097022036e-16, 1.115122840e-16, 4.610210000e-17, 7.337639645e-16, 3.348557496e-16, 1.736562533e-16, 1.915871639e-17, 1.931338908e-16, 1.974415886e-17, 2.054336404e-16, // 61-70
211 2.003109343e-16, 1.934498511e-16, 1.319008056e-15, 9.450540000e-16, 1.087303394e-16, 1.665148262e-15, 1.202328448e-15, 1.128331221e-15, 8.531572269e-16, 7.408838005e-16, // 71-80
212 1.158662950e-15, 1.374180788e-15, 8.566677765e-16, 9.492940536e-17, 1.870350513e-17, 9.491622217e-17, 8.928257029e-17, 9.336061303e-17, 9.334736660e-17, 4.790157134e-16, // 81-90
213 1.305399034e-16, 2.169990868e-17, 8.372799536e-17, 8.658930267e-17, 8.911500996e-16, 8.860103256e-17, 4.406306122e-16, 6.993638266e-16, 1.349886337e-16, 3.034949291e-16 // 91-100
214};
215
216const G4double
217 G4RayleighAngularGenerator::PP5[101] ={0,
218 6.894128600e-17, 2.232031723e-17, 2.477820000e-17, 2.177967522e-15, 1.284829196e-15, 1.823111356e-16, 1.555489343e-16, 1.335924448e-16, 2.114259423e-16, 1.667587557e-16, // 1-10
219 5.490626359e-17, 6.721220587e-17, 2.797861959e-15, 1.006989227e-16, 4.970209967e-16, 2.167639187e-16, 2.319436556e-16, 1.141095767e-18, 1.660590000e-18, 1.909325187e-18, // 11-20
220 1.137340000e-18, 1.172666277e-18, 9.208052526e-19, 1.423664003e-18, 9.502898022e-19, 9.157542056e-19, 1.055368898e-18, 9.370568491e-19, 1.041778157e-18, 9.638088116e-19, // 21-30
221 1.000486545e-18, 8.890635605e-19, 8.866911360e-19, 8.345076503e-19, 1.886536486e-16, 1.813120000e-16, 6.659892285e-19, 6.086335346e-19, 4.868786350e-19, 1.636754844e-16, // 31-40
222 1.673069643e-16, 1.638573610e-16, 1.618391268e-16, 2.686910000e-19, 1.813800000e-19, 2.102345989e-16, 1.318039263e-16, 2.077093130e-16, 1.588911975e-16, 1.515458297e-16, // 41-50
223 1.080904532e-16, 1.490120000e-16, 2.463071192e-16, 5.939133658e-16, 3.046264790e-16, 1.142460000e-19, 1.562245161e-16, 9.001027117e-16, 1.078667444e-16, 7.294347496e-18, // 51-60
224 1.358154769e-16, 8.509795172e-16, 4.722000000e-20, 1.653557513e-16, 9.741638336e-17, 8.121141361e-16, 2.060180430e-16, 1.293242400e-15, 2.817685189e-15, 1.295140057e-15, // 61-70
225 1.325219469e-15, 1.361391001e-15, 1.166226381e-16, 1.078650000e-16, 8.154952090e-16, 1.184682586e-17, 1.781757642e-17, 1.042830884e-16, 9.653409394e-17, 9.620084329e-17, // 71-80
226 9.927188930e-17, 1.933919795e-17, 8.642866554e-17, 1.300494398e-15, 1.573438944e-15, 1.595960704e-15, 1.963662451e-17, 1.824165751e-15, 1.536213562e-15, 1.230473199e-16, // 81-90
227 4.609653396e-16, 1.503608663e-15, 9.130139990e-16, 8.950731342e-16, 8.843355368e-17, 9.314765075e-16, 1.311786759e-16, 9.206849025e-17, 3.169463543e-16, 2.154753688e-15 // 91-100
228};
229
230const G4double
231 G4RayleighAngularGenerator::PP6[101] = {0,
232 5.245179284e+00, 3.941069622e+00, 7.595470000e+00, 1.556100268e+01, 3.958715820e+00, 1.006439332e+01, 3.947506567e+00, 3.911947451e+00, 3.960123395e+00, 3.995405309e+00, // 1-10
233 4.165369684e+00, 4.154784462e+00, 4.243106173e+00, 4.326072224e+00, 4.520737868e+00, 5.804915543e+00, 7.148125826e+00, 1.979899376e+00, 1.619050000e+00, 3.020461557e+00, // 11-20
234 1.570400000e+00, 1.595930653e+00, 1.592295792e+00, 3.539697537e+00, 1.823123604e+00, 1.823008934e+00, 3.108054801e+00, 1.802053625e+00, 3.315832610e+00, 3.438022820e+00, // 21-30
235 1.788357076e+00, 1.779735777e+00, 1.782694477e+00, 1.778454849e+00, 4.288820945e+00, 2.573830000e+00, 1.754405892e+00, 1.749703489e+00, 1.739317589e+00, 3.536923800e+00, // 31-40
236 4.992480078e+00, 5.353762609e+00, 5.983872882e+00, 1.659260000e+00, 1.637810000e+00, 7.594207497e+00, 2.760872072e+00, 2.996427458e+00, 6.765238189e+00, 3.358446915e+00, // 41-50
237 1.895332668e+00, 3.235160000e+00, 3.117412878e+00, 2.561242590e+00, 1.080139229e+01, 1.513050000e+00, 1.944567866e+00, 1.922906186e+00, 1.732857547e+00, 1.666739664e+00, // 51-60
238 1.735584396e+00, 1.700970330e+00, 1.493940000e+00, 1.789491004e+00, 1.668966729e+00, 1.722315051e+00, 1.564155879e+00, 1.679770510e+00, 1.660734791e+00, 1.650941092e+00, // 61-70
239 1.646594633e+00, 1.646361209e+00, 1.596899505e+00, 1.575670000e+00, 1.595800331e+00, 1.598706510e+00, 2.267574396e+00, 1.571022960e+00, 1.556511213e+00, 1.547150547e+00, // 71-80
240 1.539905529e+00, 2.445886590e+00, 1.521666588e+00, 1.514607927e+00, 2.418992922e+00, 1.489341220e+00, 1.445770175e+00, 1.477753418e+00, 1.473313627e+00, 1.034799940e+01, // 81-90
241 2.720221569e+00, 2.423181552e+00, 1.433800031e+00, 1.424989075e+00, 1.398959178e+00, 1.397503726e+00, 2.862849596e+00, 1.377034589e+00, 9.782799214e+00, 1.348300032e+00 // 91-100
242};
243
244const G4double
245 G4RayleighAngularGenerator::PP7[101] ={0,
246 3.999571467e+00, 3.991128282e+00, 3.855930000e+00, 3.954881255e+00, 1.209804865e+01, 3.984648146e+00, 1.159847718e+01, 1.208416029e+01, 7.793410191e+00, 7.050783546e+00, // 1-10
247 1.860829199e+00, 1.805395915e+00, 5.601066041e+00, 1.285317248e+01, 2.982331588e+00, 1.387872806e+01, 1.234603360e+01, 1.341537351e+01, 9.537270000e+00, 4.399859528e+00, // 11-20
248 7.887250000e+00, 1.010638153e+01, 5.125426065e+00, 4.529968522e+00, 1.295225813e+01, 1.125545587e+01, 3.469375224e+00, 9.019427119e+00, 4.422801993e+00, 4.231377923e+00, // 21-30
249 4.487670198e+00, 3.377601937e+00, 3.060634263e+00, 2.916013798e+00, 3.277148894e+00, 3.204930000e+00, 2.941802865e+00, 2.233026370e+00, 2.626492823e+00, 4.442039033e+00, // 31-40
250 4.924387077e+00, 7.722486735e+00, 6.373463850e+00, 1.126070000e+01, 4.865950000e+00, 1.666437783e+00, 1.165792401e+01, 1.832865314e+00, 3.197863589e+00, 1.108841018e+01, // 41-50
251 8.586125523e+00, 6.676730000e+00, 1.759586815e+00, 1.779094293e+00, 1.606067697e+00, 1.716220000e+00, 3.714794374e+00, 1.684962847e+00, 3.694058142e+00, 3.883036642e+00, // 51-60
252 3.616573408e+00, 2.616627730e+00, 1.724970000e+00, 3.214294756e+00, 6.048180604e+00, 1.644134456e+00, 1.645297046e+00, 1.638457907e+00, 1.632603379e+00, 1.628448343e+00, // 61-70
253 1.632630475e+00, 1.635873458e+00, 1.825704957e+00, 2.491660000e+00, 2.578788354e+00, 1.564697536e+00, 1.957756845e+00, 1.753512815e+00, 2.248102578e+00, 2.608650253e+00, // 71-80
254 1.775440582e+00, 1.577663847e+00, 2.371177051e+00, 2.470000483e+00, 1.508411013e+00, 2.464240407e+00, 2.506389292e+00, 2.470932595e+00, 2.409396196e+00, 4.479899308e+00, // 81-90
255 1.455793655e+00, 1.441149845e+00, 2.479382371e+00, 2.453619326e+00, 2.383185233e+00, 2.503014659e+00, 4.272318275e+00, 2.713400801e+00, 1.391715512e+00, 2.623357264e+00 // 91-100
256};
257
258const G4double
259 G4RayleighAngularGenerator::PP8[101] = {0,
260 3.999988492e+00, 3.007894874e+00, 5.946860000e+00, 7.152304101e+00, 6.130363514e+00, 1.208178632e+01, 1.037802325e+01, 9.199988173e+00, 1.172397112e+01, 1.207012659e+01, // 1-10
261 1.115856859e+01, 7.827803195e+00, 2.641126114e+00, 4.312456794e+00, 1.198258924e+01, 2.176176802e+00, 2.039327000e+00, 7.141859323e+00, 5.280700000e+00, 4.469270053e+00, // 11-20
262 5.878090000e+00, 5.532784283e+00, 5.963337902e+00, 4.314887550e+00, 5.841459409e+00, 5.679735328e+00, 4.361061890e+00, 5.202026076e+00, 4.135817334e+00, 4.133917331e+00, // 21-30
263 4.551995537e+00, 4.677756013e+00, 4.528279561e+00, 4.498802330e+00, 1.774563576e+00, 1.862200000e+00, 4.622134764e+00, 4.695173427e+00, 5.128574495e+00, 1.782470135e+00, // 31-40
264 1.727732750e+00, 1.724150271e+00, 1.709518222e+00, 6.334160000e+00, 7.926650000e+00, 1.159184448e+01, 1.895174961e+00, 1.154752444e+01, 1.645989249e+00, 1.687530363e+00, // 41-50
265 2.409664359e+00, 1.654010000e+00, 1.134686144e+01, 4.793719850e+00, 9.632614374e+00, 7.137710000e+00, 1.705278976e+00, 3.589745289e+00, 2.650211489e+00, 1.847594729e+00, // 51-60
266 2.057911711e+00, 2.980049185e+00, 1.086000000e+01, 1.654657393e+00, 2.823690929e+00, 2.581116822e+00, 1.824902805e+00, 1.610400116e+00, 1.584768888e+00, 1.561632819e+00, // 61-70
267 1.536232590e+00, 1.520253937e+00, 2.701107185e+00, 2.786000000e+00, 2.677490471e+00, 1.613510248e+00, 1.574877874e+00, 2.478321094e+00, 2.578973774e+00, 2.530183017e+00, // 71-80
268 2.454130254e+00, 1.522182263e+00, 2.585541261e+00, 1.743698112e+00, 1.507618128e+00, 1.517673206e+00, 1.487198678e+00, 1.482431696e+00, 1.808266084e+00, 1.468787657e+00, // 81-90
269 4.518186694e+00, 1.690796964e+00, 2.458974369e+00, 2.416442577e+00, 2.505591266e+00, 2.315596171e+00, 1.421452131e+00, 2.563262017e+00, 5.323940741e+00, 2.366288037e+00 // 91-100
270};
271//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition: G4Exp.hh:180
G4double G4Log(G4double x)
Definition: G4Log.hh:227
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
const G4int Z[17]
#define G4UniformRand()
Definition: Randomize.hh:52
void set(double x, double y, double z)
Hep3Vector & rotateUz(const Hep3Vector &)
Definition: ThreeVector.cc:33
const G4ThreeVector & GetMomentumDirection() const
G4double GetKineticEnergy() const
G4ThreeVector & SampleDirection(const G4DynamicParticle *dp, G4double out_energy, G4int Z, const G4Material *mat=nullptr) override