Geant4  10.01.p02
G4UPiNuclearCrossSection Class Reference

#include <G4UPiNuclearCrossSection.hh>

+ Inheritance diagram for G4UPiNuclearCrossSection:
+ Collaboration diagram for G4UPiNuclearCrossSection:

Public Member Functions

 G4UPiNuclearCrossSection ()
 
virtual ~G4UPiNuclearCrossSection ()
 
virtual G4bool IsElementApplicable (const G4DynamicParticle *aParticle, G4int Z, const G4Material *)
 
G4double GetElasticCrossSection (const G4DynamicParticle *aParticle, G4int Z, G4int A)
 
G4double GetInelasticCrossSection (const G4DynamicParticle *aParticle, G4int Z, G4int A)
 
void BuildPhysicsTable (const G4ParticleDefinition &)
 
void DumpPhysicsTable (const G4ParticleDefinition &)
 
virtual void CrossSectionDescription (std::ostream &) const
 
- Public Member Functions inherited from G4VCrossSectionDataSet
 G4VCrossSectionDataSet (const G4String &nam="")
 
virtual ~G4VCrossSectionDataSet ()
 
virtual G4bool IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=0, const G4Material *mat=0)
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0)
 
G4double ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0)
 
virtual G4double GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat=0)
 
virtual G4double GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
 
virtual G4IsotopeSelectIsotope (const G4Element *, G4double kinEnergy)
 
virtual G4int GetVerboseLevel () const
 
virtual void SetVerboseLevel (G4int value)
 
G4double GetMinKinEnergy () const
 
void SetMinKinEnergy (G4double value)
 
G4double GetMaxKinEnergy () const
 
void SetMaxKinEnergy (G4double value)
 
const G4StringGetName () const
 

Private Member Functions

void AddDataSet (const G4String &p, const G4double *tot, const G4double *in, const G4double *e, G4int n)
 
G4double Interpolate (G4int Z, G4int A, G4double ekin, G4PhysicsTable *)
 

Private Attributes

G4int NZ
 
std::vector< G4inttheZ
 
G4DataVector theA
 
G4PhysicsTablepiPlusElastic
 
G4PhysicsTablepiPlusInelastic
 
G4PhysicsTablepiMinusElastic
 
G4PhysicsTablepiMinusInelastic
 
G4double aPower
 
G4double elow
 
G4double elowest
 
G4double APower [93]
 
const G4ParticleDefinitionpiPlus
 
const G4ParticleDefinitionpiMinus
 
G4bool isInitialized
 

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 47 of file G4UPiNuclearCrossSection.hh.

Constructor & Destructor Documentation

G4UPiNuclearCrossSection::G4UPiNuclearCrossSection ( )

Definition at line 47 of file G4UPiNuclearCrossSection.cc.

References aPower, APower, elow, elowest, G4NistManager::GetAtomicMassAmu(), G4NistManager::Instance(), isInitialized, MeV, NZ, piMinus, piMinusElastic, piMinusInelastic, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), piPlus, piPlusElastic, and piPlusInelastic.

+ Here is the call graph for this function:

G4UPiNuclearCrossSection::~G4UPiNuclearCrossSection ( )
virtual

Definition at line 65 of file G4UPiNuclearCrossSection.cc.

References G4PhysicsTable::clearAndDestroy(), piMinusElastic, piMinusInelastic, piPlusElastic, and piPlusInelastic.

+ Here is the call graph for this function:

Member Function Documentation

void G4UPiNuclearCrossSection::AddDataSet ( const G4String p,
const G4double tot,
const G4double in,
const G4double e,
G4int  n 
)
private

Definition at line 158 of file G4UPiNuclearCrossSection.cc.

References GeV, G4INCL::Math::max(), millibarn, n, piMinusElastic, piMinusInelastic, piPlusElastic, piPlusInelastic, G4PhysicsTable::push_back(), and G4LPhysicsFreeVector::PutValues().

Referenced by BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4UPiNuclearCrossSection::BuildPhysicsTable ( const G4ParticleDefinition p)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 196 of file G4UPiNuclearCrossSection.cc.

References AddDataSet(), e1, e2, e3, e4, G4NistManager::GetAtomicMassAmu(), G4NistManager::Instance(), isInitialized, iz, n, NZ, piMinus, piMinusElastic, piMinusInelastic, piPlus, piPlusElastic, piPlusInelastic, theA, and theZ.

Referenced by G4BGGPionElasticXS::BuildPhysicsTable(), and G4BGGPionInelasticXS::BuildPhysicsTable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4UPiNuclearCrossSection::CrossSectionDescription ( std::ostream &  outFile) const
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 587 of file G4UPiNuclearCrossSection.cc.

void G4UPiNuclearCrossSection::DumpPhysicsTable ( const G4ParticleDefinition p)
virtual
G4double G4UPiNuclearCrossSection::GetElasticCrossSection ( const G4DynamicParticle aParticle,
G4int  Z,
G4int  A 
)

Definition at line 85 of file G4UPiNuclearCrossSection.cc.

References G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), Interpolate(), piMinus, piMinusElastic, piPlus, and piPlusElastic.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4UPiNuclearCrossSection::GetInelasticCrossSection ( const G4DynamicParticle aParticle,
G4int  Z,
G4int  A 
)

Definition at line 100 of file G4UPiNuclearCrossSection.cc.

References elow, elowest, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), Interpolate(), piMinus, piMinusInelastic, piPlus, and piPlusInelastic.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4UPiNuclearCrossSection::Interpolate ( G4int  Z,
G4int  A,
G4double  ekin,
G4PhysicsTable table 
)
private

Definition at line 128 of file G4UPiNuclearCrossSection.cc.

References APower, iz, NZ, theA, and theZ.

Referenced by GetElasticCrossSection(), and GetInelasticCrossSection().

+ Here is the caller graph for this function:

G4bool G4UPiNuclearCrossSection::IsElementApplicable ( const G4DynamicParticle aParticle,
G4int  Z,
const G4Material  
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 78 of file G4UPiNuclearCrossSection.cc.

Member Data Documentation

G4double G4UPiNuclearCrossSection::aPower
private

Definition at line 87 of file G4UPiNuclearCrossSection.hh.

Referenced by G4UPiNuclearCrossSection().

G4double G4UPiNuclearCrossSection::APower[93]
private

Definition at line 90 of file G4UPiNuclearCrossSection.hh.

Referenced by G4UPiNuclearCrossSection(), and Interpolate().

G4double G4UPiNuclearCrossSection::elow
private
G4double G4UPiNuclearCrossSection::elowest
private
G4bool G4UPiNuclearCrossSection::isInitialized
private

Definition at line 94 of file G4UPiNuclearCrossSection.hh.

Referenced by BuildPhysicsTable(), and G4UPiNuclearCrossSection().

G4int G4UPiNuclearCrossSection::NZ
private
const G4ParticleDefinition* G4UPiNuclearCrossSection::piMinus
private
G4PhysicsTable* G4UPiNuclearCrossSection::piMinusInelastic
private
const G4ParticleDefinition* G4UPiNuclearCrossSection::piPlus
private
G4DataVector G4UPiNuclearCrossSection::theA
private

Definition at line 81 of file G4UPiNuclearCrossSection.hh.

Referenced by BuildPhysicsTable(), and Interpolate().

std::vector<G4int> G4UPiNuclearCrossSection::theZ
private

Definition at line 80 of file G4UPiNuclearCrossSection.hh.

Referenced by BuildPhysicsTable(), and Interpolate().


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