42 "======================================================================="
45 "====== Crystal lattice data ========"
48 "======================================================================="
54 if (lattice.compare(0,1,
"(")==0)
57 filename = filename +
"_planes_";
61 else if (lattice.compare(0,1,
"<")==0)
64 filename = filename +
"_axes_";
70 filename = filename + lattice.substr(1,(lattice.length())-2) +
".dat";
75 filename =
"/" + filename;
81 filename = filePath + filename;
95 std::ifstream vfilein;
96 vfilein.open(filename);
98 if(!vfilein.is_open())
100 G4String outputMessage=
"Input file " +
113 fN0.push_back(var/CLHEP::cm3);
120 fU1.push_back(var*CLHEP::cm);
129 vfilein >> fNpointsx;
137 vfilein >> fDx >> fDy;
141 vfilein >> fNpointsx >> fNpointsy;
175 for(
G4int i=0; i<fNpointsx; i++)
178 vfilein >> ai >> bi >> ci >> di;
180 unitIF=CLHEP::eV/CLHEP::cm;
182 ci*unitIF, di*unitIF, i);
185 vfilein >> ai >> bi >> ci >> di;
189 ci*unitIF, di*unitIF, i);
192 vfilein >> ai >> bi >> ci >> di;
194 unitIF=1./CLHEP::cm3;
196 ci*unitIF, di*unitIF, i);
199 vfilein >> ai >> bi >> ci >> di;
203 ci*unitIF, di*unitIF, i);
208 vfilein >> ai >> bi >> ci >> di;
212 ci*unitIF, di*unitIF, i);
219 for(
G4int j=0; j<fNpointsy; j++)
221 for(
G4int i=0; i<fNpointsx+1; i++)
223 for(
G4int k=0; k<2; k++)
226 vfilein >> ai3D >> bi3D >> ci3D;
233 vfilein >> ai3D >> bi3D >> ci3D;
235 unitIF=CLHEP::eV/CLHEP::cm;
236 fElectricFieldX->SetCoefficients2D(ai3D*unitIF, bi3D*unitIF, ci3D*unitIF,
240 vfilein >> ai3D >> bi3D >> ci3D;
242 unitIF=CLHEP::eV/CLHEP::cm;
243 fElectricFieldY->SetCoefficients2D(ai3D*unitIF, bi3D*unitIF, ci3D*unitIF,
247 vfilein >> ai3D >> bi3D >> ci3D;
250 fNucleiDensity[0]->SetCoefficients2D(ai3D*unitIF, bi3D*unitIF, ci3D*unitIF,
254 vfilein >> ai3D >> bi3D >> ci3D;
256 unitIF=1./CLHEP::cm3;
263 vfilein >> ai3D >> bi3D >> ci3D;
279 G4double alphahbarc2=std::pow(CLHEP::fine_structure_const*CLHEP::hbarc ,2.);
280 fK30=2.*CLHEP::pi*alphahbarc2/CLHEP::electron_mass_c2;
284 fRF.push_back((std::pow(9*CLHEP::pi*CLHEP::pi/128/fZ1[i],1/3.))
285 *0.5291772109217*CLHEP::angstrom);
287 fTetamax0.push_back(CLHEP::hbarc/(fR0*std::pow(fAN[i],1./3.)));
289 fPu11.push_back(std::pow(fU1[i]/CLHEP::hbarc,2.));
291 fK20.push_back(alphahbarc2*4*CLHEP::pi*fN0[i]*fZ1[i]*fZ1[i]);
293 fK40.push_back(3.76*std::pow(CLHEP::fine_structure_const*fZ1[i],2.));
295 fKD.push_back(
fK30*fZ1[i]*fN0[i]);