ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4ParticleInelasticXS Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/cross_sections/include/G4ParticleInelasticXS.hh>

+ Inheritance diagram for G4ParticleInelasticXS:
+ Collaboration diagram for G4ParticleInelasticXS:

Public Member Functions

 G4ParticleInelasticXS (const G4ParticleDefinition *)
 
 ~G4ParticleInelasticXS () final
 
G4bool IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *) final
 
G4bool IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *, const G4Material *) final
 
G4double GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat) final
 
G4double GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso, const G4Element *elm, const G4Material *mat) final
 
const G4IsotopeSelectIsotope (const G4Element *, G4double kinEnergy, G4double logE) final
 
void BuildPhysicsTable (const G4ParticleDefinition &) final
 
void CrossSectionDescription (std::ostream &) const final
 
G4double IsoCrossSection (G4double ekin, G4double logE, G4int Z, G4int A)
 
- Public Member Functions inherited from G4VCrossSectionDataSet
 G4VCrossSectionDataSet (const G4String &nam="")
 
virtual ~G4VCrossSectionDataSet ()
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
G4double ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
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
 

Private Member Functions

void Initialise (G4int Z)
 
void InitialiseOnFly (G4int Z)
 
const G4StringFindDirectoryPath ()
 
const G4PhysicsVectorGetPhysicsVector (G4int Z)
 
G4PhysicsVectorRetrieveVector (std::ostringstream &in, G4bool warn)
 
G4ParticleInelasticXSoperator= (const G4ParticleInelasticXS &right)
 
 G4ParticleInelasticXS (const G4ParticleInelasticXS &)
 

Private Attributes

G4ComponentGGHadronNucleusXscggXsection
 
G4ComponentGGNuclNuclXscnnXsection
 
G4NistManagerfNist
 
const G4ParticleDefinitionparticle
 
const G4ParticleDefinitionproton
 
std::vector< G4doubletemp
 
G4bool isMaster
 

Static Private Attributes

static G4ElementDatadata = nullptr
 
static G4double coeff [MAXZINELP] = {1.0}
 
static G4double aeff [MAXZINELP] = {1.0}
 
static const G4int amin [MAXZINELP]
 
static const G4int amax [MAXZINELP]
 
static G4String gDataDirectory = ""
 

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 61 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 61 of file G4ParticleInelasticXS.hh

Constructor & Destructor Documentation

G4ParticleInelasticXS::G4ParticleInelasticXS ( const G4ParticleDefinition part)
explicit

Definition at line 92 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 92 of file G4ParticleInelasticXS.cc

References FatalException, fNist, G4cout, G4endl, G4Exception(), G4ParticleDefinition::GetParticleName(), ggXsection, G4NistManager::Instance(), MAXZINELP, nnXsection, particle, G4VCrossSectionDataSet::SetForAllAtomsAndEnergies(), temp, and G4VCrossSectionDataSet::verboseLevel.

+ Here is the call graph for this function:

G4ParticleInelasticXS::~G4ParticleInelasticXS ( )
final

Definition at line 121 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 121 of file G4ParticleInelasticXS.cc

References data, and isMaster.

G4ParticleInelasticXS::G4ParticleInelasticXS ( const G4ParticleInelasticXS )
private

Member Function Documentation

void G4ParticleInelasticXS::BuildPhysicsTable ( const G4ParticleDefinition p)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 312 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 312 of file G4ParticleInelasticXS.cc

References FatalException, G4cout, G4endl, G4Exception(), G4MUTEXLOCK, G4MUTEXUNLOCK, G4ParticleDefinition::GetParticleName(), G4ProductionCutsTable::GetProductionCutsTable(), Initialise(), isMaster, mat, max, MAXZINELP, min, particle, G4VCrossSectionDataSet::verboseLevel, and Z.

Referenced by G4IonProtonCrossSection::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Reimplemented from G4VCrossSectionDataSet.

Definition at line 126 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 126 of file G4ParticleInelasticXS.cc

const G4String & G4ParticleInelasticXS::FindDirectoryPath ( )
private

Definition at line 369 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 369 of file G4ParticleInelasticXS.cc

References FatalException, G4Exception(), gDataDirectory, G4ParticleDefinition::GetParticleName(), and particle.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4ParticleInelasticXS::GetElementCrossSection ( const G4DynamicParticle aParticle,
G4int  Z,
const G4Material mat 
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 150 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 150 of file G4ParticleInelasticXS.cc

References aeff, CLHEP::barn, coeff, G4cout, G4endl, G4ComponentGGNuclNuclXsc::GetInelasticElementCrossSection(), G4ComponentGGHadronNucleusXsc::GetInelasticElementCrossSection(), G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetLogKineticEnergy(), G4ParticleDefinition::GetParticleName(), GetPhysicsVector(), ggXsection, MAXZINELP, CLHEP::MeV, nnXsection, particle, G4VCrossSectionDataSet::verboseLevel, and Z.

+ Here is the call graph for this function:

G4double G4ParticleInelasticXS::GetIsoCrossSection ( const G4DynamicParticle aParticle,
G4int  Z,
G4int  A,
const G4Isotope iso,
const G4Element elm,
const G4Material mat 
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 187 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 187 of file G4ParticleInelasticXS.cc

References A(), G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetLogKineticEnergy(), IsoCrossSection(), and Z.

+ Here is the call graph for this function:

const G4PhysicsVector * G4ParticleInelasticXS::GetPhysicsVector ( G4int  Z)
private

Definition at line 359 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 359 of file G4ParticleInelasticXS.cc

References InitialiseOnFly().

Referenced by GetElementCrossSection(), and IsoCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ParticleInelasticXS::Initialise ( G4int  Z)
private

Definition at line 401 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 401 of file G4ParticleInelasticXS.cc

References A(), aeff, amax, amin, coeff, FindDirectoryPath(), fNist, gDataDirectory, G4NistManager::GetAtomicMassAmu(), G4ComponentGGNuclNuclXsc::GetInelasticElementCrossSection(), G4ComponentGGHadronNucleusXsc::GetInelasticElementCrossSection(), G4PhysicsVector::GetMaxEnergy(), G4PhysicsVector::GetVectorLength(), ggXsection, nmax, nnXsection, particle, RetrieveVector(), v, v1, and Z.

Referenced by BuildPhysicsTable(), and InitialiseOnFly().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ParticleInelasticXS::InitialiseOnFly ( G4int  Z)
private

Definition at line 388 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 388 of file G4ParticleInelasticXS.cc

References G4MUTEXLOCK, G4MUTEXUNLOCK, and Initialise().

Referenced by GetPhysicsVector().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4ParticleInelasticXS::IsElementApplicable ( const G4DynamicParticle ,
G4int  Z,
const G4Material  
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 136 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 136 of file G4ParticleInelasticXS.cc

G4bool G4ParticleInelasticXS::IsIsoApplicable ( const G4DynamicParticle ,
G4int  Z,
G4int  A,
const G4Element ,
const G4Material  
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 143 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 143 of file G4ParticleInelasticXS.cc

G4double G4ParticleInelasticXS::IsoCrossSection ( G4double  ekin,
G4double  logE,
G4int  Z,
G4int  A 
)

Definition at line 198 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 198 of file G4ParticleInelasticXS.cc

References aeff, amax, amin, CLHEP::barn, coeff, emax, G4cout, G4endl, G4ComponentGGNuclNuclXsc::GetInelasticElementCrossSection(), G4ComponentGGHadronNucleusXsc::GetInelasticElementCrossSection(), G4ParticleDefinition::GetParticleName(), GetPhysicsVector(), ggXsection, MAXZINELP, CLHEP::MeV, nnXsection, particle, G4VCrossSectionDataSet::verboseLevel, and Z.

Referenced by G4IonProtonCrossSection::GetElementCrossSection(), GetIsoCrossSection(), and SelectIsotope().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ParticleInelasticXS& G4ParticleInelasticXS::operator= ( const G4ParticleInelasticXS right)
private
G4PhysicsVector * G4ParticleInelasticXS::RetrieveVector ( std::ostringstream &  in,
G4bool  warn 
)
private

Definition at line 443 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 443 of file G4ParticleInelasticXS.cc

References FatalException, G4cout, G4endl, G4Exception(), G4PhysicsLogVector::Retrieve(), v, and G4VCrossSectionDataSet::verboseLevel.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const G4Isotope * G4ParticleInelasticXS::SelectIsotope ( const G4Element anElement,
G4double  kinEnergy,
G4double  logE 
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 261 of file G4ParticleInelasticXS.cc.

View newest version in sPHENIX GitHub at line 261 of file G4ParticleInelasticXS.cc

References amin, G4UniformRand, G4Element::GetIsotope(), G4Isotope::GetN(), G4Element::GetNumberOfIsotopes(), G4Element::GetRelativeAbundanceVector(), G4Element::GetZasInt(), IsoCrossSection(), MAXZINELP, G4InuclParticleNames::nn, sum, temp, and Z.

+ Here is the call graph for this function:

Member Data Documentation

G4double G4ParticleInelasticXS::aeff = {1.0}
staticprivate

Definition at line 120 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 120 of file G4ParticleInelasticXS.hh

Referenced by GetElementCrossSection(), Initialise(), and IsoCrossSection().

const G4int G4ParticleInelasticXS::amax
staticprivate
Initial value:
= {
0,
2, 4, 7, 9, 11, 13, 15, 18, 19, 22,
23, 26, 27, 30, 31, 34, 37, 40, 41, 48,
45, 50, 51, 54, 55, 58, 59, 64, 65, 70,
71, 76, 75, 0, 0, 0, 0, 0, 0, 96,
0, 100, 0, 0, 0, 110, 109, 116, 115, 124,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 181, 186, 0, 0, 0, 198, 197, 0,
0, 208, 209, 0, 0, 0, 0, 0, 0, 0,
0, 238}

Definition at line 122 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 122 of file G4ParticleInelasticXS.hh

Referenced by Initialise(), and IsoCrossSection().

const G4int G4ParticleInelasticXS::amin
staticprivate
Initial value:
= {
0,
1, 4, 6, 9, 10, 12, 14, 16, 19, 20,
23, 24, 27, 28, 31, 32, 35, 36, 39, 40,
45, 46, 50, 50, 55, 54, 59, 58, 63, 64,
69, 70, 75, 0, 0, 0, 0, 0, 0, 90,
0, 92, 0, 0, 0, 102, 107, 106, 113, 112,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 181, 180, 0, 0, 0, 192, 197, 0,
0, 204, 209, 0, 0, 0, 0, 0, 0, 0,
0, 235}

Definition at line 121 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 121 of file G4ParticleInelasticXS.hh

Referenced by Initialise(), IsoCrossSection(), and SelectIsotope().

G4double G4ParticleInelasticXS::coeff = {1.0}
staticprivate

Definition at line 119 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 119 of file G4ParticleInelasticXS.hh

Referenced by GetElementCrossSection(), Initialise(), and IsoCrossSection().

G4ElementData * G4ParticleInelasticXS::data = nullptr
staticprivate

Definition at line 118 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 118 of file G4ParticleInelasticXS.hh

Referenced by ~G4ParticleInelasticXS().

G4NistManager* G4ParticleInelasticXS::fNist
private

Definition at line 109 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 109 of file G4ParticleInelasticXS.hh

Referenced by G4ParticleInelasticXS(), and Initialise().

G4String G4ParticleInelasticXS::gDataDirectory = ""
staticprivate

Definition at line 123 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 123 of file G4ParticleInelasticXS.hh

Referenced by FindDirectoryPath(), and Initialise().

G4ComponentGGHadronNucleusXsc* G4ParticleInelasticXS::ggXsection
private

Definition at line 107 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 107 of file G4ParticleInelasticXS.hh

Referenced by G4ParticleInelasticXS(), GetElementCrossSection(), Initialise(), and IsoCrossSection().

G4bool G4ParticleInelasticXS::isMaster
private

Definition at line 116 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 116 of file G4ParticleInelasticXS.hh

Referenced by BuildPhysicsTable(), and ~G4ParticleInelasticXS().

G4ComponentGGNuclNuclXsc* G4ParticleInelasticXS::nnXsection
private

Definition at line 108 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 108 of file G4ParticleInelasticXS.hh

Referenced by G4ParticleInelasticXS(), GetElementCrossSection(), Initialise(), and IsoCrossSection().

const G4ParticleDefinition* G4ParticleInelasticXS::particle
private

Definition at line 111 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 111 of file G4ParticleInelasticXS.hh

Referenced by BuildPhysicsTable(), FindDirectoryPath(), G4ParticleInelasticXS(), GetElementCrossSection(), Initialise(), and IsoCrossSection().

const G4ParticleDefinition* G4ParticleInelasticXS::proton
private

Definition at line 112 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 112 of file G4ParticleInelasticXS.hh

std::vector<G4double> G4ParticleInelasticXS::temp
private

Definition at line 114 of file G4ParticleInelasticXS.hh.

View newest version in sPHENIX GitHub at line 114 of file G4ParticleInelasticXS.hh

Referenced by G4ParticleInelasticXS(), and SelectIsotope().


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