#include <G4BGGPionElasticXS.hh>
|
| G4BGGPionElasticXS (const G4ParticleDefinition *) |
|
virtual | ~G4BGGPionElasticXS () |
|
virtual G4bool | IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *) |
|
virtual G4bool | IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=0, 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 void | BuildPhysicsTable (const G4ParticleDefinition &) |
|
virtual void | CrossSectionDescription (std::ostream &) const |
|
| G4VCrossSectionDataSet (const G4String &nam="") |
|
virtual | ~G4VCrossSectionDataSet () |
|
G4double | GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0) |
|
G4double | ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0) |
|
virtual G4Isotope * | SelectIsotope (const G4Element *, G4double kinEnergy) |
|
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) |
|
const G4String & | GetName () const |
|
Definition at line 64 of file G4BGGPionElasticXS.hh.
G4BGGPionElasticXS::~G4BGGPionElasticXS |
( |
| ) |
|
|
virtual |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 191 of file G4BGGPionElasticXS.cc.
References G4UPiNuclearCrossSection::BuildPhysicsTable(), G4VCrossSectionDataSet::BuildPhysicsTable(), G4cout, G4endl, G4lrint(), G4NistManager::GetAtomicMassAmu(), G4UPiNuclearCrossSection::GetElasticCrossSection(), G4GlauberGribovCrossSection::GetElasticGlauberGribov(), G4HadronNucleonXsc::GetElasticHadronNucleonXsc(), G4ComponentSAIDTotalXS::GetElasticIsotopeCrossSection(), G4HadronNucleonXsc::GetHadronNucleonXscPDG(), G4ParticleDefinition::GetParticleName(), G4NistManager::Instance(), iz, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4DynamicParticle::SetKineticEnergy(), and G4VCrossSectionDataSet::verboseLevel.
196 G4cout <<
"### G4BGGPionElasticXS WARNING: is not applicable to "
200 "G4BGGPionElasticXS::BuildPhysicsTable is used for wrong particle");
225 G4cout <<
"### G4BGGPionElasticXS::Initialise for "
236 theGlauberFac[
iz] = csdn/csup;
238 G4cout <<
"Z= " <<
iz <<
" A= " << A
239 <<
" factor= " << theGlauberFac[
iz] <<
G4endl;
247 dp.SetKineticEnergy(fSAIDHighEnergyLimit);
253 dp.SetKineticEnergy(fLowEnergy);
257 G4cout <<
"Z= " << iz <<
" A= " << A
258 <<
" factor= " << theCoulombFac[
iz] <<
G4endl;
G4double GetElasticHadronNucleonXsc()
G4double GetElasticCrossSection(const G4DynamicParticle *aParticle, G4int Z, G4int A)
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
static G4NistManager * Instance()
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
static G4PionPlus * PionPlus()
static G4PionMinus * PionMinus()
G4double GetAtomicMassAmu(const G4String &symb) const
G4double GetHadronNucleonXscPDG(const G4DynamicParticle *, const G4ParticleDefinition *)
void BuildPhysicsTable(const G4ParticleDefinition &)
G4double GetElasticGlauberGribov(const G4DynamicParticle *, G4int Z, G4int A)
void G4BGGPionElasticXS::CrossSectionDescription |
( |
std::ostream & |
outFile | ) |
const |
|
virtual |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 264 of file G4BGGPionElasticXS.cc.
266 outFile <<
"The Barashenkov-Glauber-Gribov cross section handles elastic\n"
267 <<
"scattering of pions from nuclei at all energies. The\n"
268 <<
"Barashenkov parameterization is used below 91 GeV and the\n"
269 <<
"Glauber-Gribov parameterization is used above 91 GeV.\n";
Reimplemented from G4VCrossSectionDataSet.
Definition at line 113 of file G4BGGPionElasticXS.cc.
References python.hepunit::barn, G4cout, G4endl, G4DynamicParticle::GetDefinition(), G4UPiNuclearCrossSection::GetElasticCrossSection(), G4GlauberGribovCrossSection::GetElasticGlauberGribov(), GetIsoCrossSection(), G4DynamicParticle::GetKineticEnergy(), G4ParticleDefinition::GetParticleName(), and G4VCrossSectionDataSet::verboseLevel.
124 if(Z > 92) { Z = 92; }
126 if(ekin <= fLowEnergy) {
127 cross = theCoulombFac[Z];
128 }
else if(ekin > fGlauberEnergy) {
135 G4cout <<
"G4BGGPionElasticXS::GetElementCrossSection for "
138 <<
" in nucleus Z= " << Z <<
" A= " << theA[Z]
139 <<
" XS(b)= " << cross/
barn
G4double GetElasticCrossSection(const G4DynamicParticle *aParticle, G4int Z, G4int A)
G4double GetKineticEnergy() const
G4ParticleDefinition * GetDefinition() const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
G4double GetElasticGlauberGribov(const G4DynamicParticle *, G4int Z, G4int A)
Reimplemented from G4VCrossSectionDataSet.
Definition at line 146 of file G4BGGPionElasticXS.cc.
References python.hepunit::barn, G4cout, G4endl, G4DynamicParticle::GetDefinition(), G4HadronNucleonXsc::GetElasticHadronNucleonXsc(), G4ComponentSAIDTotalXS::GetElasticIsotopeCrossSection(), G4HadronNucleonXsc::GetHadronNucleonXscPDG(), G4DynamicParticle::GetKineticEnergy(), G4ParticleDefinition::GetParticleName(), and G4VCrossSectionDataSet::verboseLevel.
Referenced by GetElementCrossSection().
157 if(ekin <= fSAIDHighEnergyLimit) {
179 G4cout <<
"G4BGGPionElasticXS::GetIsoCrossSection for "
182 <<
" in nucleus Z= " << Z <<
" A= " << A
183 <<
" XS(b)= " << cross/
barn
G4double GetElasticHadronNucleonXsc()
G4double GetKineticEnergy() const
virtual G4double GetElasticIsotopeCrossSection(const G4ParticleDefinition *, G4double kinEnergy, G4int, G4int)
G4ParticleDefinition * GetDefinition() const
const G4String & GetParticleName() const
G4GLOB_DLL std::ostream G4cout
G4double GetHadronNucleonXscPDG(const G4DynamicParticle *, const G4ParticleDefinition *)
The documentation for this class was generated from the following files: