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

#include <G4NucleonNuclearCrossSection.hh>

+ Inheritance diagram for G4NucleonNuclearCrossSection:

Public Member Functions

 G4NucleonNuclearCrossSection ()
 
 ~G4NucleonNuclearCrossSection () override
 
G4bool IsElementApplicable (const G4DynamicParticle *aParticle, G4int Z, const G4Material *mat) final
 
G4double GetElementCrossSection (const G4DynamicParticle *aParticle, G4int Z, const G4Material *mat=nullptr) final
 
void BuildPhysicsTable (const G4ParticleDefinition &) final
 
void CrossSectionDescription (std::ostream &) const final
 
G4double GetElasticCrossSection (const G4DynamicParticle *aParticle, G4int Z)
 
G4double GetTotalXsc ()
 
G4double GetInelasticXsc ()
 
G4double GetElasticXsc ()
 
- 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
 

Static Public Member Functions

static const char * Default_Name ()
 

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 45 of file G4NucleonNuclearCrossSection.hh.

Constructor & Destructor Documentation

◆ G4NucleonNuclearCrossSection()

G4NucleonNuclearCrossSection::G4NucleonNuclearCrossSection ( )
explicit

Definition at line 49 of file G4NucleonNuclearCrossSection.cc.

51 fTotalXsc(0.0), fInelasticXsc(0.0), fElasticXsc(0.0)
52{
53 theNeutron = G4Neutron::Neutron();
54 theProton = G4Proton::Proton();
55 fBarash = new G4ComponentBarNucleonNucleusXsc();
56}
static G4Neutron * Neutron()
Definition: G4Neutron.cc:103
static G4Proton * Proton()
Definition: G4Proton.cc:92

◆ ~G4NucleonNuclearCrossSection()

G4NucleonNuclearCrossSection::~G4NucleonNuclearCrossSection ( )
override

Definition at line 61 of file G4NucleonNuclearCrossSection.cc.

62{}

Member Function Documentation

◆ BuildPhysicsTable()

void G4NucleonNuclearCrossSection::BuildPhysicsTable ( const G4ParticleDefinition part)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 95 of file G4NucleonNuclearCrossSection.cc.

96{
97 fBarash->BuildPhysicsTable(part);
98}
void BuildPhysicsTable(const G4ParticleDefinition &) final

Referenced by G4BGGNucleonElasticXS::BuildPhysicsTable(), and G4BGGNucleonInelasticXS::BuildPhysicsTable().

◆ CrossSectionDescription()

void G4NucleonNuclearCrossSection::CrossSectionDescription ( std::ostream &  outFile) const
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 103 of file G4NucleonNuclearCrossSection.cc.

104{
105 outFile << "G4NucleonNuclearCrossSection is a variant of the Barashenkov\n"
106 << "cross section parameterization to be used of protons and\n"
107 << "nucleons on targets heavier than hydrogen. It is intended for\n"
108 << "use as a cross section component and is currently used by\n"
109 << "G4BGGNucleonInelasticXS. It is valid for incident energies up\n"
110 << "to 1 TeV.\n";
111}

◆ Default_Name()

static const char * G4NucleonNuclearCrossSection::Default_Name ( )
inlinestatic

Definition at line 52 of file G4NucleonNuclearCrossSection.hh.

52{return "BarashenkovNucleonXS";}

◆ GetElasticCrossSection()

G4double G4NucleonNuclearCrossSection::GetElasticCrossSection ( const G4DynamicParticle aParticle,
G4int  Z 
)
inline

Definition at line 88 of file G4NucleonNuclearCrossSection.hh.

90{
91 ComputeCrossSections(dp->GetDefinition(), dp->GetKineticEnergy(), Z);
92 return fElasticXsc;
93}

Referenced by G4BGGNucleonElasticXS::BuildPhysicsTable(), and G4BGGNucleonElasticXS::GetElementCrossSection().

◆ GetElasticXsc()

G4double G4NucleonNuclearCrossSection::GetElasticXsc ( )
inline

Definition at line 69 of file G4NucleonNuclearCrossSection.hh.

69{ return fElasticXsc; };

◆ GetElementCrossSection()

G4double G4NucleonNuclearCrossSection::GetElementCrossSection ( const G4DynamicParticle aParticle,
G4int  Z,
const G4Material mat = nullptr 
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 74 of file G4NucleonNuclearCrossSection.cc.

76{
77 ComputeCrossSections(dp->GetDefinition(), dp->GetKineticEnergy(), Z);
78 return fInelasticXsc;
79}

Referenced by G4BGGNucleonInelasticXS::BuildPhysicsTable(), and G4BGGNucleonInelasticXS::GetElementCrossSection().

◆ GetInelasticXsc()

G4double G4NucleonNuclearCrossSection::GetInelasticXsc ( )
inline

Definition at line 68 of file G4NucleonNuclearCrossSection.hh.

68{ return fInelasticXsc; };

◆ GetTotalXsc()

G4double G4NucleonNuclearCrossSection::GetTotalXsc ( )
inline

Definition at line 67 of file G4NucleonNuclearCrossSection.hh.

67{ return fTotalXsc; };

◆ IsElementApplicable()

G4bool G4NucleonNuclearCrossSection::IsElementApplicable ( const G4DynamicParticle aParticle,
G4int  Z,
const G4Material mat 
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 66 of file G4NucleonNuclearCrossSection.cc.

68{
69 return (Z > 1);
70}

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