Geant4-11
Public Member Functions | Protected Attributes | Static Protected Attributes | Private Attributes
G4ElNeutrinoNucleusTotXsc Class Reference

#include <G4ElNeutrinoNucleusTotXsc.hh>

Inheritance diagram for G4ElNeutrinoNucleusTotXsc:
G4VCrossSectionDataSet

Public Member Functions

virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
G4double ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
virtual void CrossSectionDescription (std::ostream &) const
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
bool ForAllAtomsAndEnergies () const
 
 G4ElNeutrinoNucleusTotXsc ()
 
G4double GetANuElTotCsArray (G4int index)
 
G4double GetANuElTotCsXsc (G4int index, G4double energy)
 
G4double GetBiasingFactor ()
 
G4double GetCcTotRatio ()
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
G4double GetCutEnergy ()
 
virtual G4double GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
 
G4int GetEnergyIndex (G4double energy)
 
G4double GetIsoCrossSection (const G4DynamicParticle *aPart, G4int Z, G4int A, const G4Isotope *, const G4Element *, const G4Material *) override
 
G4double GetMaxKinEnergy () const
 
G4double GetMinKinEnergy () const
 
const G4StringGetName () const
 
G4double GetNuElTotCsArray (G4int index)
 
G4double GetNuElTotCsXsc (G4int index, G4double energy)
 
G4double GetTotXsc ()
 
virtual G4int GetVerboseLevel () const
 
G4bool IsElementApplicable (const G4DynamicParticle *, G4int, const G4Material *) override
 
G4bool IsIsoApplicable (const G4DynamicParticle *, G4int, G4int, const G4Element *, const G4Material *) override
 
virtual const G4IsotopeSelectIsotope (const G4Element *, G4double kinEnergy, G4double logE)
 
void SetBiasingFactor (G4double bf)
 
void SetCutEnergy (G4double ec)
 
void SetForAllAtomsAndEnergies (G4bool val)
 
void SetMaxKinEnergy (G4double value)
 
void SetMinKinEnergy (G4double value)
 
void SetName (const G4String &nam)
 
virtual void SetVerboseLevel (G4int value)
 
 ~G4ElNeutrinoNucleusTotXsc ()
 

Protected Attributes

G4double fBiasingFactor
 
G4double fCcFactor
 
G4double fCcTotRatio
 
G4double fCofL
 
G4double fCofS
 
G4double fCofXsc
 
G4double fCutEnergy
 
G4int fIndex
 
G4double fNcFactor
 
G4double fSin2tW
 
G4double fTotXsc
 
G4String name
 
const G4ParticleDefinitiontheElectron
 
const G4ParticleDefinitionthePositron
 
G4int verboseLevel
 

Static Protected Attributes

static const G4double fANuElTotXsc [50]
 
static const G4double fNuElEnergy [50]
 
static const G4double fNuElTotXsc [50]
 

Private Attributes

G4bool isForAllAtomsAndEnergies
 
G4double maxKinEnergy
 
G4double minKinEnergy
 
G4CrossSectionDataSetRegistryregistry
 

Detailed Description

Definition at line 42 of file G4ElNeutrinoNucleusTotXsc.hh.

Constructor & Destructor Documentation

◆ G4ElNeutrinoNucleusTotXsc()

G4ElNeutrinoNucleusTotXsc::G4ElNeutrinoNucleusTotXsc ( )

Definition at line 51 of file G4ElNeutrinoNucleusTotXsc.cc.

52 : G4VCrossSectionDataSet("NuElNuclTotXsc")
53{
54 fCofXsc = 1.e-38*cm2/GeV;
55
56 // G4cout<<"fCofXsc = "<<fCofXsc*GeV/cm2<<" cm2/GeV"<<G4endl;
57
58 // PDG2016: sin^2 theta Weinberg
59
60 fSin2tW = 0.23129; // 0.2312;
61
62 // 9 <-> 6, 5/9 or 5/6 ?
63
64 fCofS = 5.*fSin2tW*fSin2tW/9.;
65 fCofL = 1. - fSin2tW + fCofS;
66
67 // G4cout<<"fCosL = "<<fCofL<<", fCofS = "<<fCofS<<G4endl;
68
69 fCutEnergy = 0.; // default value
70
71 fBiasingFactor = 1.; // default as physics
72
73 fIndex = 50;
74
75 fTotXsc = 0.;
76 fCcTotRatio = 0.75; // from nc/cc~0.33 ratio
77 fCcFactor = fNcFactor = 1.;
78
81}
static constexpr double cm2
Definition: G4SIunits.hh:100
static constexpr double GeV
Definition: G4SIunits.hh:203
const G4ParticleDefinition * thePositron
const G4ParticleDefinition * theElectron
static G4Electron * Electron()
Definition: G4Electron.cc:93
static G4Positron * Positron()
Definition: G4Positron.cc:93
G4VCrossSectionDataSet(const G4String &nam="")

References cm2, G4Electron::Electron(), fBiasingFactor, fCcFactor, fCcTotRatio, fCofL, fCofS, fCofXsc, fCutEnergy, fIndex, fNcFactor, fSin2tW, fTotXsc, GeV, G4Positron::Positron(), theElectron, and thePositron.

◆ ~G4ElNeutrinoNucleusTotXsc()

G4ElNeutrinoNucleusTotXsc::~G4ElNeutrinoNucleusTotXsc ( )

Definition at line 83 of file G4ElNeutrinoNucleusTotXsc.cc.

84{}

Member Function Documentation

◆ BuildPhysicsTable()

void G4VCrossSectionDataSet::BuildPhysicsTable ( const G4ParticleDefinition )
virtualinherited

◆ ComputeCrossSection()

G4double G4VCrossSectionDataSet::ComputeCrossSection ( const G4DynamicParticle part,
const G4Element elm,
const G4Material mat = nullptr 
)
inherited

Definition at line 81 of file G4VCrossSectionDataSet.cc.

84{
85 G4int Z = elm->GetZasInt();
86
87 if (IsElementApplicable(part, Z, mat)) {
88 return GetElementCrossSection(part, Z, mat);
89 }
90
91 // isotope-wise cross section making sum over available
92 // isotope cross sections, which may be incomplete, so
93 // the result is corrected
94 size_t nIso = elm->GetNumberOfIsotopes();
95 G4double fact = 0.0;
96 G4double xsec = 0.0;
97
98 // user-defined isotope abundances
99 const G4IsotopeVector* isoVector = elm->GetIsotopeVector();
100 const G4double* abundVector = elm->GetRelativeAbundanceVector();
101
102 for (size_t j=0; j<nIso; ++j) {
103 const G4Isotope* iso = (*isoVector)[j];
104 G4int A = iso->GetN();
105 if(abundVector[j] > 0.0 && IsIsoApplicable(part, Z, A, elm, mat)) {
106 fact += abundVector[j];
107 xsec += abundVector[j]*GetIsoCrossSection(part, Z, A, iso, elm, mat);
108 }
109 }
110 return (fact > 0.0) ? xsec/fact : 0.0;
111}
std::vector< G4Isotope * > G4IsotopeVector
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
const G4int Z[17]
const G4double A[17]
G4double * GetRelativeAbundanceVector() const
Definition: G4Element.hh:167
size_t GetNumberOfIsotopes() const
Definition: G4Element.hh:159
G4int GetZasInt() const
Definition: G4Element.hh:132
G4IsotopeVector * GetIsotopeVector() const
Definition: G4Element.hh:163
G4int GetN() const
Definition: G4Isotope.hh:93
virtual G4double GetElementCrossSection(const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
virtual G4double GetIsoCrossSection(const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
virtual G4bool IsIsoApplicable(const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
virtual G4bool IsElementApplicable(const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)

References A, G4VCrossSectionDataSet::GetElementCrossSection(), G4VCrossSectionDataSet::GetIsoCrossSection(), G4Element::GetIsotopeVector(), G4Isotope::GetN(), G4Element::GetNumberOfIsotopes(), G4Element::GetRelativeAbundanceVector(), G4Element::GetZasInt(), G4VCrossSectionDataSet::IsElementApplicable(), G4VCrossSectionDataSet::IsIsoApplicable(), and Z.

Referenced by G4VCrossSectionDataSet::GetCrossSection().

◆ CrossSectionDescription()

void G4VCrossSectionDataSet::CrossSectionDescription ( std::ostream &  outFile) const
virtualinherited

◆ DumpPhysicsTable()

void G4VCrossSectionDataSet::DumpPhysicsTable ( const G4ParticleDefinition )
virtualinherited

◆ ForAllAtomsAndEnergies()

bool G4VCrossSectionDataSet::ForAllAtomsAndEnergies ( ) const
inlineinherited

◆ GetANuElTotCsArray()

G4double G4ElNeutrinoNucleusTotXsc::GetANuElTotCsArray ( G4int  index)

Definition at line 294 of file G4ElNeutrinoNucleusTotXsc.cc.

295{
296 if( index >= 0 && index < fIndex) return fANuElTotXsc[index];
297 else
298 {
299 G4cout<<"Improper index of fANuElTotXsc array"<<G4endl;
300 return 0.;
301 }
302}
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
static const G4double fANuElTotXsc[50]

References fANuElTotXsc, fIndex, G4cout, and G4endl.

◆ GetANuElTotCsXsc()

G4double G4ElNeutrinoNucleusTotXsc::GetANuElTotCsXsc ( G4int  index,
G4double  energy 
)

Definition at line 253 of file G4ElNeutrinoNucleusTotXsc.cc.

254{
255 G4double xsc(0.);
256
257 if( index <= 0 || energy < thePositron->GetPDGMass() ) xsc = fANuElTotXsc[0];
258 else if (index >= fIndex) xsc = fANuElTotXsc[fIndex-1];
259 else
260 {
261 G4double x1 = fNuElEnergy[index-1]*GeV;
262 G4double x2 = fNuElEnergy[index]*GeV;
263 G4double y1 = fANuElTotXsc[index-1];
264 G4double y2 = fANuElTotXsc[index];
265
266 if( x1 >= x2 ) return fANuElTotXsc[index];
267 else
268 {
269 G4double angle = (y2-y1)/(x2-x1);
270 xsc = y1 + (energy-x1)*angle;
271 }
272 }
273 return xsc;
274}
static const G4double angle[DIMMOTT]
static const G4double fNuElEnergy[50]
G4double energy(const ThreeVector &p, const G4double m)

References angle, G4INCL::KinematicsUtils::energy(), fANuElTotXsc, fIndex, fNuElEnergy, and GeV.

Referenced by GetIsoCrossSection().

◆ GetBiasingFactor()

G4double G4ElNeutrinoNucleusTotXsc::GetBiasingFactor ( )
inline

Definition at line 73 of file G4ElNeutrinoNucleusTotXsc.hh.

73{return fBiasingFactor;};

References fBiasingFactor.

◆ GetCcTotRatio()

G4double G4ElNeutrinoNucleusTotXsc::GetCcTotRatio ( )
inline

Definition at line 76 of file G4ElNeutrinoNucleusTotXsc.hh.

76{return fCcTotRatio;};

References fCcTotRatio.

Referenced by G4ElNeutrinoNucleusProcess::PostStepDoIt().

◆ GetCrossSection()

G4double G4VCrossSectionDataSet::GetCrossSection ( const G4DynamicParticle dp,
const G4Element elm,
const G4Material mat = nullptr 
)
inlineinherited

Definition at line 187 of file G4VCrossSectionDataSet.hh.

190{
191 return ComputeCrossSection(dp, elm, mat);
192}
G4double ComputeCrossSection(const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)

References G4VCrossSectionDataSet::ComputeCrossSection().

◆ GetCutEnergy()

G4double G4ElNeutrinoNucleusTotXsc::GetCutEnergy ( )
inline

Definition at line 70 of file G4ElNeutrinoNucleusTotXsc.hh.

70{return fCutEnergy;};

References fCutEnergy.

◆ GetElementCrossSection()

G4double G4VCrossSectionDataSet::GetElementCrossSection ( const G4DynamicParticle dynPart,
G4int  Z,
const G4Material mat = nullptr 
)
virtualinherited

Reimplemented in G4EMDissociationCrossSection, G4IonsShenCrossSection, G4NeutrinoElectronCcXsc, G4NeutrinoElectronNcXsc, G4NeutrinoElectronTotXsc, G4NeutronElectronElXsc, G4PhotoNuclearCrossSection, G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS, G4ElectroNuclearCrossSection, G4BGGNucleonElasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS, G4BGGNucleonInelasticXS, G4CrossSectionElastic, G4CrossSectionInelastic, G4GammaNuclearXS, G4ParticleInelasticXS, G4ZeroXS, G4NucleonNuclearCrossSection, G4MuNeutrinoNucleusTotXsc, and G4KokoulinMuonNuclearXS.

Definition at line 114 of file G4VCrossSectionDataSet.cc.

117{
119 ed << "GetElementCrossSection is not implemented in <" << name << ">\n"
120 << "Particle: " << dynPart->GetDefinition()->GetParticleName()
121 << " Ekin(MeV)= " << dynPart->GetKineticEnergy()/MeV;
122 if(mat) { ed << " material: " << mat->GetName(); }
123 ed << " target Z= " << Z << G4endl;
124 G4Exception("G4VCrossSectionDataSet::GetElementCrossSection", "had001",
125 FatalException, ed);
126 return 0.0;
127}
@ FatalException
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
Definition: G4Exception.cc:35
std::ostringstream G4ExceptionDescription
Definition: G4Exception.hh:40
static constexpr double MeV
Definition: G4SIunits.hh:200
G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
const G4String & GetName() const
Definition: G4Material.hh:173
const G4String & GetParticleName() const

References FatalException, G4endl, G4Exception(), G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), G4Material::GetName(), G4ParticleDefinition::GetParticleName(), MeV, G4VCrossSectionDataSet::name, and Z.

Referenced by G4QMDReaction::ApplyYourself(), G4VCrossSectionDataSet::ComputeCrossSection(), G4GammaNuclearXS::GetElementCrossSection(), G4GammaNuclearXS::GetIsoCrossSection(), and G4GammaNuclearXS::Initialise().

◆ GetEnergyIndex()

G4int G4ElNeutrinoNucleusTotXsc::GetEnergyIndex ( G4double  energy)

Definition at line 205 of file G4ElNeutrinoNucleusTotXsc.cc.

206{
207 G4int i, eIndex = 0;
208
209 for( i = 0; i < fIndex; i++)
210 {
211 if( energy <= fNuElEnergy[i]*GeV )
212 {
213 eIndex = i;
214 break;
215 }
216 }
217 if( i >= fIndex-1 ) eIndex = fIndex-1;
218 // G4cout<<"eIndex = "<<eIndex<<G4endl;
219 return eIndex;
220}

References G4INCL::KinematicsUtils::energy(), fIndex, fNuElEnergy, and GeV.

Referenced by GetIsoCrossSection().

◆ GetIsoCrossSection()

G4double G4ElNeutrinoNucleusTotXsc::GetIsoCrossSection ( const G4DynamicParticle aPart,
G4int  Z,
G4int  A,
const G4Isotope ,
const G4Element ,
const G4Material  
)
overridevirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 144 of file G4ElNeutrinoNucleusTotXsc.cc.

146{
147 fCcFactor = fNcFactor = 1.;
148 fCcTotRatio = 0.25;
149
150 G4double ccnuXsc, ccanuXsc, ncXsc, totXsc(0.);
151
152 G4double energy = aPart->GetTotalEnergy();
153 G4String pName = aPart->GetDefinition()->GetParticleName();
154
155 G4int index = GetEnergyIndex(energy);
156
157 if( index >= fIndex )
158 {
160 G4double s2 = 2.*energy*pm+pm*pm;
161 G4double aa = 1.;
162 G4double bb = 1.085;
163 G4double mw = 80.385*GeV;
164 fCcFactor = bb/(1.+ aa*s2/mw/mw);
165
166 G4double mz = 91.1876*GeV;
167 fNcFactor = bb/(1.+ aa*s2/mz/mz);
168 }
169 ccnuXsc = GetNuElTotCsXsc(index, energy);
170 ccnuXsc *= fCcFactor;
171 ccanuXsc = GetANuElTotCsXsc(index, energy);
172 ccanuXsc *= fCcFactor;
173
174 if( pName == "nu_e")
175 {
176 ncXsc = fCofL*ccnuXsc + fCofS*ccanuXsc;
177 ncXsc *= fNcFactor/fCcFactor;
178 totXsc = ccnuXsc + ncXsc;
179 if( totXsc > 0.) fCcTotRatio = ccnuXsc/totXsc;
180 }
181 else if( pName == "anti_nu_e")
182 {
183 ncXsc = fCofL*ccanuXsc + fCofS*ccnuXsc;
184 ncXsc *= fNcFactor/fCcFactor;
185 totXsc = ccanuXsc + ncXsc;
186 if( totXsc > 0.) fCcTotRatio = ccanuXsc/totXsc;
187 }
188 else return totXsc;
189
190 totXsc *= fCofXsc;
191 totXsc *= energy;
192 totXsc *= A; // incoherent sum over all isotope nucleons
193
194 totXsc *= fBiasingFactor; // biasing up, if set >1
195
196 fTotXsc = totXsc;
197
198 return totXsc;
199}
G4double GetTotalEnergy() const
G4double GetNuElTotCsXsc(G4int index, G4double energy)
G4double GetANuElTotCsXsc(G4int index, G4double energy)
G4int GetEnergyIndex(G4double energy)
float proton_mass_c2
Definition: hepunit.py:274

References A, G4INCL::KinematicsUtils::energy(), fBiasingFactor, fCcFactor, fCcTotRatio, fCofL, fCofS, fCofXsc, fIndex, fNcFactor, fTotXsc, GetANuElTotCsXsc(), G4DynamicParticle::GetDefinition(), GetEnergyIndex(), GetNuElTotCsXsc(), G4ParticleDefinition::GetParticleName(), G4DynamicParticle::GetTotalEnergy(), GeV, and source.hepunit::proton_mass_c2.

◆ GetMaxKinEnergy()

G4double G4VCrossSectionDataSet::GetMaxKinEnergy ( ) const
inlineinherited

◆ GetMinKinEnergy()

G4double G4VCrossSectionDataSet::GetMinKinEnergy ( ) const
inlineinherited

◆ GetName()

const G4String & G4VCrossSectionDataSet::GetName ( ) const
inlineinherited

◆ GetNuElTotCsArray()

G4double G4ElNeutrinoNucleusTotXsc::GetNuElTotCsArray ( G4int  index)

Definition at line 280 of file G4ElNeutrinoNucleusTotXsc.cc.

281{
282 if( index >= 0 && index < fIndex) return fNuElTotXsc[index];
283 else
284 {
285 G4cout<<"Improper index of fNuElTotXsc array"<<G4endl;
286 return 0.;
287 }
288}
static const G4double fNuElTotXsc[50]

References fIndex, fNuElTotXsc, G4cout, and G4endl.

◆ GetNuElTotCsXsc()

G4double G4ElNeutrinoNucleusTotXsc::GetNuElTotCsXsc ( G4int  index,
G4double  energy 
)

Definition at line 226 of file G4ElNeutrinoNucleusTotXsc.cc.

227{
228 G4double xsc(0.);
229
230 if( index <= 0 || energy < theElectron->GetPDGMass() ) xsc = fNuElTotXsc[0];
231 else if (index >= fIndex) xsc = fNuElTotXsc[fIndex-1];
232 else
233 {
234 G4double x1 = fNuElEnergy[index-1]*GeV;
235 G4double x2 = fNuElEnergy[index]*GeV;
236 G4double y1 = fNuElTotXsc[index-1];
237 G4double y2 = fNuElTotXsc[index];
238
239 if(x1 >= x2) return fNuElTotXsc[index];
240 else
241 {
242 G4double angle = (y2-y1)/(x2-x1);
243 xsc = y1 + (energy-x1)*angle;
244 }
245 }
246 return xsc;
247}

References angle, G4INCL::KinematicsUtils::energy(), fIndex, fNuElEnergy, fNuElTotXsc, and GeV.

Referenced by GetIsoCrossSection().

◆ GetTotXsc()

G4double G4ElNeutrinoNucleusTotXsc::GetTotXsc ( )
inline

Definition at line 75 of file G4ElNeutrinoNucleusTotXsc.hh.

75{return fTotXsc;};

References fTotXsc.

◆ GetVerboseLevel()

G4int G4VCrossSectionDataSet::GetVerboseLevel ( ) const
inlinevirtualinherited

◆ IsElementApplicable()

G4bool G4ElNeutrinoNucleusTotXsc::IsElementApplicable ( const G4DynamicParticle ,
G4int  ,
const G4Material  
)
inlineoverridevirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 51 of file G4ElNeutrinoNucleusTotXsc.hh.

51{ return false; };

◆ IsIsoApplicable()

G4bool G4ElNeutrinoNucleusTotXsc::IsIsoApplicable ( const G4DynamicParticle ,
G4int  ,
G4int  ,
const G4Element ,
const G4Material  
)
inlineoverridevirtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 49 of file G4ElNeutrinoNucleusTotXsc.hh.

49{ return true; };

◆ SelectIsotope()

const G4Isotope * G4VCrossSectionDataSet::SelectIsotope ( const G4Element anElement,
G4double  kinEnergy,
G4double  logE 
)
virtualinherited

Reimplemented in G4GammaNuclearXS, G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS, and G4ParticleInelasticXS.

Definition at line 149 of file G4VCrossSectionDataSet.cc.

151{
152 size_t nIso = anElement->GetNumberOfIsotopes();
153 const G4Isotope* iso = anElement->GetIsotope(0);
154
155 // more than 1 isotope
156 if(1 < nIso) {
157 const G4double* abundVector = anElement->GetRelativeAbundanceVector();
158 G4double sum = 0.0;
160 for (size_t j=0; j<nIso; ++j) {
161 sum += abundVector[j];
162 if(q <= sum) {
163 iso = anElement->GetIsotope(j);
164 break;
165 }
166 }
167 }
168 return iso;
169}
#define G4UniformRand()
Definition: Randomize.hh:52
const G4Isotope * GetIsotope(G4int iso) const
Definition: G4Element.hh:170

References G4UniformRand, G4Element::GetIsotope(), G4Element::GetNumberOfIsotopes(), and G4Element::GetRelativeAbundanceVector().

◆ SetBiasingFactor()

void G4ElNeutrinoNucleusTotXsc::SetBiasingFactor ( G4double  bf)
inline

Definition at line 72 of file G4ElNeutrinoNucleusTotXsc.hh.

72{fBiasingFactor=bf;};

References fBiasingFactor.

Referenced by G4ElNeutrinoNucleusProcess::SetBiasingFactor().

◆ SetCutEnergy()

void G4ElNeutrinoNucleusTotXsc::SetCutEnergy ( G4double  ec)
inline

Definition at line 69 of file G4ElNeutrinoNucleusTotXsc.hh.

69{fCutEnergy = ec;};

References fCutEnergy.

◆ SetForAllAtomsAndEnergies()

void G4VCrossSectionDataSet::SetForAllAtomsAndEnergies ( G4bool  val)
inlineinherited

◆ SetMaxKinEnergy()

void G4VCrossSectionDataSet::SetMaxKinEnergy ( G4double  value)
inlineinherited

◆ SetMinKinEnergy()

void G4VCrossSectionDataSet::SetMinKinEnergy ( G4double  value)
inlineinherited

◆ SetName()

void G4VCrossSectionDataSet::SetName ( const G4String nam)
inlineinherited

Definition at line 240 of file G4VCrossSectionDataSet.hh.

241{
242 name = nam;
243}

References G4VCrossSectionDataSet::name.

Referenced by G4ParticleHPInelasticData::G4ParticleHPInelasticData().

◆ SetVerboseLevel()

void G4VCrossSectionDataSet::SetVerboseLevel ( G4int  value)
inlinevirtualinherited

Field Documentation

◆ fANuElTotXsc

const G4double G4ElNeutrinoNucleusTotXsc::fANuElTotXsc
staticprotected
Initial value:
=
{
0.00103385, 0.00237807, 0.00366358, 0.00515192, 0.00697434,
0.00925859, 0.0121508, 0.0158252, 0.0204908, 0.0263959,
0.0338304, 0.0431234, 0.0546346, 0.068735, 0.0857738,
0.106025, 0.129614, 0.15643, 0.186063, 0.21784,
0.251065, 0.28525, 0.319171, 0.348995, 0.369448,
0.378165, 0.377353, 0.371224, 0.363257, 0.355433,
0.348618, 0.343082, 0.338825, 0.33574, 0.333684,
0.332504, 0.332052, 0.332187, 0.332781, 0.333716,
0.33489, 0.336213, 0.337608, 0.339008, 0.340362,
0.341606, 0.342706, 0.343628, 0.344305, 0.344675
}

Definition at line 91 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by GetANuElTotCsArray(), and GetANuElTotCsXsc().

◆ fBiasingFactor

G4double G4ElNeutrinoNucleusTotXsc::fBiasingFactor
protected

◆ fCcFactor

G4double G4ElNeutrinoNucleusTotXsc::fCcFactor
protected

Definition at line 85 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by G4ElNeutrinoNucleusTotXsc(), and GetIsoCrossSection().

◆ fCcTotRatio

G4double G4ElNeutrinoNucleusTotXsc::fCcTotRatio
protected

◆ fCofL

G4double G4ElNeutrinoNucleusTotXsc::fCofL
protected

Definition at line 82 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by G4ElNeutrinoNucleusTotXsc(), and GetIsoCrossSection().

◆ fCofS

G4double G4ElNeutrinoNucleusTotXsc::fCofS
protected

Definition at line 82 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by G4ElNeutrinoNucleusTotXsc(), and GetIsoCrossSection().

◆ fCofXsc

G4double G4ElNeutrinoNucleusTotXsc::fCofXsc
protected

Definition at line 80 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by G4ElNeutrinoNucleusTotXsc(), and GetIsoCrossSection().

◆ fCutEnergy

G4double G4ElNeutrinoNucleusTotXsc::fCutEnergy
protected

◆ fIndex

G4int G4ElNeutrinoNucleusTotXsc::fIndex
protected

◆ fNcFactor

G4double G4ElNeutrinoNucleusTotXsc::fNcFactor
protected

Definition at line 85 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by G4ElNeutrinoNucleusTotXsc(), and GetIsoCrossSection().

◆ fNuElEnergy

const G4double G4ElNeutrinoNucleusTotXsc::fNuElEnergy
staticprotected
Initial value:
=
{
0.000561138, 0.000735091, 0.000962969, 0.00126149, 0.00165255,
0.00216484, 0.00283594, 0.00371508, 0.00486676, 0.00637546,
0.00835185, 0.0109409, 0.0143326, 0.0187757, 0.0245962,
0.032221, 0.0422095, 0.0552945, 0.0724358, 0.0948908,
0.124307, 0.162842, 0.213323, 0.279453, 0.366084,
0.47957, 0.628237, 0.82299, 1.07812, 1.41233,
1.85016, 2.42371, 3.17505, 4.15932, 5.44871,
7.13781, 9.35053, 12.2492, 16.0464, 21.0208,
27.5373, 36.0739, 47.2568, 61.9064, 81.0973,
106.238, 139.171, 182.314, 238.832, 312.869
}

Definition at line 89 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by GetANuElTotCsXsc(), GetEnergyIndex(), and GetNuElTotCsXsc().

◆ fNuElTotXsc

const G4double G4ElNeutrinoNucleusTotXsc::fNuElTotXsc
staticprotected
Initial value:
=
{
0.0026484, 0.00609503, 0.00939421, 0.0132163, 0.0178983,
0.0237692, 0.0312066, 0.0406632, 0.0526867, 0.0679357,
0.0871913, 0.111359, 0.141458, 0.178584, 0.223838,
0.27822, 0.342461, 0.416865, 0.501361, 0.596739,
0.713623, 0.905749, 1.20718, 1.52521, 1.75286,
1.82072, 1.67119, 1.50074, 1.3077, 1.14923,
1.0577, 0.977911, 0.918526, 0.792889, 0.702282,
0.678615, 0.687099, 0.725167, 0.706795, 0.678045,
0.649791, 0.651328, 0.651934, 0.658062, 0.660659,
0.662534, 0.662601, 0.660261, 0.656724, 0.65212
}

Definition at line 90 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by GetNuElTotCsArray(), and GetNuElTotCsXsc().

◆ fSin2tW

G4double G4ElNeutrinoNucleusTotXsc::fSin2tW
protected

Definition at line 81 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by G4ElNeutrinoNucleusTotXsc().

◆ fTotXsc

G4double G4ElNeutrinoNucleusTotXsc::fTotXsc
protected

◆ isForAllAtomsAndEnergies

G4bool G4VCrossSectionDataSet::isForAllAtomsAndEnergies
privateinherited

◆ maxKinEnergy

G4double G4VCrossSectionDataSet::maxKinEnergy
privateinherited

◆ minKinEnergy

G4double G4VCrossSectionDataSet::minKinEnergy
privateinherited

◆ name

G4String G4VCrossSectionDataSet::name
protectedinherited

◆ registry

G4CrossSectionDataSetRegistry* G4VCrossSectionDataSet::registry
privateinherited

◆ theElectron

const G4ParticleDefinition* G4ElNeutrinoNucleusTotXsc::theElectron
protected

Definition at line 93 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by G4ElNeutrinoNucleusTotXsc().

◆ thePositron

const G4ParticleDefinition* G4ElNeutrinoNucleusTotXsc::thePositron
protected

Definition at line 94 of file G4ElNeutrinoNucleusTotXsc.hh.

Referenced by G4ElNeutrinoNucleusTotXsc().

◆ verboseLevel

G4int G4VCrossSectionDataSet::verboseLevel
protectedinherited

Definition at line 168 of file G4VCrossSectionDataSet.hh.

Referenced by G4BGGNucleonElasticXS::BuildPhysicsTable(), G4BGGPionElasticXS::BuildPhysicsTable(), G4BGGPionInelasticXS::BuildPhysicsTable(), G4GammaNuclearXS::BuildPhysicsTable(), G4NeutronCaptureXS::BuildPhysicsTable(), G4NeutronElasticXS::BuildPhysicsTable(), G4NeutronInelasticXS::BuildPhysicsTable(), G4ParticleInelasticXS::BuildPhysicsTable(), G4BGGNucleonInelasticXS::BuildPhysicsTable(), G4LENDCrossSection::create_used_target_map(), G4BGGNucleonElasticXS::G4BGGNucleonElasticXS(), G4BGGNucleonInelasticXS::G4BGGNucleonInelasticXS(), G4BGGPionElasticXS::G4BGGPionElasticXS(), G4BGGPionInelasticXS::G4BGGPionInelasticXS(), G4GammaNuclearXS::G4GammaNuclearXS(), G4NeutronCaptureXS::G4NeutronCaptureXS(), G4NeutronElasticXS::G4NeutronElasticXS(), G4NeutronInelasticXS::G4NeutronInelasticXS(), G4ParticleInelasticXS::G4ParticleInelasticXS(), G4NeutronCaptureXS::GetElementCrossSection(), G4NeutronElasticXS::GetElementCrossSection(), G4NeutronInelasticXS::GetElementCrossSection(), G4BGGNucleonElasticXS::GetElementCrossSection(), G4BGGPionElasticXS::GetElementCrossSection(), G4BGGPionInelasticXS::GetElementCrossSection(), G4BGGNucleonInelasticXS::GetElementCrossSection(), G4GammaNuclearXS::GetElementCrossSection(), G4ParticleInelasticXS::GetElementCrossSection(), G4BGGNucleonElasticXS::GetIsoCrossSection(), G4BGGPionElasticXS::GetIsoCrossSection(), G4BGGPionInelasticXS::GetIsoCrossSection(), G4GammaNuclearXS::GetIsoCrossSection(), G4BGGNucleonInelasticXS::GetIsoCrossSection(), G4VCrossSectionDataSet::GetVerboseLevel(), G4NeutronElasticXS::Initialise(), G4ParticleInelasticXS::IsoCrossSection(), G4NeutronCaptureXS::IsoCrossSection(), G4NeutronInelasticXS::IsoCrossSection(), G4GammaNuclearXS::RetrieveVector(), G4NeutronCaptureXS::RetrieveVector(), G4NeutronInelasticXS::RetrieveVector(), G4ParticleInelasticXS::RetrieveVector(), and G4VCrossSectionDataSet::SetVerboseLevel().


The documentation for this class was generated from the following files: