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

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

+ Inheritance diagram for G4ComponentBarNucleonNucleusXsc:
+ Collaboration diagram for G4ComponentBarNucleonNucleusXsc:

Public Member Functions

 G4ComponentBarNucleonNucleusXsc ()
 
 ~G4ComponentBarNucleonNucleusXsc () override
 
G4double GetTotalIsotopeCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int) final
 
G4double GetTotalElementCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double) final
 
G4double GetInelasticIsotopeCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int) final
 
G4double GetInelasticElementCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double) final
 
G4double GetElasticElementCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4double) final
 
G4double GetElasticIsotopeCrossSection (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z, G4int) final
 
void ComputeCrossSections (const G4ParticleDefinition *aParticle, G4double kinEnergy, G4int Z)
 
void BuildPhysicsTable (const G4ParticleDefinition &) final
 
void Description (std::ostream &) const final
 
G4double GetElementCrossSection (const G4DynamicParticle *aParticle, G4int Z)
 
G4double GetElasticCrossSection (const G4DynamicParticle *aParticle, G4int Z)
 
G4double GetTotalXsc ()
 
G4double GetElasticXsc ()
 
G4double GetInelasticXsc ()
 
- Public Member Functions inherited from G4VComponentCrossSection
 G4VComponentCrossSection (const G4String &nam="")
 
virtual ~G4VComponentCrossSection ()
 
G4double GetTotalElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
G4double GetInelasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
G4double GetElasticElementCrossSection (const G4ParticleDefinition *, G4double kinEnergy, const G4Element *)
 
virtual G4double ComputeQuasiElasticRatio (const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 
G4double GetMinKinEnergy () const
 
void SetMinKinEnergy (G4double value)
 
G4double GetMaxKinEnergy () const
 
void SetMaxKinEnergy (G4double value)
 
const G4StringGetName () const
 

Private Member Functions

G4double Interpolate (G4int Z1, G4int Z2, G4int Z, G4double x1, G4double x2) const
 
void LoadData ()
 

Private Attributes

G4double fTotalXsc
 
G4double fInelasticXsc
 
G4double fElasticXsc
 
const G4ParticleDefinitiontheProton
 
const G4ParticleDefinitiontheNeutron
 
G4bool isMaster
 

Static Private Attributes

static G4double theA [93] = {0.0}
 
static G4double A75 [93] = {0.0}
 
static const G4int NZ = 17
 
static G4int theZ [NZ]
 
static std::vector< G4PiData * > * thePData = nullptr
 
static std::vector< G4PiData * > * theNData = nullptr
 

Detailed Description

Definition at line 49 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 49 of file G4ComponentBarNucleonNucleusXsc.hh

Constructor & Destructor Documentation

G4ComponentBarNucleonNucleusXsc::G4ComponentBarNucleonNucleusXsc ( )
explicit

Definition at line 56 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 56 of file G4ComponentBarNucleonNucleusXsc.cc

References G4Neutron::Neutron(), G4Proton::Proton(), theNeutron, and theProton.

+ Here is the call graph for this function:

G4ComponentBarNucleonNucleusXsc::~G4ComponentBarNucleonNucleusXsc ( )
override

Definition at line 66 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 66 of file G4ComponentBarNucleonNucleusXsc.cc

References isMaster, NZ, theNData, and thePData.

Member Function Documentation

void G4ComponentBarNucleonNucleusXsc::BuildPhysicsTable ( const G4ParticleDefinition )
finalvirtual

Reimplemented from G4VComponentCrossSection.

Definition at line 202 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 202 of file G4ComponentBarNucleonNucleusXsc.cc

References G4MUTEXLOCK, G4MUTEXUNLOCK, isMaster, LoadData(), and theNData.

Referenced by G4NucleonNuclearCrossSection::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ComponentBarNucleonNucleusXsc::ComputeCrossSections ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z 
)

Definition at line 142 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 142 of file G4ComponentBarNucleonNucleusXsc.cc

References fElasticXsc, fInelasticXsc, fTotalXsc, Interpolate(), it, max, min, NZ, theNData, theNeutron, thePData, theZ, x1, x2, Z, Z1, and Z2.

Referenced by G4NucleonNuclearCrossSection::ComputeCrossSections(), GetElasticCrossSection(), GetElasticElementCrossSection(), GetElasticIsotopeCrossSection(), GetElementCrossSection(), GetInelasticElementCrossSection(), GetInelasticIsotopeCrossSection(), GetTotalElementCrossSection(), and GetTotalIsotopeCrossSection().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ComponentBarNucleonNucleusXsc::Description ( std::ostream &  outFile) const
finalvirtual

Reimplemented from G4VComponentCrossSection.

Definition at line 189 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 189 of file G4ComponentBarNucleonNucleusXsc.cc

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

Definition at line 135 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 135 of file G4ComponentBarNucleonNucleusXsc.hh

References ComputeCrossSections(), fElasticXsc, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), and Z.

+ Here is the call graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetElasticElementCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4double   
)
finalvirtual

Implements G4VComponentCrossSection.

Definition at line 122 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 122 of file G4ComponentBarNucleonNucleusXsc.cc

References ComputeCrossSections(), and fElasticXsc.

+ Here is the call graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetElasticIsotopeCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4int   
)
finalvirtual

Implements G4VComponentCrossSection.

Definition at line 132 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 132 of file G4ComponentBarNucleonNucleusXsc.cc

References ComputeCrossSections(), and fElasticXsc.

+ Here is the call graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetElasticXsc ( )
inline

Definition at line 92 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 92 of file G4ComponentBarNucleonNucleusXsc.hh

References fElasticXsc.

Referenced by G4NucleonNuclearCrossSection::ComputeCrossSections().

+ Here is the caller graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetElementCrossSection ( const G4DynamicParticle aParticle,
G4int  Z 
)
inline

Definition at line 127 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 127 of file G4ComponentBarNucleonNucleusXsc.hh

References ComputeCrossSections(), fInelasticXsc, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), and Z.

+ Here is the call graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetInelasticElementCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4double   
)
finalvirtual

Implements G4VComponentCrossSection.

Definition at line 112 of file G4ComponentBarNucleonNucleusXsc.cc.

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

References ComputeCrossSections(), and fInelasticXsc.

+ Here is the call graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetInelasticIsotopeCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4int   
)
finalvirtual

Implements G4VComponentCrossSection.

Definition at line 102 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 102 of file G4ComponentBarNucleonNucleusXsc.cc

References ComputeCrossSections(), and fInelasticXsc.

+ Here is the call graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetInelasticXsc ( )
inline

Definition at line 93 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 93 of file G4ComponentBarNucleonNucleusXsc.hh

References fInelasticXsc.

Referenced by G4NucleonNuclearCrossSection::ComputeCrossSections().

+ Here is the caller graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetTotalElementCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4double   
)
finalvirtual

Implements G4VComponentCrossSection.

Definition at line 92 of file G4ComponentBarNucleonNucleusXsc.cc.

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

References ComputeCrossSections(), and fTotalXsc.

+ Here is the call graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetTotalIsotopeCrossSection ( const G4ParticleDefinition aParticle,
G4double  kinEnergy,
G4int  Z,
G4int   
)
finalvirtual

Implements G4VComponentCrossSection.

Definition at line 82 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 82 of file G4ComponentBarNucleonNucleusXsc.cc

References ComputeCrossSections(), and fTotalXsc.

+ Here is the call graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::GetTotalXsc ( )
inline

Definition at line 91 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 91 of file G4ComponentBarNucleonNucleusXsc.hh

References fTotalXsc.

Referenced by G4NucleonNuclearCrossSection::ComputeCrossSections().

+ Here is the caller graph for this function:

G4double G4ComponentBarNucleonNucleusXsc::Interpolate ( G4int  Z1,
G4int  Z2,
G4int  Z,
G4double  x1,
G4double  x2 
) const
private

Definition at line 174 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 174 of file G4ComponentBarNucleonNucleusXsc.cc

References A75, r1, r2, theA, Z, Z1, and Z2.

Referenced by ComputeCrossSections().

+ Here is the caller graph for this function:

void G4ComponentBarNucleonNucleusXsc::LoadData ( )
private

Definition at line 220 of file G4ComponentBarNucleonNucleusXsc.cc.

View newest version in sPHENIX GitHub at line 220 of file G4ComponentBarNucleonNucleusXsc.cc

References G4Pow::A23(), A75, al_m_in, al_m_t, al_p_in, be_m_in, be_m_t, be_p_in, c_m_in, c_m_t, c_p_in, ca_m_in, ca_m_t, ca_p_in, cd_m_in, cd_m_t, cd_p_in, cu_m_in, cu_m_t, cu_p_in, e1, e2, e3, e4, e5, e6, fe_m_in, fe_m_t, fe_p_in, G4NistManager::GetAtomicMassAmu(), G4Pow::GetInstance(), he_m_in, he_m_t, he_p_in, G4NistManager::Instance(), mo_m_in, mo_m_t, mo_p_in, n_m_in, n_m_t, n_p_in, na_m_in, na_m_t, na_p_in, NZ, o_m_in, o_m_t, o_p_in, pb_m_in, pb_m_t, pb_p_in, si_m_in, si_m_t, si_p_in, sn_m_in, sn_m_t, sn_p_in, theA, theNData, thePData, u_m_in, u_m_t, u_p_in, w_m_in, w_m_t, and w_p_in.

Referenced by BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4ComponentBarNucleonNucleusXsc::A75 = {0.0}
staticprivate

Definition at line 113 of file G4ComponentBarNucleonNucleusXsc.hh.

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

Referenced by Interpolate(), and LoadData().

G4double G4ComponentBarNucleonNucleusXsc::fElasticXsc
private
G4double G4ComponentBarNucleonNucleusXsc::fInelasticXsc
private
G4double G4ComponentBarNucleonNucleusXsc::fTotalXsc
private

Definition at line 102 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 102 of file G4ComponentBarNucleonNucleusXsc.hh

Referenced by ComputeCrossSections(), GetTotalElementCrossSection(), GetTotalIsotopeCrossSection(), and GetTotalXsc().

G4bool G4ComponentBarNucleonNucleusXsc::isMaster
private

Definition at line 110 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 110 of file G4ComponentBarNucleonNucleusXsc.hh

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

const G4int G4ComponentBarNucleonNucleusXsc::NZ = 17
staticprivate

Definition at line 115 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 115 of file G4ComponentBarNucleonNucleusXsc.hh

Referenced by ComputeCrossSections(), LoadData(), and ~G4ComponentBarNucleonNucleusXsc().

G4double G4ComponentBarNucleonNucleusXsc::theA = {0.0}
staticprivate

Definition at line 112 of file G4ComponentBarNucleonNucleusXsc.hh.

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

Referenced by Interpolate(), and LoadData().

std::vector< G4PiData * > * G4ComponentBarNucleonNucleusXsc::theNData = nullptr
staticprivate

Definition at line 118 of file G4ComponentBarNucleonNucleusXsc.hh.

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

Referenced by BuildPhysicsTable(), ComputeCrossSections(), LoadData(), and ~G4ComponentBarNucleonNucleusXsc().

const G4ParticleDefinition* G4ComponentBarNucleonNucleusXsc::theNeutron
private

Definition at line 108 of file G4ComponentBarNucleonNucleusXsc.hh.

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

Referenced by ComputeCrossSections(), and G4ComponentBarNucleonNucleusXsc().

std::vector< G4PiData * > * G4ComponentBarNucleonNucleusXsc::thePData = nullptr
staticprivate

Definition at line 117 of file G4ComponentBarNucleonNucleusXsc.hh.

View newest version in sPHENIX GitHub at line 117 of file G4ComponentBarNucleonNucleusXsc.hh

Referenced by ComputeCrossSections(), LoadData(), and ~G4ComponentBarNucleonNucleusXsc().

const G4ParticleDefinition* G4ComponentBarNucleonNucleusXsc::theProton
private

Definition at line 107 of file G4ComponentBarNucleonNucleusXsc.hh.

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

Referenced by G4ComponentBarNucleonNucleusXsc().

G4int G4ComponentBarNucleonNucleusXsc::theZ
staticprivate
Initial value:
=
{2,4,6,7,8,11,13,14,20,26,29,42,48,50,74,82,92}

Definition at line 116 of file G4ComponentBarNucleonNucleusXsc.hh.

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

Referenced by ComputeCrossSections().


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