90 if( pName ==
"nu_mu" || pName ==
"anti_nu_mu" )
106 for ( i = 0; i < theElementVector->size(); ++i )
108 Zi = (*theElementVector)[i]->GetZasInt();
111 const G4Element* elm = (*theElementVector)[i];
119 for (j = 0; j<nIso; ++j)
121 iso = (*isoVector)[j];
126 fact += abundVector[j];
130 if( fact > 0.0) { xsec /= fact; }
144 G4double ccnuXsc, ccanuXsc, ncXsc, totXsc(0.);
168 if( pName ==
"nu_mu")
172 totXsc = ccnuXsc + ncXsc;
175 else if( pName ==
"anti_nu_mu")
179 totXsc = ccanuXsc + ncXsc;
203 for( i = 0; i <
fIndex; i++)
211 if( i >=
fIndex ) eIndex = i;
224 if( index <= 0 || energy < theMuonMinus->GetPDGMass() ) xsc =
fNuMuTotXsc[0];
237 xsc = y1 + (energy-x1)*angle;
251 if( index <= 0 || energy < theMuonPlus->GetPDGMass() ) xsc =
fANuMuTotXsc[0];
264 xsc = y1 + (energy-x1)*angle;
305 0.112103, 0.117359, 0.123119, 0.129443, 0.136404,
306 0.144084, 0.152576, 0.161991, 0.172458, 0.184126,
307 0.197171, 0.211801, 0.228261, 0.24684, 0.267887,
308 0.291816, 0.319125, 0.350417, 0.386422, 0.428032,
309 0.47634, 0.532692, 0.598756, 0.676612, 0.768868,
310 0.878812, 1.01062, 1.16963, 1.36271, 1.59876,
311 1.88943, 2.25002, 2.70086, 3.26916, 3.99166,
312 4.91843, 6.11836, 7.6872, 9.75942, 12.5259,
313 16.2605, 21.3615, 28.4141, 38.2903, 52.3062,
314 72.4763, 101.93, 145.6, 211.39, 312.172};
322 0.0716001, 0.241013, 0.337793, 0.416033, 0.484616,
323 0.546945, 0.604661, 0.658623, 0.709277, 0.756815,
324 0.801263, 0.842519, 0.880396, 0.914642, 0.944968,
325 0.971069, 0.992655, 1.00947, 1.02133, 1.02812,
326 1.02987, 1.02671, 1.01892, 1.00689, 0.991167,
327 0.972618, 0.951518, 0.928806, 0.90521, 0.881404,
328 0.857978, 0.835424, 0.814112, 0.794314, 0.776204,
329 0.759884, 0.745394, 0.732719, 0.721809, 0.712164,
330 0.704299, 0.697804, 0.692491, 0.688137, 0.68448,
331 0.681232, 0.676128, 0.674154, 0.670553, 0.666034 };
341 0.0291812, 0.0979725, 0.136884, 0.16794, 0.194698,
342 0.218468, 0.23992, 0.259241, 0.27665, 0.292251,
343 0.30612, 0.318314, 0.328886, 0.337885, 0.345464,
344 0.351495, 0.356131, 0.359448, 0.361531, 0.362474,
345 0.362382, 0.361365, 0.359538, 0.357024, 0.353943,
346 0.350422, 0.346685, 0.342662, 0.338567, 0.334514,
347 0.330612, 0.326966, 0.323668, 0.320805, 0.318451,
348 0.316671, 0.315514, 0.315013, 0.315187, 0.316036,
349 0.317541, 0.319667, 0.322362, 0.325556, 0.329159,
350 0.332577, 0.337133, 0.341214, 0.345128, 0.347657 };
double A(double temperature)
std::vector< G4Element * > G4ElementVector
std::vector< G4Isotope * > G4IsotopeVector
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
G4double GetANuMuTotCsArray(G4int index)
G4double GetANuMuTotCsXsc(G4int index, G4double energy)
G4MuNeutrinoNucleusTotXsc()
G4double GetNuMuTotCsXsc(G4int index, G4double energy)
virtual G4double GetIsoCrossSection(const G4DynamicParticle *aPart, G4int Z, G4int A, const G4Isotope *, const G4Element *, const G4Material *)
G4int GetEnergyIndex(G4double energy)
static const G4double fANuMuTotXsc[50]
G4ParticleDefinition * theMuonPlus
virtual G4double GetElementCrossSection(const G4DynamicParticle *dynPart, G4int Z, const G4Material *mat)
G4ParticleDefinition * theMuonMinus
static const G4double fNuMuEnergy[50]
G4double GetNuMuTotCsArray(G4int index)
~G4MuNeutrinoNucleusTotXsc()
virtual G4bool IsIsoApplicable(const G4DynamicParticle *, G4int Z, G4int A, const G4Element *, const G4Material *)
static const G4double fNuMuTotXsc[50]
static G4MuonMinus * MuonMinus()
static G4MuonPlus * MuonPlus()
const G4String & GetParticleName() const