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

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

+ Inheritance diagram for G4NeutronElasticXS:
+ Collaboration diagram for G4NeutronElasticXS:

Public Member Functions

 G4NeutronElasticXS ()
 
 ~G4NeutronElasticXS () 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 *) 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
 

Static Public Member Functions

static const char * Default_Name ()
 

Private Member Functions

void Initialise (G4int Z)
 
void InitialiseOnFly (G4int Z)
 
const G4StringFindDirectoryPath ()
 
G4PhysicsVectorGetPhysicsVector (G4int Z)
 
G4NeutronElasticXSoperator= (const G4NeutronElasticXS &right)
 
 G4NeutronElasticXS (const G4NeutronElasticXS &)
 

Private Attributes

G4NistManagernist
 
G4ComponentGGHadronNucleusXscggXsection
 
const G4ParticleDefinitionneutron
 
std::vector< G4doubletemp
 
G4bool isMaster
 

Static Private Attributes

static G4PhysicsVectordata [MAXZEL] = {nullptr}
 
static G4double coeff [MAXZEL] = {0.0}
 
static G4double aeff [MAXZEL] = {1.0}
 
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 59 of file G4NeutronElasticXS.hh.

View newest version in sPHENIX GitHub at line 59 of file G4NeutronElasticXS.hh

Constructor & Destructor Documentation

G4NeutronElasticXS::G4NeutronElasticXS ( )
explicit

Definition at line 69 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 69 of file G4NeutronElasticXS.cc

References G4cout, G4endl, ggXsection, G4NistManager::Instance(), MAXZEL, nist, G4VCrossSectionDataSet::SetForAllAtomsAndEnergies(), temp, and G4VCrossSectionDataSet::verboseLevel.

+ Here is the call graph for this function:

G4NeutronElasticXS::~G4NeutronElasticXS ( )
final

Definition at line 86 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 86 of file G4NeutronElasticXS.cc

References isMaster, and MAXZEL.

G4NeutronElasticXS::G4NeutronElasticXS ( const G4NeutronElasticXS )
private

Member Function Documentation

void G4NeutronElasticXS::BuildPhysicsTable ( const G4ParticleDefinition p)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 248 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 248 of file G4NeutronElasticXS.cc

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

+ Here is the call graph for this function:

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

Reimplemented from G4VCrossSectionDataSet.

Definition at line 96 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 96 of file G4NeutronElasticXS.cc

static const char* G4NeutronElasticXS::Default_Name ( )
inlinestatic

Definition at line 67 of file G4NeutronElasticXS.hh.

View newest version in sPHENIX GitHub at line 67 of file G4NeutronElasticXS.hh

const G4String & G4NeutronElasticXS::FindDirectoryPath ( )
private

Definition at line 299 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 299 of file G4NeutronElasticXS.cc

References FatalException, G4Exception(), and gDataDirectory.

Referenced by Initialise().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Reimplemented from G4VCrossSectionDataSet.

Definition at line 120 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 120 of file G4NeutronElasticXS.cc

References aeff, CLHEP::barn, coeff, G4cout, G4endl, G4ComponentGGHadronNucleusXsc::GetElasticElementCrossSection(), G4DynamicParticle::GetKineticEnergy(), G4DynamicParticle::GetLogKineticEnergy(), GetPhysicsVector(), ggXsection, MAXZEL, CLHEP::MeV, neutron, G4VCrossSectionDataSet::verboseLevel, and Z.

+ Here is the call graph for this function:

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

Reimplemented from G4VCrossSectionDataSet.

Definition at line 150 of file G4NeutronElasticXS.cc.

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

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

+ Here is the call graph for this function:

G4PhysicsVector * G4NeutronElasticXS::GetPhysicsVector ( G4int  Z)
private

Definition at line 293 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 293 of file G4NeutronElasticXS.cc

References InitialiseOnFly(), and Z.

Referenced by GetElementCrossSection(), and IsoCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NeutronElasticXS::Initialise ( G4int  Z)
private

Definition at line 331 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 331 of file G4NeutronElasticXS.cc

References aeff, coeff, FatalException, FindDirectoryPath(), G4cout, G4endl, G4Exception(), G4NistManager::GetAtomicMassAmu(), G4ComponentGGHadronNucleusXsc::GetElasticElementCrossSection(), ggXsection, neutron, nist, G4VCrossSectionDataSet::verboseLevel, and Z.

Referenced by BuildPhysicsTable(), and InitialiseOnFly().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4NeutronElasticXS::InitialiseOnFly ( G4int  Z)
private

Definition at line 318 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 318 of file G4NeutronElasticXS.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 G4NeutronElasticXS::IsElementApplicable ( const G4DynamicParticle ,
G4int  Z,
const G4Material  
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 106 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 106 of file G4NeutronElasticXS.cc

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

Reimplemented from G4VCrossSectionDataSet.

Definition at line 112 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 112 of file G4NeutronElasticXS.cc

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

Definition at line 161 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 161 of file G4NeutronElasticXS.cc

References aeff, CLHEP::barn, coeff, G4cout, G4endl, G4ComponentGGHadronNucleusXsc::GetElasticElementCrossSection(), GetPhysicsVector(), ggXsection, MAXZEL, CLHEP::MeV, neutron, G4VCrossSectionDataSet::verboseLevel, and Z.

Referenced by GetIsoCrossSection(), and SelectIsotope().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4NeutronElasticXS& G4NeutronElasticXS::operator= ( const G4NeutronElasticXS right)
private
const G4Isotope * G4NeutronElasticXS::SelectIsotope ( const G4Element anElement,
G4double  kinEnergy,
G4double  logE 
)
finalvirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 196 of file G4NeutronElasticXS.cc.

View newest version in sPHENIX GitHub at line 196 of file G4NeutronElasticXS.cc

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

+ Here is the call graph for this function:

Member Data Documentation

G4double G4NeutronElasticXS::aeff = {1.0}
staticprivate

Definition at line 113 of file G4NeutronElasticXS.hh.

View newest version in sPHENIX GitHub at line 113 of file G4NeutronElasticXS.hh

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

G4double G4NeutronElasticXS::coeff = {0.0}
staticprivate

Definition at line 112 of file G4NeutronElasticXS.hh.

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

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

G4PhysicsVector * G4NeutronElasticXS::data = {nullptr}
staticprivate

Definition at line 111 of file G4NeutronElasticXS.hh.

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

G4String G4NeutronElasticXS::gDataDirectory = ""
staticprivate

Definition at line 114 of file G4NeutronElasticXS.hh.

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

Referenced by FindDirectoryPath().

G4ComponentGGHadronNucleusXsc* G4NeutronElasticXS::ggXsection
private

Definition at line 106 of file G4NeutronElasticXS.hh.

View newest version in sPHENIX GitHub at line 106 of file G4NeutronElasticXS.hh

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

G4bool G4NeutronElasticXS::isMaster
private

Definition at line 116 of file G4NeutronElasticXS.hh.

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

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

const G4ParticleDefinition* G4NeutronElasticXS::neutron
private

Definition at line 107 of file G4NeutronElasticXS.hh.

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

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

G4NistManager* G4NeutronElasticXS::nist
private

Definition at line 105 of file G4NeutronElasticXS.hh.

View newest version in sPHENIX GitHub at line 105 of file G4NeutronElasticXS.hh

Referenced by G4NeutronElasticXS(), and Initialise().

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

Definition at line 109 of file G4NeutronElasticXS.hh.

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

Referenced by G4NeutronElasticXS(), and SelectIsotope().


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