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

#include <G4NeutronElectronElXsc.hh>

Inheritance diagram for G4NeutronElectronElXsc:
G4VCrossSectionDataSet

Public Member Functions

virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
G4double CalculateAm (G4double momentum)
 
G4double ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
virtual void CrossSectionDescription (std::ostream &) const
 
virtual void DumpPhysicsTable (const G4ParticleDefinition &)
 
bool ForAllAtomsAndEnergies () const
 
 G4NeutronElectronElXsc ()
 
G4double GetAm ()
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
G4double GetCutEnergy ()
 
virtual G4double GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *)
 
G4double GetElementNonRelXsc (const G4DynamicParticle *, G4int Z, const G4Material *)
 
virtual G4double GetIsoCrossSection (const G4DynamicParticle *, G4int Z, G4int A, const G4Isotope *iso=nullptr, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
 
G4double GetMaxKinEnergy () const
 
G4double GetMinKinEnergy () const
 
const G4StringGetName () const
 
G4double GetRosenbluthXsc (const G4DynamicParticle *, G4int Z, const G4Material *)
 
virtual G4int GetVerboseLevel () const
 
void Initialise ()
 
virtual G4bool IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *)
 
virtual G4bool IsIsoApplicable (const G4DynamicParticle *, G4int Z, G4int A, const G4Element *elm=nullptr, const G4Material *mat=nullptr)
 
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)
 
G4double XscIntegrand (G4double x)
 
 ~G4NeutronElectronElXsc ()
 

Protected Attributes

G4double fAm
 
G4double fBiasingFactor
 
G4double fCofXsc
 
G4double fCutEnergy
 
G4double fee
 
G4double fee2
 
G4int fEnergyBin
 
G4PhysicsLogVectorfEnergyXscVector
 
G4double fM
 
G4double fM2
 
G4double fMaxEnergy
 
G4double fme
 
G4double fme2
 
G4double fMinEnergy
 
G4double fMv2
 
G4String name
 
G4int verboseLevel
 

Static Protected Attributes

static const G4double fXscArray [200]
 

Private Attributes

G4bool isForAllAtomsAndEnergies
 
G4double maxKinEnergy
 
G4double minKinEnergy
 
G4CrossSectionDataSetRegistryregistry
 

Detailed Description

Definition at line 45 of file G4NeutronElectronElXsc.hh.

Constructor & Destructor Documentation

◆ G4NeutronElectronElXsc()

G4NeutronElectronElXsc::G4NeutronElectronElXsc ( )

Definition at line 50 of file G4NeutronElectronElXsc.cc.

51 : G4VCrossSectionDataSet("NuElectronCcXsc")
52{
53 // neutron magneton squared
54
55 fM = neutron_mass_c2; // neutron mass
56 fM2 = fM*fM;
58 fme2 = fme*fme;
59 fMv2 = 0.7056*GeV*GeV;
60 fee = fme;
61 fee2 = fee*fee;
62 fAm = 0.001;
63
65 fCofXsc *= 3.6481; // neutron Fm^2(0)
66 fCofXsc /= fM*fM;
67
68 // G4cout<<"fCofXsc = "<<fCofXsc*GeV/cm2<<" cm2/GeV"<<G4endl;
69
70 // G4cout<<"hbarc = "<<hbarc/MeV/fermi<<" MeV*fermi"<<G4endl;
71
72 fCutEnergy = 0.; // default value
73
74 fEnergyBin = 200;
75 fMinEnergy = 1.*MeV;
76 fMaxEnergy = 10000.*GeV;
77
79
80 for( G4int iTkin = 0; iTkin < fEnergyBin; iTkin++) fEnergyXscVector->PutValue(iTkin, fXscArray[iTkin]*microbarn);
81
82 fBiasingFactor = 1.;
83
84 // Initialise();
85}
static constexpr double microbarn
Definition: G4SIunits.hh:87
static constexpr double GeV
Definition: G4SIunits.hh:203
static constexpr double MeV
Definition: G4SIunits.hh:200
static constexpr double pi
Definition: G4SIunits.hh:55
int G4int
Definition: G4Types.hh:85
static const G4double fXscArray[200]
G4PhysicsLogVector * fEnergyXscVector
void PutValue(const std::size_t index, const G4double value)
G4VCrossSectionDataSet(const G4String &nam="")
float electron_mass_c2
Definition: hepunit.py:273
float hbarc
Definition: hepunit.py:264
float neutron_mass_c2
Definition: hepunit.py:275
int fine_structure_const
Definition: hepunit.py:286

References source.hepunit::electron_mass_c2, fAm, fBiasingFactor, fCofXsc, fCutEnergy, fee, fee2, fEnergyBin, fEnergyXscVector, source.hepunit::fine_structure_const, fM, fM2, fMaxEnergy, fme, fme2, fMinEnergy, fMv2, fXscArray, GeV, source.hepunit::hbarc, MeV, microbarn, source.hepunit::neutron_mass_c2, pi, and G4PhysicsVector::PutValue().

◆ ~G4NeutronElectronElXsc()

G4NeutronElectronElXsc::~G4NeutronElectronElXsc ( )

Definition at line 87 of file G4NeutronElectronElXsc.cc.

88{
89 if( fEnergyXscVector )
90 {
91 delete fEnergyXscVector;
93 }
94}

References fEnergyXscVector.

Member Function Documentation

◆ BuildPhysicsTable()

void G4VCrossSectionDataSet::BuildPhysicsTable ( const G4ParticleDefinition )
virtualinherited

◆ CalculateAm()

G4double G4NeutronElectronElXsc::CalculateAm ( G4double  momentum)
inline

Definition at line 97 of file G4NeutronElectronElXsc.hh.

98{
99 G4double k = momentum/CLHEP::hbarc;
100 G4double ch = 1.13;
101 G4double zn = 1.77*k*CLHEP::Bohr_radius;
102 G4double zn2 = zn*zn;
103 fAm = ch/zn2;
104
105 return fAm;
106}
double G4double
Definition: G4Types.hh:83
static constexpr double Bohr_radius
static constexpr double hbarc

References CLHEP::Bohr_radius, fAm, and CLHEP::hbarc.

Referenced by GetElementNonRelXsc(), and GetRosenbluthXsc().

◆ 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
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

◆ GetAm()

G4double G4NeutronElectronElXsc::GetAm ( )
inline

Definition at line 72 of file G4NeutronElectronElXsc.hh.

72{return fAm;};

References fAm.

◆ 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 G4NeutronElectronElXsc::GetCutEnergy ( )
inline

Definition at line 75 of file G4NeutronElectronElXsc.hh.

75{return fCutEnergy;};

References fCutEnergy.

◆ GetElementCrossSection()

G4double G4NeutronElectronElXsc::GetElementCrossSection ( const G4DynamicParticle aPart,
G4int  Z,
const G4Material  
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 141 of file G4NeutronElectronElXsc.cc.

144{
145 G4double result = 0., Tkin;
146
147 Tkin = aPart->GetKineticEnergy();
148
149 result = fEnergyXscVector->Value(Tkin);
150
151 result *= ZZ; // incoherent sum over all element electrons
152
153 result *= fBiasingFactor;
154
155 return result;
156}
G4double GetKineticEnergy() const
G4double Value(const G4double energy, std::size_t &lastidx) const

References fBiasingFactor, fEnergyXscVector, G4DynamicParticle::GetKineticEnergy(), and G4PhysicsVector::Value().

◆ GetElementNonRelXsc()

G4double G4NeutronElectronElXsc::GetElementNonRelXsc ( const G4DynamicParticle aPart,
G4int  Z,
const G4Material  
)
inline

Definition at line 112 of file G4NeutronElectronElXsc.hh.

115{
116 G4double result(0.), te(0.), momentum(0.);
117
118 te = aPart->GetKineticEnergy()*fme/fM;
119 momentum = std::sqrt( te*(te + 2.*fme) );
120 fAm = CalculateAm(momentum);
121
122 result = 1. + std::log(1. +1./fAm);
123 result *= fCofXsc; //*energy;
124 result *= ZZ; // incoherent sum over all element electrons
125
126 return result;
127}
G4double CalculateAm(G4double momentum)

References CalculateAm(), fAm, fCofXsc, fM, fme, and G4DynamicParticle::GetKineticEnergy().

◆ GetIsoCrossSection()

G4double G4VCrossSectionDataSet::GetIsoCrossSection ( const G4DynamicParticle dynPart,
G4int  Z,
G4int  A,
const G4Isotope iso = nullptr,
const G4Element elm = nullptr,
const G4Material mat = nullptr 
)
virtualinherited

Reimplemented in G4ChipsAntiBaryonElasticXS, G4ChipsAntiBaryonInelasticXS, G4ChipsHyperonElasticXS, G4ChipsHyperonInelasticXS, G4ChipsKaonMinusElasticXS, G4ChipsKaonMinusInelasticXS, G4ChipsKaonPlusElasticXS, G4ChipsKaonPlusInelasticXS, G4ChipsKaonZeroElasticXS, G4ChipsKaonZeroInelasticXS, G4ChipsNeutronElasticXS, G4ChipsNeutronInelasticXS, G4ChipsPionMinusElasticXS, G4ChipsPionMinusInelasticXS, G4ChipsPionPlusElasticXS, G4ChipsPionPlusInelasticXS, G4ChipsProtonElasticXS, G4ChipsProtonInelasticXS, G4NeutronCaptureXS, G4NeutronElasticXS, G4NeutronInelasticXS, G4IonsShenCrossSection, G4ElNucleusSFcs, G4BGGNucleonElasticXS, G4BGGPionElasticXS, G4BGGPionInelasticXS, G4GammaNuclearXS, G4ParticleInelasticXS, G4BGGNucleonInelasticXS, G4LENDCombinedCrossSection, G4LENDCrossSection, G4LENDGammaCrossSection, G4ParticleHPCaptureData, G4ParticleHPElasticData, G4ParticleHPFissionData, G4ParticleHPInelasticData, G4ParticleHPThermalScatteringData, G4MuNeutrinoNucleusTotXsc, G4ElNeutrinoNucleusTotXsc, and G4PhotoNuclearCrossSection.

Definition at line 130 of file G4VCrossSectionDataSet.cc.

135{
137 ed << "GetIsoCrossSection is not implemented in <" << name << ">\n"
138 << "Particle: " << dynPart->GetDefinition()->GetParticleName()
139 << " Ekin(MeV)= " << dynPart->GetKineticEnergy()/MeV;
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",
144 FatalException, ed);
145 return 0.0;
146}
@ 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
#define G4endl
Definition: G4ios.hh:57
G4ParticleDefinition * GetDefinition() const
const G4String & GetName() const
Definition: G4Element.hh:127
const G4String & GetName() const
Definition: G4Material.hh:173
const G4String & GetParticleName() const

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

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

◆ GetMaxKinEnergy()

G4double G4VCrossSectionDataSet::GetMaxKinEnergy ( ) const
inlineinherited

◆ GetMinKinEnergy()

G4double G4VCrossSectionDataSet::GetMinKinEnergy ( ) const
inlineinherited

◆ GetName()

const G4String & G4VCrossSectionDataSet::GetName ( ) const
inlineinherited

◆ GetRosenbluthXsc()

G4double G4NeutronElectronElXsc::GetRosenbluthXsc ( const G4DynamicParticle aPart,
G4int  Z,
const G4Material  
)

Definition at line 162 of file G4NeutronElectronElXsc.cc.

165{
166 G4double result = 0., momentum;
167
168 fee = aPart->GetTotalEnergy()*fme/fM;
169 fee2 = fee*fee;
170 momentum = sqrt( fee2 - fme2 );
171 fAm = CalculateAm(momentum);
172
173 // G4Integrator<G4NeutronElectronElXsc, G4double(G4NeutronElectronElXsc::*)(G4double)> integral;
174
175 // result = integral.Legendre96( this, &G4NeutronElectronElXsc::XscIntegrand, 0., 1. );
176
177 result *= fCofXsc;
178
179 result *= ZZ; // incoherent sum over all element electrons
180
181 return result;
182}
G4double GetTotalEnergy() const

References CalculateAm(), fAm, fCofXsc, fee, fee2, fM, fme, fme2, and G4DynamicParticle::GetTotalEnergy().

Referenced by Initialise().

◆ GetVerboseLevel()

G4int G4VCrossSectionDataSet::GetVerboseLevel ( ) const
inlinevirtualinherited

◆ Initialise()

void G4NeutronElectronElXsc::Initialise ( )

Definition at line 116 of file G4NeutronElectronElXsc.cc.

117{
118 G4int iTkin;
119 G4double Tkin, rosxsc, xsc, delta, err=1.e-5;
120 const G4ThreeVector mDir = G4ThreeVector(0.,0.,1.);
123
125
126 for( iTkin = 0; iTkin < fEnergyBin; iTkin++)
127 {
128 Tkin = fEnergyXscVector->GetLowEdgeEnergy(iTkin);
129 dP = G4DynamicParticle(pD, mDir, Tkin);
130 rosxsc = GetRosenbluthXsc(&dP, 1, mat);
131 fEnergyXscVector->PutValue(iTkin, rosxsc); // xscV.PutValue(evt, rosxsc); //
132 xsc= fEnergyXscVector->Value(Tkin); // xsc= xscV.GetLowEdgeEnergy(evt); //
133 delta = 0.5*std::abs( (rosxsc-xsc) )/(rosxsc+xsc);
134 if(delta > err) G4cout<<Tkin/GeV<<" GeV, rosxsc = "<<rosxsc/microbarn<<"umb, v-xsc = "<<xsc<<" umb"<<G4endl;
135 }
136 return;
137}
CLHEP::Hep3Vector G4ThreeVector
G4GLOB_DLL std::ostream G4cout
G4double GetRosenbluthXsc(const G4DynamicParticle *, G4int Z, const G4Material *)
static G4Neutron * Neutron()
Definition: G4Neutron.cc:103
G4Material * FindOrBuildMaterial(const G4String &name, G4bool isotopes=true, G4bool warning=false)
static G4NistManager * Instance()
G4double GetLowEdgeEnergy(const std::size_t index) const

References anonymous_namespace{G4ChipsKaonMinusInelasticXS.cc}::dP, fEnergyBin, fEnergyXscVector, G4NistManager::FindOrBuildMaterial(), G4cout, G4endl, G4PhysicsVector::GetLowEdgeEnergy(), GetRosenbluthXsc(), GeV, G4NistManager::Instance(), microbarn, G4Neutron::Neutron(), G4PhysicsVector::PutValue(), and G4PhysicsVector::Value().

◆ IsElementApplicable()

G4bool G4NeutronElectronElXsc::IsElementApplicable ( const G4DynamicParticle aPart,
G4int  Z,
const G4Material  
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 101 of file G4NeutronElectronElXsc.cc.

102{
103 G4bool result = false;
104 G4String pName = aPart->GetDefinition()->GetParticleName();
105 G4double Tkin = aPart->GetKineticEnergy();
106
107 if( pName == "neutron" &&
108 Tkin >= fMinEnergy &&
109 Tkin <= fMaxEnergy ) result = true;
110
111 return result;
112}
bool G4bool
Definition: G4Types.hh:86

References fMaxEnergy, fMinEnergy, G4DynamicParticle::GetDefinition(), G4DynamicParticle::GetKineticEnergy(), and G4ParticleDefinition::GetParticleName().

◆ IsIsoApplicable()

G4bool G4VCrossSectionDataSet::IsIsoApplicable ( const G4DynamicParticle ,
G4int  Z,
G4int  A,
const G4Element elm = nullptr,
const G4Material mat = nullptr 
)
virtualinherited

◆ 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 G4NeutronElectronElXsc::SetBiasingFactor ( G4double  bf)
inline

Definition at line 77 of file G4NeutronElectronElXsc.hh.

77{fBiasingFactor=bf;};

References fBiasingFactor.

◆ SetCutEnergy()

void G4NeutronElectronElXsc::SetCutEnergy ( G4double  ec)
inline

Definition at line 74 of file G4NeutronElectronElXsc.hh.

74{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

◆ XscIntegrand()

G4double G4NeutronElectronElXsc::XscIntegrand ( G4double  x)

Definition at line 190 of file G4NeutronElectronElXsc.cc.

191{
192 G4double result = 1., q2, znq2, znf, znf2, znf4;
193
194 znq2 = 1. + 2.*fee*x/fM;
195
196 q2 = 4.*fee2*x/znq2;
197
198 znf = 1 + q2/fMv2;
199 znf2 = znf*znf;
200 znf4 = znf2*znf2;
201
202 result /= ( x + fAm )*znq2*znq2*znf4;
203
204 result *= ( 1 - x )/( 1 + q2/4./fM2 ) + 2.*x;
205
206 return result;
207}

References fAm, fee, fee2, fM, fM2, and fMv2.

Field Documentation

◆ fAm

G4double G4NeutronElectronElXsc::fAm
protected

◆ fBiasingFactor

G4double G4NeutronElectronElXsc::fBiasingFactor
protected

◆ fCofXsc

G4double G4NeutronElectronElXsc::fCofXsc
protected

◆ fCutEnergy

G4double G4NeutronElectronElXsc::fCutEnergy
protected

Definition at line 84 of file G4NeutronElectronElXsc.hh.

Referenced by G4NeutronElectronElXsc(), GetCutEnergy(), and SetCutEnergy().

◆ fee

G4double G4NeutronElectronElXsc::fee
protected

◆ fee2

G4double G4NeutronElectronElXsc::fee2
protected

◆ fEnergyBin

G4int G4NeutronElectronElXsc::fEnergyBin
protected

Definition at line 83 of file G4NeutronElectronElXsc.hh.

Referenced by G4NeutronElectronElXsc(), and Initialise().

◆ fEnergyXscVector

G4PhysicsLogVector* G4NeutronElectronElXsc::fEnergyXscVector
protected

◆ fM

G4double G4NeutronElectronElXsc::fM
protected

◆ fM2

G4double G4NeutronElectronElXsc::fM2
protected

Definition at line 80 of file G4NeutronElectronElXsc.hh.

Referenced by G4NeutronElectronElXsc(), and XscIntegrand().

◆ fMaxEnergy

G4double G4NeutronElectronElXsc::fMaxEnergy
protected

Definition at line 84 of file G4NeutronElectronElXsc.hh.

Referenced by G4NeutronElectronElXsc(), and IsElementApplicable().

◆ fme

G4double G4NeutronElectronElXsc::fme
protected

◆ fme2

G4double G4NeutronElectronElXsc::fme2
protected

Definition at line 80 of file G4NeutronElectronElXsc.hh.

Referenced by G4NeutronElectronElXsc(), and GetRosenbluthXsc().

◆ fMinEnergy

G4double G4NeutronElectronElXsc::fMinEnergy
protected

Definition at line 84 of file G4NeutronElectronElXsc.hh.

Referenced by G4NeutronElectronElXsc(), and IsElementApplicable().

◆ fMv2

G4double G4NeutronElectronElXsc::fMv2
protected

Definition at line 80 of file G4NeutronElectronElXsc.hh.

Referenced by G4NeutronElectronElXsc(), and XscIntegrand().

◆ fXscArray

const G4double G4NeutronElectronElXsc::fXscArray
staticprotected
Initial value:
= {
1.52681, 1.54903, 1.57123, 1.59341, 1.61556, 1.63769, 1.6598, 1.68189, 1.70396,
1.72601, 1.74805, 1.77007, 1.79208, 1.81407, 1.83605, 1.85801, 1.87997, 1.90192,
1.92385, 1.94578, 1.96771, 1.98962, 2.01154, 2.03345, 2.05535, 2.07725, 2.09915,
2.12105, 2.14295, 2.16485, 2.18675, 2.20865, 2.23055, 2.25244, 2.27433, 2.29621,
2.31807, 2.33992, 2.36173, 2.38351, 2.40524, 2.42691, 2.4485, 2.47, 2.49138,
2.51262, 2.53369, 2.55457, 2.57524, 2.59565, 2.61577, 2.63559, 2.65505, 2.67414,
2.69281, 2.71104, 2.72881, 2.74607, 2.76282, 2.77903, 2.79467, 2.80974, 2.82422,
2.83811, 2.85139, 2.86408, 2.87616, 2.88764, 2.89854, 2.90885, 2.91859, 2.92777,
2.93641, 2.94453, 2.95213, 2.95924, 2.96588, 2.97207, 2.97782, 2.98316, 2.98811,
2.99268, 2.9969, 3.00078, 3.00435, 3.00761, 3.01059, 3.01331, 3.01578, 3.01801,
3.02003, 3.02185, 3.02347, 3.02491, 3.02619, 3.02732, 3.0283, 3.02915, 3.02988,
3.03049, 3.03099, 3.03139, 3.03169, 3.03191, 3.03203, 3.03208, 3.03205, 3.03195,
3.03177, 3.03152, 3.0312, 3.03081, 3.03034, 3.0298, 3.02919, 3.02849, 3.02771,
3.02684, 3.02588, 3.02482, 3.02365, 3.02237, 3.02097, 3.01943, 3.01775, 3.0159,
3.01389, 3.01169, 3.00929, 3.00666, 3.00379, 3.00065, 2.99722, 2.99347, 2.98936,
2.98487, 2.97996, 2.97459, 2.9687, 2.96226, 2.9552, 2.94748, 2.93903, 2.92977,
2.91965, 2.90858, 2.89649, 2.88329, 2.86889, 2.85321, 2.83615, 2.81764, 2.7976,
2.77594, 2.7526, 2.72754, 2.70071, 2.67209, 2.64171, 2.60957, 2.57575, 2.54031,
2.50336, 2.46504, 2.42548, 2.38484, 2.34328, 2.30099, 2.2581, 2.21478, 2.17115,
2.12735, 2.08345, 2.03954, 1.99569, 1.95191, 1.90825, 1.86471, 1.82129, 1.77799,
1.7348, 1.69171, 1.64869, 1.60575, 1.56286, 1.52, 1.47718, 1.43437, 1.39157,
1.34877, 1.30596, 1.26314, 1.22031, 1.17746, 1.13459, 1.0917, 1.04879, 1.00585,
0.962892, 0.919908 }

Definition at line 88 of file G4NeutronElectronElXsc.hh.

Referenced by G4NeutronElectronElXsc().

◆ 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

◆ 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: