92 if( ( pName ==
"nu_mu" || pName ==
"anti_nu_mu") && tKin >=
fEmc )
108 for ( i = 0; i < theElementVector->size(); ++i )
110 Zi = (*theElementVector)[i]->GetZasInt();
113 const G4Element* elm = (*theElementVector)[i];
121 for (j = 0; j<nIso; ++j)
123 iso = (*isoVector)[j];
128 fact += abundVector[j];
132 if( fact > 0.0) { xsec /= fact; }
146 G4double ccnuXsc, ccanuXsc, ncXsc, totXsc(0.);
170 if( pName ==
"nu_mu" )
174 totXsc = ccnuXsc + ncXsc;
177 else if( pName ==
"anti_nu_mu" )
181 totXsc = ccanuXsc + ncXsc;
205 for( i = 0; i <
fIndex; i++)
213 if( i >=
fIndex ) eIndex = i;
224 G4double xsc(0.), qexsc(0.), inxsc(0.);
244 inxsc = y1 + (energy-x1)*angle;
245 angle = (z2-z1)/(x2-x1);
246 qexsc = z1 + (energy-x1)*angle;
248 xsc = inxsc*aa + qexsc;
262 G4double xsc(0.), qexsc(0.), inxsc(0.);
280 inxsc = y1 + (energy-x1)*angle;
282 angle = (z2-z1)/(x2-x1);
283 qexsc = z1 + (energy-x1)*angle;
285 xsc = inxsc*aa + qexsc;
328 0.12, 0.141136, 0.165996, 0.195233, 0.229621,
329 0.270066, 0.317634, 0.373581, 0.439382, 0.516773,
330 0.607795, 0.714849, 0.84076, 0.988848, 1.16302,
331 1.36787, 1.6088, 1.89217, 2.22545, 2.61743,
332 3.07845, 3.62068, 4.25841, 5.00847, 5.89065,
333 6.9282, 8.14851, 9.58376, 11.2718, 13.2572,
334 15.5922, 18.3386, 21.5687, 25.3677, 29.8359,
335 35.0911, 41.2719, 48.5413, 57.0912, 67.147,
336 78.974, 92.8842, 109.244, 128.486, 151.117,
337 177.735, 209.04, 245.86, 289.164, 340.097 };
346 0, 0, 0.0166853, 0.0649693, 0.132346,
347 0.209102, 0.286795, 0.3595, 0.423961, 0.479009,
348 0.524797, 0.562165, 0.592225, 0.61612, 0.63491,
349 0.649524, 0.660751, 0.669245, 0.675546, 0.680092,
350 0.683247, 0.685307, 0.686521, 0.687093, 0.687184,
351 0.686919, 0.686384, 0.685631, 0.684689, 0.68357,
352 0.682275, 0.680806, 0.67917, 0.677376, 0.675442,
353 0.673387, 0.671229, 0.668985, 0.666665, 0.664272,
354 0.661804, 0.65925, 0.656593, 0.65381, 0.650871 };
358 0.20787, 0.411055, 0.570762, 0.705379, 0.814702,
359 0.89543, 0.944299, 0.959743, 0.942906, 0.897917,
360 0.831331, 0.750948, 0.66443, 0.578191, 0.496828,
361 0.423071, 0.358103, 0.302016, 0.254241, 0.213889,
362 0.179971, 0.151527, 0.12769, 0.107706, 0.0909373,
363 0.0768491, 0.0649975, 0.0550143, 0.0465948, 0.0394861,
364 0.0334782, 0.0283964, 0.0240945, 0.0204506, 0.0173623,
365 0.0147437, 0.0125223, 0.0106374, 0.00903737, 0.00767892,
366 0.00652531, 0.00554547, 0.0047131, 0.0040059, 0.003405,
367 0.00289436, 0.00246039, 0.00209155, 0.00177804, 0.00151152 };
376 0, 0, 0.00437363, 0.0161485, 0.0333162,
377 0.0557621, 0.0814548, 0.108838, 0.136598, 0.163526,
378 0.188908, 0.212041, 0.232727, 0.250872, 0.26631,
379 0.279467, 0.290341, 0.299177, 0.306299, 0.311864,
380 0.316108, 0.319378, 0.321892, 0.323583, 0.324909,
381 0.325841, 0.326568, 0.327111, 0.327623, 0.32798,
382 0.328412, 0.328704, 0.328988, 0.329326, 0.329559,
383 0.329791, 0.330051, 0.330327, 0.33057, 0.330834,
384 0.331115, 0.331416, 0.331678, 0.33192, 0.332124 };
390 0.0770264, 0.138754, 0.177006, 0.202417, 0.21804,
391 0.225742, 0.227151, 0.223805, 0.21709, 0.208137,
392 0.197763, 0.186496, 0.174651, 0.162429, 0.14999,
393 0.137498, 0.125127, 0.113057, 0.101455, 0.0904642,
394 0.0801914, 0.0707075, 0.0620483, 0.0542192, 0.0472011,
395 0.0409571, 0.0354377, 0.0305862, 0.0263422, 0.0226451,
396 0.0194358, 0.0166585, 0.0142613, 0.0121968, 0.0104221,
397 0.00889912, 0.00759389, 0.00647662, 0.00552119, 0.00470487,
398 0.00400791, 0.00341322, 0.00290607, 0.00247377, 0.0021054,
399 0.00179162, 0.00152441, 0.00129691, 0.00110323, 0.000938345 };
std::vector< const G4Element * > G4ElementVector
std::vector< G4Isotope * > G4IsotopeVector
G4GLOB_DLL std::ostream G4cout
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double GetTotalEnergy() const
G4double * GetRelativeAbundanceVector() const
size_t GetNumberOfIsotopes() const
G4IsotopeVector * GetIsotopeVector() const
const G4ElementVector * GetElementVector() const
static const G4double fNuMuInXsc[50]
G4double GetANuMuTotCsArray(G4int index)
G4MuNeutrinoNucleusTotXsc()
G4double GetNuMuTotCsXsc(G4int index, G4double energy, G4int Z, G4int A)
virtual G4double GetIsoCrossSection(const G4DynamicParticle *aPart, G4int Z, G4int A, const G4Isotope *, const G4Element *, const G4Material *)
G4double GetANuMuTotCsXsc(G4int index, G4double energy, G4int Z, G4int A)
G4int GetEnergyIndex(G4double energy)
static const G4double fANuMuQeXsc[50]
virtual G4double GetElementCrossSection(const G4DynamicParticle *dynPart, G4int Z, const G4Material *mat)
static const G4double fNuMuEnergy[50]
static const G4double fANuMuInXsc[50]
G4double GetNuMuTotCsArray(G4int index)
~G4MuNeutrinoNucleusTotXsc()
virtual G4bool IsIsoApplicable(const G4DynamicParticle *, G4int Z, G4int A, const G4Element *, const G4Material *)
static const G4double fNuMuQeXsc[50]
const G4String & GetParticleName() const