Geant4  10.03
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 G4Isotope * SelectIsotope (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 G4String & GetName () 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< G4int > theZ
 
G4DataVector theA
 
G4PhysicsTable * piPlusElastic
 
G4PhysicsTable * piPlusInelastic
 
G4PhysicsTable * piMinusElastic
 
G4PhysicsTable * piMinusInelastic
 
G4double aPower
 
G4double elow
 
G4double elowest
 
G4double APower [93]
 
const G4ParticleDefinition * piPlus
 
const G4ParticleDefinition * piMinus
 
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(), G4Pow::GetInstance(), G4NistManager::Instance(), isInitialized, MeV, NZ, piMinus, piMinusElastic, piMinusInelastic, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), piPlus, piPlusElastic, piPlusInelastic, and G4Pow::powA().

+ 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(), G4NistManager::GetAtomicMassAmu(), G4NistManager::Instance(), isInitialized, 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, 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: