4 #include "G4DynamicParticle.hh" 5 #include "G4Element.hh" 6 #include "G4ElementTable.hh" 7 #include "G4PhysicsLogVector.hh" 8 #include "G4PhysicsVector.hh" 9 #include "G4NeutronInelasticXS.hh" 10 #include "G4Proton.hh" 11 #include "G4Neutron.hh" 29 const G4Material* mat) {
30 return nXsection->GetElementCrossSection(aParticle,
Z, mat);
38 const G4Material* mat) {
39 return nXsection->GetIsoCrossSection(aParticle,
Z,
A, iso, elm, mat);
48 G4cout <<
"CMSSIMPInelasticXS::BuildPhysicsTable for " <<
p.GetParticleName() << G4endl;
50 if (
p.GetParticleName() !=
"chi" &&
p.GetParticleName() !=
"anti_chi" &&
p.GetParticleName() !=
"chibar") {
51 G4ExceptionDescription ed;
52 ed <<
p.GetParticleName() <<
" is a wrong particle type -" 53 <<
" only simp is allowed";
54 G4Exception(
"CMSSIMPInelasticXS::BuildPhysicsTable(..)",
"had012", FatalException, ed,
"");
void BuildPhysicsTable(const G4ParticleDefinition &) override
~CMSSIMPInelasticXS() override
G4bool IsIsoApplicable(const G4DynamicParticle *, G4int Z, G4int A, const G4Element *, const G4Material *) override
G4NeutronInelasticXS * nXsection
G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr) override
G4bool IsElementApplicable(const G4DynamicParticle *, G4int Z, const G4Material *) override
G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso, const G4Element *elm, const G4Material *mat) override