1 #ifndef SimG4Core_CustomPhysics_CMSSIMPInelasticXS_H
2 #define SimG4Core_CustomPhysics_CMSSIMPInelasticXS_H
4 #include "G4VCrossSectionDataSet.hh"
7 class G4NeutronInelasticXS;
17 G4bool
IsIsoApplicable(
const G4DynamicParticle*, G4int Z, G4int
A,
const G4Element*,
const G4Material*)
override;
19 G4double
GetElementCrossSection(
const G4DynamicParticle*, G4int Z,
const G4Material* mat =
nullptr)
override;
26 const G4Material* mat)
override;
34 void Initialise(G4int Z, G4DynamicParticle* dp =
nullptr,
const char* =
nullptr);
void BuildPhysicsTable(const G4ParticleDefinition &) override
const G4ParticleDefinition * neutron
~CMSSIMPInelasticXS() override
CMSSIMPInelasticXS & operator=(const CMSSIMPInelasticXS &right)=delete
G4bool IsIsoApplicable(const G4DynamicParticle *, G4int Z, G4int A, const G4Element *, const G4Material *) override
G4NeutronInelasticXS * nXsection
void Initialise(G4int Z, G4DynamicParticle *dp=nullptr, const char *=nullptr)
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