Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4HadronInelasticDataSet Class Reference

#include <G4HadronInelasticDataSet.hh>

+ Inheritance diagram for G4HadronInelasticDataSet:

Public Member Functions

 G4HadronInelasticDataSet (const G4String &name="GheishaInelastic")
 
virtual ~G4HadronInelasticDataSet ()
 
virtual void CrossSectionDescription (std::ostream &) const
 
virtual G4bool IsElementApplicable (const G4DynamicParticle *aParticle, G4int, const G4Material *)
 
virtual G4double GetElementCrossSection (const G4DynamicParticle *aParticle, G4int Z, const G4Material *)
 
- Public Member Functions inherited from G4VCrossSectionDataSet
 G4VCrossSectionDataSet (const G4String &nam="")
 
virtual ~G4VCrossSectionDataSet ()
 
virtual G4bool IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
 
virtual G4bool IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
G4double ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
virtual G4double GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
 
virtual G4double GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
 
virtual const G4IsotopeSelectIsotope (const G4Element *, G4double kinEnergy, G4double logE)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
virtual void CrossSectionDescription (std::ostream &) const
 
virtual G4int GetVerboseLevel () const
 
virtual void SetVerboseLevel (G4int value)
 
G4double GetMinKinEnergy () const
 
void SetMinKinEnergy (G4double value)
 
G4double GetMaxKinEnergy () const
 
void SetMaxKinEnergy (G4double value)
 
bool ForAllAtomsAndEnergies () const
 
void SetForAllAtomsAndEnergies (G4bool val)
 
const G4StringGetName () const
 

Additional Inherited Members

- Protected Member Functions inherited from G4VCrossSectionDataSet
void SetName (const G4String &)
 
- Protected Attributes inherited from G4VCrossSectionDataSet
G4int verboseLevel
 

Detailed Description

Definition at line 44 of file G4HadronInelasticDataSet.hh.

Constructor & Destructor Documentation

◆ G4HadronInelasticDataSet()

G4HadronInelasticDataSet::G4HadronInelasticDataSet ( const G4String name = "GheishaInelastic")

Definition at line 39 of file G4HadronInelasticDataSet.cc.

40 : G4VCrossSectionDataSet(nam), theZ(0),fInelasticXS(0.0),
41 fKinEnergy(0.0),fParticle(nullptr)
42{
43 fGheishaXS = G4HadronCrossSections::Instance();
45}
static G4HadronCrossSections * Instance()
static G4NistManager * Instance()

◆ ~G4HadronInelasticDataSet()

G4HadronInelasticDataSet::~G4HadronInelasticDataSet ( )
virtual

Definition at line 47 of file G4HadronInelasticDataSet.cc.

47{}

Member Function Documentation

◆ CrossSectionDescription()

void G4HadronInelasticDataSet::CrossSectionDescription ( std::ostream &  outFile) const
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 49 of file G4HadronInelasticDataSet.cc.

50{
51 outFile << "G4HadronInelasticDataSet contains inelastic cross sections\n"
52 << "for all long-lived hadrons at all incident energies. It was\n"
53 << "developed as part of the Gheisha hadronic package\n"
54 << "by H. Fesefeldt, and consists of a set of parameterizations\n"
55 << "of inelastic scattering data.\n";
56}

◆ GetElementCrossSection()

G4double G4HadronInelasticDataSet::GetElementCrossSection ( const G4DynamicParticle aParticle,
G4int  Z,
const G4Material  
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 66 of file G4HadronInelasticDataSet.cc.

68{
69 G4double ekin = aParticle->GetKineticEnergy();
70 const G4ParticleDefinition* pd = aParticle->GetDefinition();
71 if(Z != theZ || ekin != fKinEnergy || pd != fParticle) {
72 theZ = Z;
73 fKinEnergy = ekin;
74 fParticle = pd;
75 G4int A = G4lrint(fNIST->GetAtomicMassAmu(Z));
76 fInelasticXS = fGheishaXS->GetInelasticCrossSection(aParticle, Z, A);
77 }
78 return fInelasticXS;
79}
double A(double temperature)
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double GetInelasticCrossSection(const G4DynamicParticle *, G4int, G4int)
G4double GetAtomicMassAmu(const G4String &symb) const
int G4lrint(double ad)
Definition: templates.hh:134

◆ IsElementApplicable()

G4bool G4HadronInelasticDataSet::IsElementApplicable ( const G4DynamicParticle aParticle,
G4int  ,
const G4Material  
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 59 of file G4HadronInelasticDataSet.cc.

61{
62 return true;
63}

The documentation for this class was generated from the following files: