55 verboseLevel(0),minKinEnergy(0.0),maxKinEnergy(100*
TeV),
56 isForAllAtomsAndEnergies(false),
name(nam)
108 iso = (*isoVector)[j];
111 fact += abundVector[j];
115 if(fact > 0.0) { xsec /= fact; }
124 G4cout <<
"G4VCrossSectionDataSet::GetCrossSection per element ERROR: "
125 <<
" there is no cross section for "
131 "G4VCrossSectionDataSet::GetElementCrossSection is absent");
141 G4cout <<
"G4VCrossSectionDataSet::GetCrossSection per isotope ERROR: "
142 <<
" there is no cross section for "
149 "G4VCrossSectionDataSet::GetIsoCrossSection is absent");
164 sum += abundVector[j];
182 outFile <<
"The description for this cross section data set has not been written yet.\n";
G4IsotopeVector * GetIsotopeVector() const
G4double ComputeCrossSection(const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
G4double * GetRelativeAbundanceVector() const
G4CrossSectionDataSetRegistry * registry
static constexpr double MeV
const G4String & GetName() const
const G4String & GetParticleName() const
static G4CrossSectionDataSetRegistry * Instance()
const G4String & GetName() const
static constexpr double TeV
virtual const G4Isotope * SelectIsotope(const G4Element *, G4double kinEnergy)
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
G4ParticleDefinition * GetDefinition() const
virtual G4bool IsElementApplicable(const G4DynamicParticle *, G4int Z, const G4Material *mat=0)
std::vector< G4Isotope * > G4IsotopeVector
G4VCrossSectionDataSet(const G4String &nam="")
double A(double temperature)
void DeRegister(G4VCrossSectionDataSet *)
virtual ~G4VCrossSectionDataSet()
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
virtual void DumpPhysicsTable(const G4ParticleDefinition &)
G4double GetKineticEnergy() const
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
void Register(G4VCrossSectionDataSet *)
G4GLOB_DLL std::ostream G4cout
virtual void CrossSectionDescription(std::ostream &) const
const G4Isotope * GetIsotope(G4int iso) const
virtual G4bool IsIsoApplicable(const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=0, const G4Material *mat=0)
size_t GetNumberOfIsotopes() const