91 if( pName ==
"nu_mu" || pName ==
"anti_nu_mu" )
107 for ( i = 0; i < theElementVector->size(); ++i )
109 Zi = (*theElementVector)[i]->GetZasInt();
112 const G4Element* elm = (*theElementVector)[i];
120 for (j = 0; j<nIso; ++j)
122 iso = (*isoVector)[j];
127 fact += abundVector[j];
131 if( fact > 0.0) { xsec /= fact; }
145 G4double ccnuXsc, ccanuXsc, ncXsc, totXsc(0.);
169 if( pName ==
"nu_mu")
173 totXsc = ccnuXsc + ncXsc;
176 else if( pName ==
"anti_nu_mu")
180 totXsc = ccanuXsc + ncXsc;
204 for( i = 0; i <
fIndex; i++)
212 if( i >=
fIndex ) eIndex = i;
223 G4double xsc(0.), qexsc(0.), inxsc(0.);
243 angle = (z2-z1)/(x2-x1);
246 xsc = inxsc*aa + qexsc;
260 G4double xsc(0.), qexsc(0.), inxsc(0.);
279 angle = (z2-z1)/(x2-x1);
282 xsc = inxsc*aa + qexsc;
325 0.12, 0.141136, 0.165996, 0.195233, 0.229621,
326 0.270066, 0.317634, 0.373581, 0.439382, 0.516773,
327 0.607795, 0.714849, 0.84076, 0.988848, 1.16302,
328 1.36787, 1.6088, 1.89217, 2.22545, 2.61743,
329 3.07845, 3.62068, 4.25841, 5.00847, 5.89065,
330 6.9282, 8.14851, 9.58376, 11.2718, 13.2572,
331 15.5922, 18.3386, 21.5687, 25.3677, 29.8359,
332 35.0911, 41.2719, 48.5413, 57.0912, 67.147,
333 78.974, 92.8842, 109.244, 128.486, 151.117,
334 177.735, 209.04, 245.86, 289.164, 340.097 };
343 0, 0, 0.0166853, 0.0649693, 0.132346,
344 0.209102, 0.286795, 0.3595, 0.423961, 0.479009,
345 0.524797, 0.562165, 0.592225, 0.61612, 0.63491,
346 0.649524, 0.660751, 0.669245, 0.675546, 0.680092,
347 0.683247, 0.685307, 0.686521, 0.687093, 0.687184,
348 0.686919, 0.686384, 0.685631, 0.684689, 0.68357,
349 0.682275, 0.680806, 0.67917, 0.677376, 0.675442,
350 0.673387, 0.671229, 0.668985, 0.666665, 0.664272,
351 0.661804, 0.65925, 0.656593, 0.65381, 0.650871 };
355 0.20787, 0.411055, 0.570762, 0.705379, 0.814702,
356 0.89543, 0.944299, 0.959743, 0.942906, 0.897917,
357 0.831331, 0.750948, 0.66443, 0.578191, 0.496828,
358 0.423071, 0.358103, 0.302016, 0.254241, 0.213889,
359 0.179971, 0.151527, 0.12769, 0.107706, 0.0909373,
360 0.0768491, 0.0649975, 0.0550143, 0.0465948, 0.0394861,
361 0.0334782, 0.0283964, 0.0240945, 0.0204506, 0.0173623,
362 0.0147437, 0.0125223, 0.0106374, 0.00903737, 0.00767892,
363 0.00652531, 0.00554547, 0.0047131, 0.0040059, 0.003405,
364 0.00289436, 0.00246039, 0.00209155, 0.00177804, 0.00151152 };
373 0, 0, 0.00437363, 0.0161485, 0.0333162,
374 0.0557621, 0.0814548, 0.108838, 0.136598, 0.163526,
375 0.188908, 0.212041, 0.232727, 0.250872, 0.26631,
376 0.279467, 0.290341, 0.299177, 0.306299, 0.311864,
377 0.316108, 0.319378, 0.321892, 0.323583, 0.324909,
378 0.325841, 0.326568, 0.327111, 0.327623, 0.32798,
379 0.328412, 0.328704, 0.328988, 0.329326, 0.329559,
380 0.329791, 0.330051, 0.330327, 0.33057, 0.330834,
381 0.331115, 0.331416, 0.331678, 0.33192, 0.332124 };
387 0.0770264, 0.138754, 0.177006, 0.202417, 0.21804,
388 0.225742, 0.227151, 0.223805, 0.21709, 0.208137,
389 0.197763, 0.186496, 0.174651, 0.162429, 0.14999,
390 0.137498, 0.125127, 0.113057, 0.101455, 0.0904642,
391 0.0801914, 0.0707075, 0.0620483, 0.0542192, 0.0472011,
392 0.0409571, 0.0354377, 0.0305862, 0.0263422, 0.0226451,
393 0.0194358, 0.0166585, 0.0142613, 0.0121968, 0.0104221,
394 0.00889912, 0.00759389, 0.00647662, 0.00552119, 0.00470487,
395 0.00400791, 0.00341322, 0.00290607, 0.00247377, 0.0021054,
396 0.00179162, 0.00152441, 0.00129691, 0.00110323, 0.000938345 };
std::vector< const G4Element * > G4ElementVector
std::vector< G4Isotope * > G4IsotopeVector
static constexpr double cm2
static constexpr double GeV
static const G4double angle[DIMMOTT]
G4GLOB_DLL std::ostream G4cout
G4ParticleDefinition * GetDefinition() 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]
G4ParticleDefinition * theMuonPlus
virtual G4double GetElementCrossSection(const G4DynamicParticle *dynPart, G4int Z, const G4Material *mat)
G4ParticleDefinition * theMuonMinus
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]
static G4MuonMinus * MuonMinus()
static G4MuonPlus * MuonPlus()
const G4String & GetParticleName() const
G4double energy(const ThreeVector &p, const G4double m)