50 verboseLevel(0),minKinEnergy(0.0),
52 isForAllAtomsAndEnergies(false),name(nam)
102 for (
size_t j=0; j<nIso; ++j) {
106 fact += abundVector[j];
110 return (fact > 0.0) ? xsec/fact : 0.0;
119 ed <<
"GetElementCrossSection is not implemented in <" << name <<
">\n"
122 if(mat) { ed <<
" material: " << mat->
GetName(); }
123 ed <<
" target Z= " << Z <<
G4endl;
124 G4Exception(
"G4VCrossSectionDataSet::GetElementCrossSection",
"had001",
137 ed <<
"GetIsoCrossSection is not implemented in <" << name <<
">\n"
140 if(mat) { ed <<
" material: " << mat->
GetName(); }
141 if(elm) { ed <<
" element: " << elm->
GetName(); }
142 ed <<
" target Z= " << Z <<
" A= " <<
A <<
G4endl;
143 G4Exception(
"G4VCrossSectionDataSet::GetIsoCrossSection",
"had001",
160 for (
size_t j=0; j<nIso; ++j) {
161 sum += abundVector[j];
179 outFile <<
"The description for this cross section data set has not been written yet.\n";
double A(double temperature)
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
std::vector< G4Isotope * > G4IsotopeVector
void DeRegister(G4VCrossSectionDataSet *)
void Register(G4VCrossSectionDataSet *)
static G4CrossSectionDataSetRegistry * Instance()
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double * GetRelativeAbundanceVector() const
const G4Isotope * GetIsotope(G4int iso) const
size_t GetNumberOfIsotopes() const
const G4String & GetName() const
G4IsotopeVector * GetIsotopeVector() const
const G4String & GetName() const
const G4String & GetParticleName() const
G4VCrossSectionDataSet(const G4String &nam="")
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
virtual ~G4VCrossSectionDataSet()
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
virtual void DumpPhysicsTable(const G4ParticleDefinition &)
G4double ComputeCrossSection(const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
virtual G4bool IsIsoApplicable(const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
virtual void CrossSectionDescription(std::ostream &) const
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
virtual G4bool IsElementApplicable(const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
virtual const G4Isotope * SelectIsotope(const G4Element *, G4double kinEnergy, G4double logE)