Geant4 11.2.2
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 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 ComputeCrossSectionPerElement (G4double kinEnergy, G4double loge, const G4ParticleDefinition *, const G4Element *, 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 G4double ComputeIsoCrossSection (G4double kinEnergy, G4double loge, const G4ParticleDefinition *, 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 DumpPhysicsTable (const G4ParticleDefinition &)
 
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
 
void SetName (const G4String &nam)
 
G4VCrossSectionDataSetoperator= (const G4VCrossSectionDataSet &right)=delete
 
 G4VCrossSectionDataSet (const G4VCrossSectionDataSet &)=delete
 

Static Public Member Functions

static const char * Default_Name ()
 

Additional Inherited Members

- Protected Attributes inherited from G4VCrossSectionDataSet
G4int verboseLevel
 
G4String name
 

Detailed Description

Definition at line 45 of file G4NucleonNuclearCrossSection.hh.

Constructor & Destructor Documentation

◆ G4NucleonNuclearCrossSection()

G4NucleonNuclearCrossSection::G4NucleonNuclearCrossSection ( )
explicit

Definition at line 44 of file G4NucleonNuclearCrossSection.cc.

46 fTotalXsc(0.0), fInelasticXsc(0.0), fElasticXsc(0.0)
47{
48 theNeutron = G4Neutron::Neutron();
49 theProton = G4Proton::Proton();
50 fBarash = new G4ComponentBarNucleonNucleusXsc();
51}
static G4Neutron * Neutron()
Definition G4Neutron.cc:101
static G4Proton * Proton()
Definition G4Proton.cc:90
G4VCrossSectionDataSet(const G4String &nam="")

◆ ~G4NucleonNuclearCrossSection()

G4NucleonNuclearCrossSection::~G4NucleonNuclearCrossSection ( )
override

Definition at line 56 of file G4NucleonNuclearCrossSection.cc.

57{}

Member Function Documentation

◆ BuildPhysicsTable()

void G4NucleonNuclearCrossSection::BuildPhysicsTable ( const G4ParticleDefinition & part)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 90 of file G4NucleonNuclearCrossSection.cc.

91{
92 fBarash->BuildPhysicsTable(part);
93}
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 98 of file G4NucleonNuclearCrossSection.cc.

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

◆ 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 69 of file G4NucleonNuclearCrossSection.cc.

71{
72 ComputeCrossSections(dp->GetDefinition(), dp->GetKineticEnergy(), Z);
73 return fInelasticXsc;
74}

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 61 of file G4NucleonNuclearCrossSection.cc.

63{
64 return (Z > 1);
65}

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