#include <G4VCrossSectionDataSet.hh>
Inheritance diagram for G4VCrossSectionDataSet:
Definition at line 71 of file G4VCrossSectionDataSet.hh.
G4VCrossSectionDataSet::G4VCrossSectionDataSet | ( | const G4String & | nam = "" |
) |
Definition at line 54 of file G4VCrossSectionDataSet.cc.
References G4CrossSectionDataSetRegistry::Instance(), and G4CrossSectionDataSetRegistry::Register().
00054 : 00055 verboseLevel(0),minKinEnergy(0.0),maxKinEnergy(100*TeV),name(nam) 00056 { 00057 G4CrossSectionDataSetRegistry::Instance()->Register(this); 00058 }
G4VCrossSectionDataSet::~G4VCrossSectionDataSet | ( | ) | [virtual] |
Definition at line 60 of file G4VCrossSectionDataSet.cc.
References G4CrossSectionDataSetRegistry::DeRegister(), and G4CrossSectionDataSetRegistry::Instance().
00061 { 00062 G4CrossSectionDataSetRegistry::Instance()->DeRegister(this); 00063 }
void G4VCrossSectionDataSet::BuildPhysicsTable | ( | const G4ParticleDefinition & | ) | [virtual] |
Reimplemented in G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS, G4CrossSectionElastic, G4CrossSectionInelastic, G4CrossSectionPairGG, G4GGNuclNuclCrossSection, G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS, G4PiNuclearCrossSection, G4UPiNuclearCrossSection, G4QHadronElasticDataSet, G4QHadronInelasticDataSet, G4LENDCrossSection, G4NeutronHPCaptureData, G4NeutronHPElasticData, G4NeutronHPFissionData, G4NeutronHPInelasticData, G4NeutronHPJENDLHEData, G4NeutronHPorLCaptureData, G4NeutronHPorLEInelasticData, G4NeutronHPorLElasticData, G4NeutronHPorLFissionData, and G4NeutronHPThermalScatteringData.
Definition at line 192 of file G4VCrossSectionDataSet.cc.
Referenced by G4CrossSectionPairGG::BuildPhysicsTable(), G4BGGPionInelasticXS::BuildPhysicsTable(), G4BGGPionElasticXS::BuildPhysicsTable(), G4BGGNucleonInelasticXS::BuildPhysicsTable(), and G4BGGNucleonElasticXS::BuildPhysicsTable().
G4double G4VCrossSectionDataSet::ComputeCrossSection | ( | const G4DynamicParticle * | , | |
const G4Element * | , | |||
const G4Material * | mat = 0 | |||
) |
Definition at line 83 of file G4VCrossSectionDataSet.cc.
References G4lrint(), GetElementCrossSection(), GetIsoCrossSection(), G4NistManager::GetIsotopeAbundance(), G4Element::GetIsotopeVector(), G4Isotope::GetN(), G4NistManager::GetNistFirstIsotopeN(), G4Element::GetNumberOfIsotopes(), G4NistManager::GetNumberOfNistIsotopes(), G4Element::GetRelativeAbundanceVector(), G4Element::GetZ(), G4NistManager::Instance(), IsElementApplicable(), IsIsoApplicable(), and G4InuclParticleNames::nn.
Referenced by GetCrossSection().
00086 { 00087 G4int Z = G4lrint(elm->GetZ()); 00088 00089 if (IsElementApplicable(part, Z, mat)) { 00090 return GetElementCrossSection(part, Z, mat); 00091 } 00092 00093 // isotope-wise cross section making sum over available 00094 // isotope cross sections, which may be incomplete, so 00095 // the result is corrected 00096 G4int nIso = elm->GetNumberOfIsotopes(); 00097 G4double fact = 0.0; 00098 G4double xsec = 0.0; 00099 G4Isotope* iso = 0; 00100 00101 if (0 < nIso) { 00102 00103 // user-defined isotope abundances 00104 G4IsotopeVector* isoVector = elm->GetIsotopeVector(); 00105 G4double* abundVector = elm->GetRelativeAbundanceVector(); 00106 00107 for (G4int j = 0; j<nIso; ++j) { 00108 iso = (*isoVector)[j]; 00109 G4int A = iso->GetN(); 00110 if(abundVector[j] > 0.0 && IsIsoApplicable(part, Z, A, elm, mat)) { 00111 fact += abundVector[j]; 00112 xsec += abundVector[j]*GetIsoCrossSection(part, Z, A, iso, elm, mat); 00113 } 00114 } 00115 00116 } else { 00117 00118 // natural isotope abundances 00119 G4NistManager* nist = G4NistManager::Instance(); 00120 G4int n0 = nist->GetNistFirstIsotopeN(Z); 00121 G4int nn = nist->GetNumberOfNistIsotopes(Z); 00122 for (G4int A = n0; A < n0+nn; ++A) { 00123 G4double abund = nist->GetIsotopeAbundance(Z, A); 00124 if(abund > 0.0 && IsIsoApplicable(part, Z, A, elm, mat)) { 00125 fact += abund; 00126 xsec += abund*GetIsoCrossSection(part, Z, A, iso, elm, mat); 00127 } 00128 } 00129 } 00130 if(fact > 0.0) { xsec /= fact; } 00131 return xsec; 00132 }
void G4VCrossSectionDataSet::CrossSectionDescription | ( | std::ostream & | ) | const [virtual] |
Reimplemented in G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS, G4CrossSectionElastic, G4CrossSectionInelastic, G4CrossSectionPairGG, G4ElectroNuclearCrossSection, G4GGNuclNuclCrossSection, G4GlauberGribovCrossSection, G4HadronCaptureDataSet, G4HadronElasticDataSet, G4HadronFissionDataSet, G4HadronInelasticDataSet, G4IonProtonCrossSection, G4IonsKoxCrossSection, G4IonsShenCrossSection, G4IonsSihverCrossSection, G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticCrossSection, G4NeutronInelasticXS, G4NucleonNuclearCrossSection, G4PhotoNuclearCrossSection, G4PiNuclearCrossSection, and G4UPiNuclearCrossSection.
Definition at line 198 of file G4VCrossSectionDataSet.cc.
00199 { 00200 outFile << "The description for this cross section data set has not been written yet.\n"; 00201 }
void G4VCrossSectionDataSet::DumpPhysicsTable | ( | const G4ParticleDefinition & | ) | [virtual] |
Reimplemented in G4CrossSectionElastic, G4CrossSectionInelastic, G4CrossSectionPairGG, G4GGNuclNuclCrossSection, G4UPiNuclearCrossSection, G4QHadronElasticDataSet, G4QHadronInelasticDataSet, G4LENDCrossSection, G4NeutronHPCaptureData, G4NeutronHPElasticData, G4NeutronHPFissionData, G4NeutronHPInelasticData, G4NeutronHPJENDLHEData, G4NeutronHPorLCaptureData, G4NeutronHPorLEInelasticData, G4NeutronHPorLElasticData, G4NeutronHPorLFissionData, and G4NeutronHPThermalScatteringData.
Definition at line 195 of file G4VCrossSectionDataSet.cc.
G4double G4VCrossSectionDataSet::GetCrossSection | ( | const G4DynamicParticle * | , | |
const G4Element * | , | |||
const G4Material * | mat = 0 | |||
) | [inline] |
Reimplemented in G4NeutronHPThermalScatteringData.
Definition at line 179 of file G4VCrossSectionDataSet.hh.
References ComputeCrossSection().
Referenced by G4ElectroNuclearReaction::ApplyYourself().
00182 { 00183 return ComputeCrossSection(dp, elm, mat); 00184 }
G4double G4VCrossSectionDataSet::GetElementCrossSection | ( | const G4DynamicParticle * | , | |
G4int | Z, | |||
const G4Material * | mat = 0 | |||
) | [virtual] |
Reimplemented in G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS, G4CrossSectionElastic, G4CrossSectionInelastic, G4CrossSectionPairGG, G4EMDissociationCrossSection, G4GeneralSpaceNNCrossSection, G4GGNuclNuclCrossSection, G4HadronCaptureDataSet, G4HadronElasticDataSet, G4HadronFissionDataSet, G4HadronInelasticDataSet, G4IonProtonCrossSection, G4IonsKoxCrossSection, G4IonsShenCrossSection, G4IonsSihverCrossSection, G4KokoulinMuonNuclearXS, G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticCrossSection, G4NeutronInelasticXS, G4NucleonNuclearCrossSection, G4PiNuclearCrossSection, G4ProtonInelasticCrossSection, G4TripathiCrossSection, and G4TripathiLightCrossSection.
Definition at line 135 of file G4VCrossSectionDataSet.cc.
References G4cout, G4endl, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4Material::GetName(), and G4ParticleDefinition::GetParticleName().
Referenced by G4CrossSectionPairGG::BuildPhysicsTable(), ComputeCrossSection(), and G4CrossSectionPairGG::GetElementCrossSection().
00138 { 00139 G4cout << "G4VCrossSectionDataSet::GetCrossSection per element ERROR: " 00140 << " there is no cross section for " 00141 << dynPart->GetDefinition()->GetParticleName() 00142 << " E(MeV)= " << dynPart->GetKineticEnergy()/MeV; 00143 if(mat) { G4cout << " inside " << mat->GetName(); } 00144 G4cout << " for Z= " << Z << G4endl; 00145 throw G4HadronicException(__FILE__, __LINE__, 00146 "G4VCrossSectionDataSet::GetElementCrossSection is absent"); 00147 return 0.0; 00148 }
G4double G4VCrossSectionDataSet::GetIsoCrossSection | ( | const G4DynamicParticle * | , | |
G4int | Z, | |||
G4int | A, | |||
const G4Isotope * | iso = 0 , |
|||
const G4Element * | elm = 0 , |
|||
const G4Material * | mat = 0 | |||
) | [virtual] |
Reimplemented in G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS, G4ChipsAntiBaryonElasticXS, G4ChipsAntiBaryonInelasticXS, G4ChipsHyperonElasticXS, G4ChipsHyperonInelasticXS, G4ChipsKaonMinusElasticXS, G4ChipsKaonMinusInelasticXS, G4ChipsKaonPlusElasticXS, G4ChipsKaonPlusInelasticXS, G4ChipsKaonZeroElasticXS, G4ChipsKaonZeroInelasticXS, G4ChipsNeutronElasticXS, G4ChipsNeutronInelasticXS, G4ChipsPionMinusElasticXS, G4ChipsPionMinusInelasticXS, G4ChipsPionPlusElasticXS, G4ChipsPionPlusInelasticXS, G4ChipsProtonElasticXS, G4ChipsProtonInelasticXS, G4ElectroNuclearCrossSection, G4GlauberGribovCrossSection, G4IonsShenCrossSection, G4NeutronCaptureXS, G4PhotoNuclearCrossSection, G4QHadronElasticDataSet, G4QHadronInelasticDataSet, G4CHIPSElasticXS, G4LENDCrossSection, G4NeutronHPCaptureData, G4NeutronHPElasticData, G4NeutronHPFissionData, G4NeutronHPInelasticData, G4NeutronHPorLCaptureData, G4NeutronHPorLEInelasticData, G4NeutronHPorLElasticData, G4NeutronHPorLFissionData, and G4NeutronHPThermalScatteringData.
Definition at line 151 of file G4VCrossSectionDataSet.cc.
References G4cout, G4endl, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4Element::GetName(), G4Material::GetName(), and G4ParticleDefinition::GetParticleName().
Referenced by ComputeCrossSection().
00156 { 00157 G4cout << "G4VCrossSectionDataSet::GetCrossSection per isotope ERROR: " 00158 << " there is no cross section for " 00159 << dynPart->GetDefinition()->GetParticleName() 00160 << " E(MeV)= " << dynPart->GetKineticEnergy()/MeV; 00161 if(mat) { G4cout << " inside " << mat->GetName(); } 00162 if(elm) { G4cout << " for " << elm->GetName(); } 00163 G4cout << " Z= " << Z << " A= " << A << G4endl; 00164 throw G4HadronicException(__FILE__, __LINE__, 00165 "G4VCrossSectionDataSet::GetIsoCrossSection is absent"); 00166 return 0.0; 00167 }
G4double G4VCrossSectionDataSet::GetMaxKinEnergy | ( | ) | const [inline] |
Definition at line 206 of file G4VCrossSectionDataSet.hh.
Referenced by G4CrossSectionInelastic::IsElementApplicable(), G4CrossSectionElastic::IsElementApplicable(), G4NeutronHPorLFissionData::IsIsoApplicable(), G4NeutronHPorLElasticData::IsIsoApplicable(), G4NeutronHPorLEInelasticData::IsIsoApplicable(), G4NeutronHPorLCaptureData::IsIsoApplicable(), G4NeutronHPInelasticData::IsIsoApplicable(), G4NeutronHPFissionData::IsIsoApplicable(), G4NeutronHPElasticData::IsIsoApplicable(), G4NeutronHPCaptureData::IsIsoApplicable(), and G4LENDCrossSection::IsIsoApplicable().
G4double G4VCrossSectionDataSet::GetMinKinEnergy | ( | ) | const [inline] |
Definition at line 196 of file G4VCrossSectionDataSet.hh.
Referenced by G4CrossSectionInelastic::IsElementApplicable(), G4CrossSectionElastic::IsElementApplicable(), G4NeutronHPorLFissionData::IsIsoApplicable(), G4NeutronHPorLElasticData::IsIsoApplicable(), G4NeutronHPorLEInelasticData::IsIsoApplicable(), G4NeutronHPorLCaptureData::IsIsoApplicable(), G4NeutronHPInelasticData::IsIsoApplicable(), G4NeutronHPFissionData::IsIsoApplicable(), G4NeutronHPElasticData::IsIsoApplicable(), G4NeutronHPCaptureData::IsIsoApplicable(), and G4LENDCrossSection::IsIsoApplicable().
const G4String & G4VCrossSectionDataSet::GetName | ( | ) | const [inline] |
Definition at line 211 of file G4VCrossSectionDataSet.hh.
Referenced by G4CrossSectionPairGG::BuildPhysicsTable(), G4LENDCrossSection::create_used_target_map(), G4QHadronInelasticDataSet::Description(), G4QHadronElasticDataSet::Description(), G4CHIPSElasticXS::Description(), G4NeutronHPInelasticData::DumpPhysicsTable(), G4NeutronHPFissionData::DumpPhysicsTable(), G4NeutronHPElasticData::DumpPhysicsTable(), G4NeutronHPCaptureData::DumpPhysicsTable(), G4LENDCrossSection::DumpPhysicsTable(), and G4CrossSectionPairGG::DumpPhysicsTable().
G4bool G4VCrossSectionDataSet::IsElementApplicable | ( | const G4DynamicParticle * | , | |
G4int | Z, | |||
const G4Material * | mat = 0 | |||
) | [virtual] |
Reimplemented in G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS, G4CrossSectionElastic, G4CrossSectionInelastic, G4CrossSectionPairGG, G4EMDissociationCrossSection, G4GeneralSpaceNNCrossSection, G4GGNuclNuclCrossSection, G4HadronCaptureDataSet, G4HadronElasticDataSet, G4HadronFissionDataSet, G4HadronInelasticDataSet, G4IonProtonCrossSection, G4IonsKoxCrossSection, G4IonsShenCrossSection, G4IonsSihverCrossSection, G4KokoulinMuonNuclearXS, G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticCrossSection, G4NeutronInelasticXS, G4NucleonNuclearCrossSection, G4PiNuclearCrossSection, G4ProtonInelasticCrossSection, G4TripathiCrossSection, G4TripathiLightCrossSection, G4UPiNuclearCrossSection, and G4NeutronHPBGGNucleonInelasticXS.
Definition at line 66 of file G4VCrossSectionDataSet.cc.
Referenced by G4CrossSectionPairGG::BuildPhysicsTable(), ComputeCrossSection(), and G4CrossSectionPairGG::IsElementApplicable().
G4bool G4VCrossSectionDataSet::IsIsoApplicable | ( | const G4DynamicParticle * | , | |
G4int | Z, | |||
G4int | A, | |||
const G4Element * | elm = 0 , |
|||
const G4Material * | mat = 0 | |||
) | [virtual] |
Reimplemented in G4BGGNucleonElasticXS, G4BGGNucleonInelasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS, G4ChipsAntiBaryonElasticXS, G4ChipsAntiBaryonInelasticXS, G4ChipsHyperonElasticXS, G4ChipsHyperonInelasticXS, G4ChipsKaonMinusElasticXS, G4ChipsKaonMinusInelasticXS, G4ChipsKaonPlusElasticXS, G4ChipsKaonPlusInelasticXS, G4ChipsKaonZeroElasticXS, G4ChipsKaonZeroInelasticXS, G4ChipsNeutronElasticXS, G4ChipsNeutronInelasticXS, G4ChipsPionMinusElasticXS, G4ChipsPionMinusInelasticXS, G4ChipsPionPlusElasticXS, G4ChipsPionPlusInelasticXS, G4ChipsProtonElasticXS, G4ChipsProtonInelasticXS, G4ElectroNuclearCrossSection, G4GlauberGribovCrossSection, G4NeutronCaptureXS, G4NeutronInelasticXS, G4PhotoNuclearCrossSection, G4QHadronElasticDataSet, G4QHadronInelasticDataSet, G4CHIPSElasticXS, G4LENDCrossSection, G4NeutronHPBGGNucleonInelasticXS, G4NeutronHPCaptureData, G4NeutronHPElasticData, G4NeutronHPFissionData, G4NeutronHPInelasticData, G4NeutronHPorLCaptureData, G4NeutronHPorLEInelasticData, G4NeutronHPorLElasticData, G4NeutronHPorLFissionData, and G4NeutronHPThermalScatteringData.
Definition at line 74 of file G4VCrossSectionDataSet.cc.
Referenced by ComputeCrossSection().
G4Isotope * G4VCrossSectionDataSet::SelectIsotope | ( | const G4Element * | , | |
G4double | kinEnergy | |||
) | [virtual] |
Reimplemented in G4NeutronCaptureXS.
Definition at line 170 of file G4VCrossSectionDataSet.cc.
References G4UniformRand, G4Element::GetIsotopeVector(), G4Element::GetNumberOfIsotopes(), and G4Element::GetRelativeAbundanceVector().
00171 { 00172 G4int nIso = anElement->GetNumberOfIsotopes(); 00173 G4IsotopeVector* isoVector = anElement->GetIsotopeVector(); 00174 G4Isotope* iso = (*isoVector)[0]; 00175 00176 // more than 1 isotope 00177 if(1 < nIso) { 00178 G4double* abundVector = anElement->GetRelativeAbundanceVector(); 00179 G4double sum = 0.0; 00180 G4double q = G4UniformRand(); 00181 for (G4int j = 0; j<nIso; ++j) { 00182 sum += abundVector[j]; 00183 if(q <= sum) { 00184 iso = (*isoVector)[j]; 00185 break; 00186 } 00187 } 00188 } 00189 return iso; 00190 }
void G4VCrossSectionDataSet::SetMaxKinEnergy | ( | G4double | value | ) | [inline] |
Definition at line 201 of file G4VCrossSectionDataSet.hh.
Referenced by G4BGGPionElasticXS::G4BGGPionElasticXS(), G4BGGPionInelasticXS::G4BGGPionInelasticXS(), G4CrossSectionElastic::G4CrossSectionElastic(), G4CrossSectionInelastic::G4CrossSectionInelastic(), G4LENDCrossSection::G4LENDCrossSection(), G4NeutronHPCaptureData::G4NeutronHPCaptureData(), G4NeutronHPElasticData::G4NeutronHPElasticData(), G4NeutronHPFissionData::G4NeutronHPFissionData(), G4NeutronHPInelasticData::G4NeutronHPInelasticData(), G4NeutronHPorLCaptureData::G4NeutronHPorLCaptureData(), G4NeutronHPorLEInelasticData::G4NeutronHPorLEInelasticData(), G4NeutronHPorLElasticData::G4NeutronHPorLElasticData(), G4NeutronHPorLFissionData::G4NeutronHPorLFissionData(), G4NeutronHPThermalScatteringData::G4NeutronHPThermalScatteringData(), and G4PiNuclearCrossSection::G4PiNuclearCrossSection().
void G4VCrossSectionDataSet::SetMinKinEnergy | ( | G4double | value | ) | [inline] |
Definition at line 191 of file G4VCrossSectionDataSet.hh.
Referenced by G4BGGPionElasticXS::G4BGGPionElasticXS(), G4BGGPionInelasticXS::G4BGGPionInelasticXS(), G4CrossSectionElastic::G4CrossSectionElastic(), G4CrossSectionInelastic::G4CrossSectionInelastic(), G4LENDCrossSection::G4LENDCrossSection(), G4NeutronHPCaptureData::G4NeutronHPCaptureData(), G4NeutronHPElasticData::G4NeutronHPElasticData(), G4NeutronHPFissionData::G4NeutronHPFissionData(), G4NeutronHPInelasticData::G4NeutronHPInelasticData(), G4NeutronHPorLCaptureData::G4NeutronHPorLCaptureData(), G4NeutronHPorLEInelasticData::G4NeutronHPorLEInelasticData(), G4NeutronHPorLElasticData::G4NeutronHPorLElasticData(), G4NeutronHPorLFissionData::G4NeutronHPorLFissionData(), G4NeutronHPThermalScatteringData::G4NeutronHPThermalScatteringData(), and G4PiNuclearCrossSection::G4PiNuclearCrossSection().
void G4VCrossSectionDataSet::SetName | ( | const G4String & | ) | [inline, protected] |
void G4VCrossSectionDataSet::SetVerboseLevel | ( | G4int | value | ) | [inline] |
Definition at line 186 of file G4VCrossSectionDataSet.hh.
References verboseLevel.
00187 { 00188 verboseLevel = value; 00189 }
G4int G4VCrossSectionDataSet::verboseLevel [protected] |
Definition at line 165 of file G4VCrossSectionDataSet.hh.
Referenced by G4NeutronInelasticXS::BuildPhysicsTable(), G4NeutronElasticXS::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4CrossSectionPairGG::BuildPhysicsTable(), G4BGGPionInelasticXS::BuildPhysicsTable(), G4BGGPionElasticXS::BuildPhysicsTable(), G4BGGNucleonInelasticXS::BuildPhysicsTable(), G4BGGNucleonElasticXS::BuildPhysicsTable(), G4LENDCrossSection::create_used_target_map(), G4BGGNucleonElasticXS::G4BGGNucleonElasticXS(), G4BGGNucleonInelasticXS::G4BGGNucleonInelasticXS(), G4BGGPionElasticXS::G4BGGPionElasticXS(), G4BGGPionInelasticXS::G4BGGPionInelasticXS(), G4CrossSectionPairGG::G4CrossSectionPairGG(), G4NeutronCaptureXS::G4NeutronCaptureXS(), G4NeutronElasticXS::G4NeutronElasticXS(), G4NeutronInelasticXS::G4NeutronInelasticXS(), G4NeutronInelasticXS::GetElementCrossSection(), G4NeutronElasticXS::GetElementCrossSection(), G4NeutronCaptureXS::GetElementCrossSection(), G4CrossSectionPairGG::GetElementCrossSection(), G4BGGPionInelasticXS::GetElementCrossSection(), G4BGGPionElasticXS::GetElementCrossSection(), G4BGGNucleonInelasticXS::GetElementCrossSection(), G4BGGNucleonElasticXS::GetElementCrossSection(), G4NeutronCaptureXS::GetIsoCrossSection(), G4BGGPionInelasticXS::GetIsoCrossSection(), G4BGGPionElasticXS::GetIsoCrossSection(), G4BGGNucleonInelasticXS::GetIsoCrossSection(), G4BGGNucleonElasticXS::GetIsoCrossSection(), and SetVerboseLevel().