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

#include <G4ChipsNeutronElasticXS.hh>

Inheritance diagram for G4ChipsNeutronElasticXS:
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
 
 G4ChipsNeutronElasticXS ()
 
virtual G4double GetChipsCrossSection (G4double momentum, G4int Z, G4int N, G4int pdg)
 
G4double GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=nullptr)
 
virtual G4double GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
 
G4double GetExchangeT (G4int tZ, G4int tN, G4int pPDG)
 
G4double GetHMaxT ()
 
virtual G4double GetIsoCrossSection (const G4DynamicParticle *, G4int tgZ, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0)
 
G4double GetMaxKinEnergy () const
 
G4double GetMinKinEnergy () const
 
const G4StringGetName () const
 
virtual G4int GetVerboseLevel () const
 
virtual G4bool IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *mat=nullptr)
 
virtual G4bool IsIsoApplicable (const G4DynamicParticle *Pt, G4int Z, G4int A, const G4Element *elm, const G4Material *mat)
 
virtual const G4IsotopeSelectIsotope (const G4Element *, G4double kinEnergy, G4double logE)
 
void SetForAllAtomsAndEnergies (G4bool val)
 
void SetMaxKinEnergy (G4double value)
 
void SetMinKinEnergy (G4double value)
 
void SetName (const G4String &nam)
 
virtual void SetVerboseLevel (G4int value)
 
 ~G4ChipsNeutronElasticXS ()
 

Static Public Member Functions

static const char * Default_Name ()
 

Protected Attributes

G4String name
 
G4int verboseLevel
 

Private Member Functions

G4double CalculateCrossSection (G4bool CS, G4int F, G4int I, G4int pPDG, G4int Z, G4int N, G4double pP)
 
G4double GetPTables (G4double lpP, G4double lPm, G4int PDG, G4int tZ, G4int tN)
 
G4double GetQ2max (G4int pPDG, G4int tgZ, G4int tgN, G4double pP)
 
G4double GetSlope (G4int tZ, G4int tN, G4int pPDG)
 
G4double GetTabValues (G4double lp, G4int pPDG, G4int tgZ, G4int tgN)
 

Private Attributes

std::vector< G4double * > B1T
 
std::vector< G4double * > B2T
 
std::vector< G4double * > B3T
 
std::vector< G4double * > B4T
 
std::vector< G4doublecolCS
 
std::vector< G4intcolN
 
std::vector< G4doublecolP
 
std::vector< G4doublecolTH
 
std::vector< G4intcolZ
 
std::vector< G4double * > CST
 
G4double dlnP
 
G4bool isForAllAtomsAndEnergies
 
G4doublelastB1T
 
G4doublelastB2T
 
G4doublelastB3T
 
G4doublelastB4T
 
G4double lastCS
 
G4doublelastCST
 
G4int lastI
 
G4double lastLP
 
G4int lastN
 
G4double lastP
 
G4doublelastPAR
 
G4double lastPIN
 
G4doublelastS1T
 
G4doublelastS2T
 
G4doublelastS3T
 
G4doublelastS4T
 
G4double lastSIG
 
G4doublelastSST
 
G4double lastTH
 
G4double lastTM
 
G4int lastTN
 
G4int lastTZ
 
G4int lastZ
 
G4double lPMax
 
G4double lPMin
 
G4double maxKinEnergy
 
G4double minKinEnergy
 
const G4int nLast
 
const G4int nPoints
 
G4bool onlyCS
 
std::vector< G4double * > PAR
 
std::vector< G4doublePIN
 
G4CrossSectionDataSetRegistryregistry
 
std::vector< G4double * > S1T
 
std::vector< G4double * > S2T
 
std::vector< G4double * > S3T
 
std::vector< G4double * > S4T
 
std::vector< G4double * > SST
 
G4double theB1
 
G4double theB2
 
G4double theB3
 
G4double theB4
 
G4double theS1
 
G4double theS2
 
G4double theS3
 
G4double theS4
 
G4double theSS
 

Detailed Description

Definition at line 46 of file G4ChipsNeutronElasticXS.hh.

Constructor & Destructor Documentation

◆ G4ChipsNeutronElasticXS()

G4ChipsNeutronElasticXS::G4ChipsNeutronElasticXS ( )

Definition at line 61 of file G4ChipsNeutronElasticXS.cc.

62{
63 lPMin=-8.; // Min tabulated log Momentum (D)
64 lPMax= 8.; // Max tabulated log Momentum (D)
65 dlnP=(lPMax-lPMin)/nLast;// Log step in table (D)
66 onlyCS=true;// Flag to calc only CS (not Si/Bi)(L)
67 lastSIG=0.; // Last calculated cross section (L)
68 lastLP=-10.;// Last log(momOfIncidentHadron) (L)
69 lastTM=0.; // Last t_maximum (L)
70 theSS=0.; // The Last sq.slope of 1st difMax (L)
71 theS1=0.; // The Last mantissa of 1st difMax (L)
72 theB1=0.; // The Last slope of 1st difr. Max (L)
73 theS2=0.; // The Last mantissa of 2nd difMax (L)
74 theB2=0.; // The Last slope of 2nd difr. Max (L)
75 theS3=0.; // The Last mantissa of 3d difrMax (L)
76 theB3=0.; // The Last slope of 3d difructMax (L)
77 theS4=0.; // The Last mantissa of 4th difMax (L)
78 theB4=0.; // The Last slope of 4th difr. Max (L)
79 lastTZ=0; // Last atomic number of the target
80 lastTN=0; // Last # of neutrons in the target
81 lastPIN=0.; // Last initialized max momentum
82 lastCST=0; // Elastic cross-section table
83 lastPAR=0; // Parameters of FunctionalCalculation
84 lastSST=0; // E-dep of sq.slope of the 1st difMax
85 lastS1T=0; // E-dep of mantissa of the 1st difMax
86 lastB1T=0; // E-dep of theSlope of the 1st difMax
87 lastS2T=0; // E-dep of mantissa of the 2nd difMax
88 lastB2T=0; // E-dep of theSlope of the 2nd difMax
89 lastS3T=0; // E-dep of mantissa of the 3d difrMax
90 lastB3T=0; // E-dep of the slope of the 3d difMax
91 lastS4T=0; // E-dep of mantissa of the 4th difMax
92 lastB4T=0; // E-dep of theSlope of the 4th difMax
93 lastN=0; // The last N of calculated nucleus
94 lastZ=0; // The last Z of calculated nucleus
95 lastP=0.; // Last used in cross section Momentum
96 lastTH=0.; // Last threshold momentum
97 lastCS=0.; // Last value of the Cross Section
98 lastI=0; // The last position in the DAMDB
99
100 mNeut= G4Neutron::Neutron()->GetPDGMass()*.001;// MeV to GeV
101 mProt= G4Proton::Proton()->GetPDGMass()*.001;// MeV to GeV
103}
static const char * Default_Name()
static G4Neutron * Neutron()
Definition: G4Neutron.cc:103
static G4Proton * Proton()
Definition: G4Proton.cc:92
G4VCrossSectionDataSet(const G4String &nam="")

References dlnP, G4ParticleDefinition::GetPDGMass(), lastB1T, lastB2T, lastB3T, lastB4T, lastCS, lastCST, lastI, lastLP, lastN, lastP, lastPAR, lastPIN, lastS1T, lastS2T, lastS3T, lastS4T, lastSIG, lastSST, lastTH, lastTM, lastTN, lastTZ, lastZ, lPMax, lPMin, anonymous_namespace{G4ChipsNeutronElasticXS.cc}::mNeut, anonymous_namespace{G4ChipsNeutronElasticXS.cc}::mNeut2, anonymous_namespace{G4ChipsNeutronElasticXS.cc}::mProt, G4Neutron::Neutron(), nLast, onlyCS, G4Proton::Proton(), theB1, theB2, theB3, theB4, theS1, theS2, theS3, theS4, and theSS.

◆ ~G4ChipsNeutronElasticXS()

G4ChipsNeutronElasticXS::~G4ChipsNeutronElasticXS ( )

Definition at line 105 of file G4ChipsNeutronElasticXS.cc.

106{
107 std::vector<G4double*>::iterator pos;
108 for (pos=CST.begin(); pos<CST.end(); pos++)
109 { delete [] *pos; }
110 CST.clear();
111 for (pos=PAR.begin(); pos<PAR.end(); pos++)
112 { delete [] *pos; }
113 PAR.clear();
114 for (pos=SST.begin(); pos<SST.end(); pos++)
115 { delete [] *pos; }
116 SST.clear();
117 for (pos=S1T.begin(); pos<S1T.end(); pos++)
118 { delete [] *pos; }
119 S1T.clear();
120 for (pos=B1T.begin(); pos<B1T.end(); pos++)
121 { delete [] *pos; }
122 B1T.clear();
123 for (pos=S2T.begin(); pos<S2T.end(); pos++)
124 { delete [] *pos; }
125 S2T.clear();
126 for (pos=B2T.begin(); pos<B2T.end(); pos++)
127 { delete [] *pos; }
128 B2T.clear();
129 for (pos=S3T.begin(); pos<S3T.end(); pos++)
130 { delete [] *pos; }
131 S3T.clear();
132 for (pos=B3T.begin(); pos<B3T.end(); pos++)
133 { delete [] *pos; }
134 B3T.clear();
135 for (pos=S4T.begin(); pos<S4T.end(); pos++)
136 { delete [] *pos; }
137 S4T.clear();
138 for (pos=B4T.begin(); pos<B4T.end(); pos++)
139 { delete [] *pos; }
140 B4T.clear();
141}
static const G4double pos
std::vector< G4double * > B3T
std::vector< G4double * > S1T
std::vector< G4double * > S2T
std::vector< G4double * > S3T
std::vector< G4double * > B1T
std::vector< G4double * > S4T
std::vector< G4double * > PAR
std::vector< G4double * > SST
std::vector< G4double * > B2T
std::vector< G4double * > CST
std::vector< G4double * > B4T

References B1T, B2T, B3T, B4T, CST, PAR, pos, S1T, S2T, S3T, S4T, and SST.

Member Function Documentation

◆ BuildPhysicsTable()

void G4VCrossSectionDataSet::BuildPhysicsTable ( const G4ParticleDefinition )
virtualinherited

◆ CalculateCrossSection()

G4double G4ChipsNeutronElasticXS::CalculateCrossSection ( G4bool  CS,
G4int  F,
G4int  I,
G4int  pPDG,
G4int  Z,
G4int  N,
G4double  pP 
)
private

Definition at line 240 of file G4ChipsNeutronElasticXS.cc.

242{
243
244 G4double pMom=pIU/GeV; // All calculations are in GeV
245 onlyCS=CS; // Flag to calculate only CS (not Si/Bi)
246 lastLP=std::log(pMom); // Make a logarithm of the momentum for calculation
247 if(F) // This isotope was found in AMDB =>RETRIEVE/UPDATE
248 {
249 if(F<0) // the AMDB must be loded
250 {
251 lastPIN = PIN[I]; // Max log(P) initialised for this table set
252 lastPAR = PAR[I]; // Pointer to the parameter set
253 lastCST = CST[I]; // Pointer to the total sross-section table
254 lastSST = SST[I]; // Pointer to the first squared slope
255 lastS1T = S1T[I]; // Pointer to the first mantissa
256 lastB1T = B1T[I]; // Pointer to the first slope
257 lastS2T = S2T[I]; // Pointer to the second mantissa
258 lastB2T = B2T[I]; // Pointer to the second slope
259 lastS3T = S3T[I]; // Pointer to the third mantissa
260 lastB3T = B3T[I]; // Pointer to the rhird slope
261 lastS4T = S4T[I]; // Pointer to the 4-th mantissa
262 lastB4T = B4T[I]; // Pointer to the 4-th slope
263 }
265 {
266 lastPIN=GetPTables(lastLP,lastPIN,PDG,tgZ,tgN);// Can update upper logP-Limit in tabs
267 PIN[I]=lastPIN; // Remember the new P-Limit of the tables
268 }
269 }
270 else // This isotope wasn't initialized => CREATE
271 {
272 lastPAR = new G4double[nPoints]; // Allocate memory for parameters of CS function
273 lastPAR[nLast]=0; // Initialization for VALGRIND
274 lastCST = new G4double[nPoints]; // Allocate memory for Tabulated CS function
275 lastSST = new G4double[nPoints]; // Allocate memory for Tabulated first sqaredSlope
276 lastS1T = new G4double[nPoints]; // Allocate memory for Tabulated first mantissa
277 lastB1T = new G4double[nPoints]; // Allocate memory for Tabulated first slope
278 lastS2T = new G4double[nPoints]; // Allocate memory for Tabulated second mantissa
279 lastB2T = new G4double[nPoints]; // Allocate memory for Tabulated second slope
280 lastS3T = new G4double[nPoints]; // Allocate memory for Tabulated third mantissa
281 lastB3T = new G4double[nPoints]; // Allocate memory for Tabulated third slope
282 lastS4T = new G4double[nPoints]; // Allocate memory for Tabulated 4-th mantissa
283 lastB4T = new G4double[nPoints]; // Allocate memory for Tabulated 4-th slope
284 lastPIN = GetPTables(lastLP,lPMin,PDG,tgZ,tgN); // Returns the new P-limit for tables
285 PIN.push_back(lastPIN); // Fill parameters of CS function to AMDB
286 PAR.push_back(lastPAR); // Fill parameters of CS function to AMDB
287 CST.push_back(lastCST); // Fill Tabulated CS function to AMDB
288 SST.push_back(lastSST); // Fill Tabulated first sq.slope to AMDB
289 S1T.push_back(lastS1T); // Fill Tabulated first mantissa to AMDB
290 B1T.push_back(lastB1T); // Fill Tabulated first slope to AMDB
291 S2T.push_back(lastS2T); // Fill Tabulated second mantissa to AMDB
292 B2T.push_back(lastB2T); // Fill Tabulated second slope to AMDB
293 S3T.push_back(lastS3T); // Fill Tabulated third mantissa to AMDB
294 B3T.push_back(lastB3T); // Fill Tabulated third slope to AMDB
295 S4T.push_back(lastS4T); // Fill Tabulated 4-th mantissa to AMDB
296 B4T.push_back(lastB4T); // Fill Tabulated 4-th slope to AMDB
297 } // End of creation/update of the new set of parameters and tables
298 // =-------= NOW Update (if necessary) and Calculate the Cross Section =---------=
300 {
301 lastPIN = GetPTables(lastLP,lastPIN,PDG,tgZ,tgN);
302 }
303 if(!onlyCS) lastTM=GetQ2max(PDG, tgZ, tgN, pMom); // Calculate (-t)_max=Q2_max (GeV2)
304 if(lastLP>lPMin && lastLP<=lastPIN) // Linear fit is made using precalculated tables
305 {
306 if(lastLP==lastPIN)
307 {
308 G4double shift=(lastLP-lPMin)/dlnP+.000001; // Log distance from lPMin
309 G4int blast=static_cast<int>(shift); // this is a bin number of the lower edge (0)
310 if(blast<0 || blast>=nLast) G4cout<<"G4QNeutElCS::CCS:b="<<blast<<","<<nLast<<G4endl;
311 lastSIG = lastCST[blast];
312 if(!onlyCS) // Skip the differential cross-section parameters
313 {
314 theSS = lastSST[blast];
315 theS1 = lastS1T[blast];
316 theB1 = lastB1T[blast];
317 theS2 = lastS2T[blast];
318 theB2 = lastB2T[blast];
319 theS3 = lastS3T[blast];
320 theB3 = lastB3T[blast];
321 theS4 = lastS4T[blast];
322 theB4 = lastB4T[blast];
323 }
324 }
325 else
326 {
327 G4double shift=(lastLP-lPMin)/dlnP; // a shift from the beginning of the table
328 G4int blast=static_cast<int>(shift); // the lower bin number
329 if(blast<0) blast=0;
330 if(blast>=nLast) blast=nLast-1; // low edge of the last bin
331 shift-=blast; // step inside the unit bin
332 G4int lastL=blast+1; // the upper bin number
333 G4double SIGL=lastCST[blast]; // the basic value of the cross-section
334 lastSIG= SIGL+shift*(lastCST[lastL]-SIGL); // calculated total elastic cross-section
335 if(!onlyCS) // Skip the differential cross-section parameters
336 {
337 G4double SSTL=lastSST[blast]; // the low bin of the first squared slope
338 theSS=SSTL+shift*(lastSST[lastL]-SSTL); // the basic value of the first sq.slope
339 G4double S1TL=lastS1T[blast]; // the low bin of the first mantissa
340 theS1=S1TL+shift*(lastS1T[lastL]-S1TL); // the basic value of the first mantissa
341 G4double B1TL=lastB1T[blast]; // the low bin of the first slope
342 theB1=B1TL+shift*(lastB1T[lastL]-B1TL); // the basic value of the first slope
343 G4double S2TL=lastS2T[blast]; // the low bin of the second mantissa
344 theS2=S2TL+shift*(lastS2T[lastL]-S2TL); // the basic value of the second mantissa
345 G4double B2TL=lastB2T[blast]; // the low bin of the second slope
346 theB2=B2TL+shift*(lastB2T[lastL]-B2TL); // the basic value of the second slope
347 G4double S3TL=lastS3T[blast]; // the low bin of the third mantissa
348 theS3=S3TL+shift*(lastS3T[lastL]-S3TL); // the basic value of the third mantissa
349 G4double B3TL=lastB3T[blast]; // the low bin of the third slope
350 theB3=B3TL+shift*(lastB3T[lastL]-B3TL); // the basic value of the third slope
351 G4double S4TL=lastS4T[blast]; // the low bin of the 4-th mantissa
352 theS4=S4TL+shift*(lastS4T[lastL]-S4TL); // the basic value of the 4-th mantissa
353 G4double B4TL=lastB4T[blast]; // the low bin of the 4-th slope
354 theB4=B4TL+shift*(lastB4T[lastL]-B4TL); // the basic value of the 4-th slope
355 }
356 }
357 }
358 else lastSIG=GetTabValues(lastLP, PDG, tgZ, tgN); // Direct calculation beyond the table
359 if(lastSIG<0.) lastSIG = 0.; // @@ a Warning print can be added
360 return lastSIG;
361}
static constexpr double GeV
Definition: G4SIunits.hh:203
double G4double
Definition: G4Types.hh:83
int G4int
Definition: G4Types.hh:85
#define G4endl
Definition: G4ios.hh:57
G4GLOB_DLL std::ostream G4cout
G4double GetPTables(G4double lpP, G4double lPm, G4int PDG, G4int tZ, G4int tN)
G4double GetQ2max(G4int pPDG, G4int tgZ, G4int tgN, G4double pP)
std::vector< G4double > PIN
G4double GetTabValues(G4double lp, G4int pPDG, G4int tgZ, G4int tgN)

References B1T, B2T, B3T, B4T, CST, dlnP, G4cout, G4endl, GetPTables(), GetQ2max(), GetTabValues(), GeV, lastB1T, lastB2T, lastB3T, lastB4T, lastCST, lastLP, lastPAR, lastPIN, lastS1T, lastS2T, lastS3T, lastS4T, lastSIG, lastSST, lastTM, lPMax, lPMin, nLast, nPoints, onlyCS, PAR, PIN, S1T, S2T, S3T, S4T, SST, theB1, theB2, theB3, theB4, theS1, theS2, theS3, theS4, and theSS.

Referenced by GetChipsCrossSection().

◆ 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 G4ChipsNeutronElasticXS::CrossSectionDescription ( std::ostream &  outFile) const
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 144 of file G4ChipsNeutronElasticXS.cc.

145{
146 outFile << "G4ChipsNeutronElasticXS provides the elastic cross\n"
147 << "section for neutron nucleus scattering as a function of incident\n"
148 << "momentum. The cross section is calculated using M. Kossov's\n"
149 << "CHIPS parameterization of cross section data.\n";
150}

◆ Default_Name()

static const char * G4ChipsNeutronElasticXS::Default_Name ( )
inlinestatic

◆ DumpPhysicsTable()

void G4VCrossSectionDataSet::DumpPhysicsTable ( const G4ParticleDefinition )
virtualinherited

◆ ForAllAtomsAndEnergies()

bool G4VCrossSectionDataSet::ForAllAtomsAndEnergies ( ) const
inlineinherited

◆ GetChipsCrossSection()

G4double G4ChipsNeutronElasticXS::GetChipsCrossSection ( G4double  momentum,
G4int  Z,
G4int  N,
G4int  pdg 
)
virtual

!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)

Definition at line 172 of file G4ChipsNeutronElasticXS.cc.

173{
174
175 G4double pEn=pMom;
176 onlyCS=false;
177
178 G4bool in=false; // By default the isotope must be found in the AMDB
179 lastP = 0.; // New momentum history (nothing to compare with)
180 lastN = tgN; // The last N of the calculated nucleus
181 lastZ = tgZ; // The last Z of the calculated nucleus
182 lastI = colN.size(); // Size of the Associative Memory DB in the heap
183 if(lastI) for(G4int i=0; i<lastI; i++) // Loop over proj/tgZ/tgN lines of DB
184 { // The nucleus with projPDG is found in AMDB
185 if(colN[i]==tgN && colZ[i]==tgZ) // Isotope is foind in AMDB
186 {
187 lastI=i;
188 lastTH =colTH[i]; // Last THreshold (A-dependent)
189 if(pEn<=lastTH)
190 {
191 return 0.; // Energy is below the Threshold value
192 }
193 lastP =colP [i]; // Last Momentum (A-dependent)
194 lastCS =colCS[i]; // Last CrossSect (A-dependent)
195 // if(std::fabs(lastP/pMom-1.)<tolerance) //VI (do not use tolerance)
196 if(lastP == pMom) // Do not recalculate
197 {
198 CalculateCrossSection(false,-1,i,2112,lastZ,lastN,pMom); // Update param's only
199 return lastCS*millibarn; // Use theLastCS
200 }
201 in = true; // This is the case when the isotop is found in DB
202 // Momentum pMom is in IU ! @@ Units
203 lastCS=CalculateCrossSection(false,-1,i,2112,lastZ,lastN,pMom); // read & update
204 if(lastCS<=0. && pEn>lastTH) // Correct the threshold
205 {
206 lastTH=pEn;
207 }
208 break; // Go out of the LOOP with found lastI
209 }
210 }
211 if(!in) // This nucleus has not been calculated previously
212 {
214 lastCS=CalculateCrossSection(false,0,lastI,2112,lastZ,lastN,pMom);//calculate&create
215 if(lastCS<=0.)
216 {
217 lastTH = 0; // ThresholdEnergy(tgZ, tgN); // The Threshold Energy which is now the last
218 if(pEn>lastTH)
219 {
220 lastTH=pEn;
221 }
222 }
223 colN.push_back(tgN);
224 colZ.push_back(tgZ);
225 colP.push_back(pMom);
226 colTH.push_back(lastTH);
227 colCS.push_back(lastCS);
228 return lastCS*millibarn;
229 } // End of creation of the new set of parameters
230 else
231 {
232 colP[lastI]=pMom;
234 }
235 return lastCS*millibarn;
236}
static constexpr double millibarn
Definition: G4SIunits.hh:86
bool G4bool
Definition: G4Types.hh:86
std::vector< G4double > colP
std::vector< G4double > colTH
G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int pPDG, G4int Z, G4int N, G4double pP)
std::vector< G4double > colCS

References CalculateCrossSection(), colCS, colN, colP, colTH, colZ, lastCS, lastI, lastN, lastP, lastTH, lastZ, millibarn, and onlyCS.

Referenced by G4QuasiElRatios::ChExer(), G4ChipsComponentXS::GetElasticElementCrossSection(), GetIsoCrossSection(), G4ChipsComponentXS::GetTotalElementCrossSection(), G4ChipsElasticModel::SampleInvariantT(), and G4QuasiElRatios::Scatter().

◆ 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().

◆ 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().

◆ GetExchangeT()

G4double G4ChipsNeutronElasticXS::GetExchangeT ( G4int  tZ,
G4int  tN,
G4int  pPDG 
)

Definition at line 1868 of file G4ChipsNeutronElasticXS.cc.

1869{
1871 static const G4double third=1./3.;
1872 static const G4double fifth=1./5.;
1873 static const G4double sevth=1./7.;
1874 if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetExT:PDG="<<PDG<<G4endl;
1875 if(onlyCS) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetExchangeT:onCS=1"<<G4endl;
1876 if(lastLP<-4.3) return lastTM*GeVSQ*G4UniformRand();// S-wave for p<14 MeV/c (kinE<.1MeV)
1877 G4double q2=0.;
1878 if(tgZ==1 && tgN==0) // ===> n+p=n+p
1879 {
1881 G4double R1=(1.-std::exp(-E1));
1883 G4double R2=(1.-std::exp(-E2));
1884 G4double I1=R1*theS1;
1885 G4double I2=R2*theS2/theB2;
1886 //G4double I3=R3*theS3/theB3;
1887 G4double I12=I1+I2;
1888 //G4double rand=(I12+I3)*G4UniformRand();
1889 G4double rand=I12*G4UniformRand();
1890 if (rand<I1 )
1891 {
1892 G4double ran=R1*G4UniformRand();
1893 if(ran>1.) ran=1.;
1894 q2=-std::log(1.-ran)/theB1; // t-chan
1895 }
1896 else
1897 {
1898 G4double ran=R2*G4UniformRand();
1899 if(ran>1.) ran=1.;
1900 q2=lastTM+std::log(1.-ran)/theB2; // u-chan (ChEx)
1901 }
1902 }
1903 else
1904 {
1905 G4double a=tgZ+tgN;
1907 G4double R1=(1.-std::exp(-E1));
1908 G4double tss=theSS+theSS; // for future solution of quadratic equation (imediate check)
1910 G4double E2=lastTM*tm2*theB2; // power 3 for lowA, 5 for HighA (1st)
1911 if(a>6.5)E2*=tm2; // for heavy nuclei
1912 G4double R2=(1.-std::exp(-E2));
1914 if(a>6.5)E3*=tm2*tm2*tm2; // power 1 for lowA, 7 (2nd) for HighA
1915 G4double R3=(1.-std::exp(-E3));
1917 G4double R4=(1.-std::exp(-E4));
1918 G4double I1=R1*theS1;
1919 G4double I2=R2*theS2;
1920 G4double I3=R3*theS3;
1921 G4double I4=R4*theS4;
1922 G4double I12=I1+I2;
1923 G4double I13=I12+I3;
1924 G4double rand=(I13+I4)*G4UniformRand();
1925 if(rand<I1)
1926 {
1927 G4double ran=R1*G4UniformRand();
1928 if(ran>1.) ran=1.;
1929 q2=-std::log(1.-ran)/theB1;
1930 if(std::fabs(tss)>1.e-7) q2=(std::sqrt(theB1*(theB1+(tss+tss)*q2))-theB1)/tss;
1931 }
1932 else if(rand<I12)
1933 {
1934 G4double ran=R2*G4UniformRand();
1935 if(ran>1.) ran=1.;
1936 q2=-std::log(1.-ran)/theB2;
1937 if(q2<0.) q2=0.;
1938 if(a<6.5) q2=std::pow(q2,third);
1939 else q2=std::pow(q2,fifth);
1940 }
1941 else if(rand<I13)
1942 {
1943 G4double ran=R3*G4UniformRand();
1944 if(ran>1.) ran=1.;
1945 q2=-std::log(1.-ran)/theB3;
1946 if(q2<0.) q2=0.;
1947 if(a>6.5) q2=std::pow(q2,sevth);
1948 }
1949 else
1950 {
1951 G4double ran=R4*G4UniformRand();
1952 if(ran>1.) ran=1.;
1953 q2=-std::log(1.-ran)/theB4;
1954 if(a<6.5) q2=lastTM-q2; // u reduced for lightA (starts from 0)
1955 }
1956 }
1957 if(q2<0.) q2=0.;
1958 if(!(q2>=-1.||q2<=1.)) G4cout<<"*NAN*G4QNeutronElCroSect::GetExchangeT: -t="<<q2<<G4endl;
1959 if(q2>lastTM)
1960 {
1961 q2=lastTM;
1962 }
1963 return q2*GeVSQ;
1964}
static constexpr double gigaelectronvolt
Definition: G4SIunits.hh:194
#define G4UniformRand()
Definition: Randomize.hh:52

References anonymous_namespace{G4ChipsKaonMinusElasticXS.cc}::fifth, G4cout, G4endl, G4UniformRand, anonymous_namespace{G4ChipsKaonMinusElasticXS.cc}::GeVSQ, gigaelectronvolt, lastLP, lastTM, onlyCS, anonymous_namespace{G4ChipsKaonMinusElasticXS.cc}::sevth, theB1, theB2, theB3, theB4, theS1, theS2, theS3, theS4, theSS, and anonymous_namespace{G4ChipsKaonMinusElasticXS.cc}::third.

Referenced by G4QuasiElRatios::ChExer(), G4ChipsElasticModel::SampleInvariantT(), and G4QuasiElRatios::Scatter().

◆ GetHMaxT()

G4double G4ChipsNeutronElasticXS::GetHMaxT ( )

◆ GetIsoCrossSection()

G4double G4ChipsNeutronElasticXS::GetIsoCrossSection ( const G4DynamicParticle Pt,
G4int  tgZ,
G4int  A,
const G4Isotope iso = 0,
const G4Element elm = 0,
const G4Material mat = 0 
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 159 of file G4ChipsNeutronElasticXS.cc.

163{
164 G4double pMom=Pt->GetTotalMomentum();
165 G4int tgN = A - tgZ;
166
167 return GetChipsCrossSection(pMom, tgZ, tgN, 2112);
168}
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
G4double GetTotalMomentum() const

References A, GetChipsCrossSection(), and G4DynamicParticle::GetTotalMomentum().

◆ GetMaxKinEnergy()

G4double G4VCrossSectionDataSet::GetMaxKinEnergy ( ) const
inlineinherited

◆ GetMinKinEnergy()

G4double G4VCrossSectionDataSet::GetMinKinEnergy ( ) const
inlineinherited

◆ GetName()

const G4String & G4VCrossSectionDataSet::GetName ( ) const
inlineinherited

◆ GetPTables()

G4double G4ChipsNeutronElasticXS::GetPTables ( G4double  lpP,
G4double  lPm,
G4int  PDG,
G4int  tZ,
G4int  tN 
)
private

Definition at line 364 of file G4ChipsNeutronElasticXS.cc.

366{
367 // @@ At present all nA==pA ---------> Each neucleus can have not more than 51 parameters
368 static const G4double pwd=2727;
369 const G4int n_npel=24; // #of parameters for np-elastic (<nPoints=128)
370 const G4int n_ppel=32; // #of parameters for pp-elastic (<nPoints=128)
371 // -0- -1- -2- -3- -4- -5- -6- -7- -8- -9--10--11--12--13- -14-
372 G4double np_el[n_npel]={12.,.05,.0001,5.,.35,6.75,.14,19.,.6,6.75,.14,13.,.14,.6,.00013,
373 75.,.001,7.2,4.32,.012,2.5,0.0,12.,.34};
374 // -15--16--17- -18- -19--20--21--22--23-
375 // -0- -1- -2- -3- -4- -5- -6- -7- -8--9--10--11--12--13-
376 G4double pp_el[n_ppel]={2.865,18.9,.6461,3.,9.,.425,.4276,.0022,5.,74.,3.,3.4,.2,.17,
377 .001,8.,.055,3.64,5.e-5,4000.,1500.,.46,1.2e6,3.5e6,5.e-5,1.e10,
378 8.5e8,1.e10,1.1,3.4e6,6.8e6,0.};
379 // -14--15- -16- -17- -18- -19- -20- -21- -22- -23- -24- -25-
380 // -26- -27- -28- -29- -30- -31-
381 //==> n (Z=0)
382 static const G4int N0=1; // *** Not used (fake)***
383 static const G4double pZ0N1[7]={0., 0., 0., 0., 0., 0., 0.}; // Not used (fake)
384 static const std::pair<G4int, const G4double*> Z0N1(1,pZ0N1);
385 static const std::pair<G4int, const G4double*> Z0[N0]={Z0N1};
386 //==> H (Z=1) *** protons are treated separately ***
387 static const G4int N1=3;
388 static const G4double pZ1N0[7]={0., 0., 0., 0., 0., 0., 0.}; // Not used (fake)
389 static const std::pair<G4int, const G4double*> Z1N0(0,pZ1N0);
390 static const G4double pZ1N1[7]={6.E-5, 4., .055, 1.1E-8, .008, 1.2E-8, .019};
391 static const std::pair<G4int, const G4double*> Z1N1(1,pZ1N1);
392 static const G4double pZ1N2[7]={6.E-5, 2.2, .051, 1.E-8, .04, 9.E-8, .0075};
393 static const std::pair<G4int, const G4double*> Z1N2(2,pZ1N2);
394 static const std::pair<G4int, const G4double*> Z1[N1]={Z1N0, Z1N1, Z1N2};
395 //==> He(Z=2)
396 static const G4int N2=2;
397 static const G4double pZ2N1[7]={6.E-5, 3., .06, 4.E-9, .03, 7.E-8, .015};
398 static const std::pair<G4int, const G4double*> Z2N1(1,pZ2N1);
399 static const G4double pZ2N2[7]={3.E-4, .23, 1., 1.5E-9, 2.E-02, 1.E-8, .003};
400 static const std::pair<G4int, const G4double*> Z2N2(2,pZ2N2);
401 static const std::pair<G4int, const G4double*> Z2[N2]={Z2N1, Z2N2};
402 //==> Li(Z=3)
403 static const G4int N3=2;
404 static const G4double pZ3N3[7]={3.1E-7, 1.7, 1.3E-4, 1.E-8, .02, 1.1E-7, .0023};
405 static const std::pair<G4int, const G4double*> Z3N1(3,pZ3N3);
406 static const G4double pZ3N4[7]={1.3E-6, 1.8, 7.6E-4, 9.E-9, .03, 1.E-7, .0029};
407 static const std::pair<G4int, const G4double*> Z3N2(4,pZ3N4);
408 static const std::pair<G4int, const G4double*> Z3[N3]={Z3N1, Z3N2};
409 //==> Be(Z=4)
410 static const G4int N4=2;
411 static const G4double pZ4N3[7]={2.E-4, 1.4, 2.7, 0., .02, 5.E-8, 0.};
412 static const std::pair<G4int, const G4double*> Z4N3(3,pZ4N3);
413 static const G4double pZ4N5[7]={1.E-6, 5.7, .0011, 3.E-9, .007, 2.E-8, .016};
414 static const std::pair<G4int, const G4double*> Z4N5(5,pZ4N5);
415 static const std::pair<G4int, const G4double*> Z4[N4]={Z4N3,Z4N5};
416 //==> B (Z=5)
417 static const G4int N5=2;
418 static const G4double pZ5N5[7]={8.E-7, 5., 3.4E-4, 7.E-9, 1.E-02, 1.E-07, .0053};
419 static const std::pair<G4int, const G4double*> Z5N5(5,pZ5N5);
420 static const G4double pZ5N6[7]={4.8E-6, 6.6, .0035, 4.E-9, .003, 1.E-8, .012};
421 static const std::pair<G4int, const G4double*> Z5N6(6,pZ5N6);
422 static const std::pair<G4int, const G4double*> Z5[N5]={Z5N5, Z5N6};
423 //==> C (Z=6) *** Only nat (C13=C12=C_nat) ***
424 static const G4int N6=2;
425 static const G4double pZ6N6[7]={4.9E-6, 6.6, .0035, 4.E-9, .002, 6.E-9, .011};
426 static const std::pair<G4int, const G4double*> Z6N6(6,pZ6N6);
427 static const G4double pZ6N7[7]={4.9E-6, 6.6, .0035, 4.E-9, .002, 6.E-9, .011};
428 static const std::pair<G4int, const G4double*> Z6N7(7,pZ6N7);
429 static const std::pair<G4int, const G4double*> Z6[N6]={Z6N6, Z6N7};
430 //==> N (Z=7)
431 static const G4int N7=2;
432 static const G4double pZ7N7[7]={4.9E-6, 1.6, .03, .4E-9, .02, 6.E-8, .021};
433 static const std::pair<G4int, const G4double*> Z7N7(7,pZ7N7);
434 static const G4double pZ7N8[7]={2.5E-6, 5., .0021, 2.5E-9, .015, 5.E-8, .009};
435 static const std::pair<G4int, const G4double*> Z7N8(8,pZ7N8);
436 static const std::pair<G4int, const G4double*> Z7[N7]={Z7N7, Z7N8};
437 //==> O (Z=8) (O18=O17, No data)
438 static const G4int N8=3;
439 static const G4double pZ8N8[7]={2.5E-6, 5.3, .0018, 3.E-9, .01, 1.5E-8, .0075};
440 static const std::pair<G4int, const G4double*> Z8N8(8,pZ8N8);
441 static const G4double pZ8N9[7]={1.4E-6, 2.1, .0025, 1.3E-9, .02, 1.3E-7, .0072};
442 static const std::pair<G4int, const G4double*> Z8N9(9,pZ8N9);
443 static const G4double pZ8N10[7]={1.4E-6, 2.1, .0025, 1.3E-9, .02, 1.3E-7, .0072};
444 static const std::pair<G4int, const G4double*> Z8N10(10,pZ8N10);
445 static const std::pair<G4int, const G4double*> Z8[N8]={Z8N8, Z8N9, Z8N10};
446 //==> F (Z=9)
447 static const G4int N9=1;
448 static const G4double pZ9N10[7]={1.4E-6, 7.5, 6.7E-4, 4.E-9, 2.E-5, 7.E-12, .0066};
449 static const std::pair<G4int, const G4double*> Z9N10(10,pZ9N10);
450 static const std::pair<G4int, const G4double*> Z9[N9]={Z9N10};
451 //==> Ne(Z=10) *** No data *** (Ne20=Na22, Ne21=F19, Ne22=Na22)
452 static const G4int N10=3;
453 static const G4double pZ10N10[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
454 static const std::pair<G4int, const G4double*> Z10N10(10,pZ10N10);
455 static const G4double pZ10N11[7]={1.4E-6, 7.5, 6.7E-4, 4.E-9, 2.E-5, 7.E-12, .0066};
456 static const std::pair<G4int, const G4double*> Z10N11(11,pZ10N11);
457 static const G4double pZ10N12[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
458 static const std::pair<G4int, const G4double*> Z10N12(12,pZ10N12);
459 static const std::pair<G4int, const G4double*> Z10[N10]={Z10N10, Z10N11, Z10N12};
460 //==> Na(Z=11)
461 static const G4int N11=2;
462 static const G4double pZ11N11[7]={1.4E-5, 7., .01, 0., 3.E-11, 7.E-24, .12};
463 static const std::pair<G4int, const G4double*> Z11N11(11,pZ11N11);
464 static const G4double pZ11N12[7]={1.4E-6, 7.6, 6.E-4, 5.E-9, 7.E-9, 3.E-18, .0056};
465 static const std::pair<G4int, const G4double*> Z11N12(12,pZ11N12);
466 static const std::pair<G4int, const G4double*> Z11[N11]={Z11N11, Z11N12};
467 //==> Mg(Z=12)
468 static const G4int N12=3;
469 static const G4double pZ12N12[7]={8.E-7, 3., .001, 1.8E-9, .0015, .2E-9, .006};
470 static const std::pair<G4int, const G4double*> Z12N12(12,pZ12N12);
471 static const G4double pZ12N13[7]={8.E-7, 7., 3.E-4, 6.E-9, .006, 4.E-8, .0042};
472 static const std::pair<G4int, const G4double*> Z12N13(13,pZ12N13);
473 static const G4double pZ12N14[7]={1.2E-6, 6.8, 5.E-4, 5.E-9, .007, 2.E-8, .0044};
474 static const std::pair<G4int, const G4double*> Z12N14(14,pZ12N14);
475 static const std::pair<G4int, const G4double*> Z12[N12]={Z12N12, Z12N13, Z12N14};
476 //==> Al(Z=13)
477 static const G4int N13=1;
478 static const G4double pZ13N14[7]={3.E-7, 5., 8.4E-5, 7.E-9, .008, 2.E-8, .0022};
479 static const std::pair<G4int, const G4double*> Z13N14(14,pZ13N14);
480 static const std::pair<G4int, const G4double*> Z13[N13]={Z13N14};
481 //==> Si(Z=14)
482 static const G4int N14=3;
483 static const G4double pZ14N14[7]={1.2E-6, 6., 4.E-4, 6.E-9, .012, 8.E-8, .0029};
484 static const std::pair<G4int, const G4double*> Z14N14(14,pZ14N14);
485 static const G4double pZ14N15[7]={2.4E-6, 4., .0016, 3.E-9, .018, 6.E-8, .0037};
486 static const std::pair<G4int, const G4double*> Z14N15(15,pZ14N15);
487 static const G4double pZ14N16[7]={6.E-7, 4., 3.7E-4, 3.E-9, .018, 6.E-8, .0036};
488 static const std::pair<G4int, const G4double*> Z14N16(16,pZ14N16);
489 static const std::pair<G4int, const G4double*> Z14[N14]={Z14N14, Z14N15, Z14N16};
490 //==> P (Z=15)
491 static const G4int N15=1;
492 static const G4double pZ15N16[7]={6.E-7, 3., 8.2E-4, 1.4E-9, .03, 8.E-8, .0059};
493 static const std::pair<G4int, const G4double*> Z15N16(16,pZ15N16);
494 static const std::pair<G4int, const G4double*> Z15[N15]={Z15N16};
495 //==> S (Z=16)
496 static const G4int N16=4;
497 static const G4double pZ16N16[7]={6.E-7, 3., 1.9E-4, 5.E-9, .03, 6.E-8, .0013};
498 static const std::pair<G4int, const G4double*> Z16N16(16,pZ16N16);
499 static const G4double pZ16N17[7]={2.4E-6, 3., .0023, 2.E-9, .03, 6.5E-8, .004};
500 static const std::pair<G4int, const G4double*> Z16N17(17,pZ16N17);
501 static const G4double pZ16N18[7]={2.4E-6, 1.6, .0031, 1.4E-9, .03, 4.E-08, .0028};
502 static const std::pair<G4int, const G4double*> Z16N18(18,pZ16N18);
503 static const G4double pZ16N20[7]={2.4E-6, 3.1, .0017, 2.5E-9, .03, 5.E-08, .0029};
504 static const std::pair<G4int, const G4double*> Z16N20(20,pZ16N20);
505 static const std::pair<G4int, const G4double*> Z16[N16]={Z16N16, Z16N17, Z16N18, Z16N20};
506 //==> Cl(Z=17)
507 static const G4int N17=2;
508 static const G4double pZ17N18[7]={1.2E-7, .04, .062, 3.E-12, 3.E-02, 3.E-08, .027};
509 static const std::pair<G4int, const G4double*> Z17N18(18,pZ17N18);
510 static const G4double pZ17N20[7]={1.2E-7, 2., 6.8E-5, 2.7E-9, .03, 4.E-8, .0015};
511 static const std::pair<G4int, const G4double*> Z17N20(20,pZ17N20);
512 static const std::pair<G4int, const G4double*> Z17[N17]={Z17N18, Z17N20};
513 //==> Ar(Z=18)
514 static const G4int N18=3;
515 static const G4double pZ18N18[7]={1.2E-7, .52, .017, 1.1E-11, .03, 3.E-8, .095};
516 static const std::pair<G4int, const G4double*> Z18N18(18,pZ18N18);
517 static const G4double pZ18N20[7]={1.2E-07, .09, .012, 1.8E-11, .03, 3.E-8, .011};
518 static const std::pair<G4int, const G4double*> Z18N20(20,pZ18N20);
519 static const G4double pZ18N22[7]={1.2E-7, .65, 1.2E-4, 1.5E-9, .03, 5.E-8, 8.E-4};
520 static const std::pair<G4int, const G4double*> Z18N22(22,pZ18N22);
521 static const std::pair<G4int, const G4double*> Z18[N18]={Z18N18, Z18N20, Z18N22};
522 //==> K (Z=19)
523 static const G4int N19=3;
524 static const G4double pZ19N20[7]={1.2E-7, 1.3, 1.9E-4, .9E-9, .04, 5.5E-8, .0026};
525 static const std::pair<G4int, const G4double*> Z19N20(20,pZ19N20);
526 static const G4double pZ19N21[7]={1.6E-7, 1.2, 3.7E-4, .8E-9, .04, 6.5E-8, .0034};
527 static const std::pair<G4int, const G4double*> Z19N21(21,pZ19N21);
528 static const G4double pZ19N22[7]={6.E-8, 1.3, 1.2E-4, .9E-9, .04, 6.E-8, .0031};
529 static const std::pair<G4int, const G4double*> Z19N22(22,pZ19N22);
530 static const std::pair<G4int, const G4double*> Z19[N19]={Z19N20, Z19N21, Z19N22};
531 //==> Ca(Z=20)
532 static const G4int N20=6;
533 static const G4double pZ20N20[7]={2.4E-7, 3.4, 2.1E-4, 1.5E-9, .035, 6.E-8, .0037};
534 static const std::pair<G4int, const G4double*> Z20N20(20,pZ20N20);
535 static const G4double pZ20N22[7]={6.E-8, 2.7, 2.7E-5, 3.E-9, .035, 6.E-8, .0014};
536 static const std::pair<G4int, const G4double*> Z20N22(22,pZ20N22);
537 static const G4double pZ20N23[7]={1.5E-8, 1.8, 3.4E-5, .6E-9, .04, 6.E-8, .0049};
538 static const std::pair<G4int, const G4double*> Z20N23(23,pZ20N23);
539 static const G4double pZ20N24[7]={3.E-6, 5., .002, 2.E-9, .03, 7.E-8, .0038};
540 static const std::pair<G4int, const G4double*> Z20N24(24,pZ20N24);
541 static const G4double pZ20N26[7]={1.7E-5, 18., .0027, 1.E-8, 2.E-7, 7.E-17, .0047};
542 static const std::pair<G4int, const G4double*> Z20N26(26,pZ20N26);
543 static const G4double pZ20N28[7]={7.6E-6, .4, .07, .13E-9, .05, 4.E-8, .0042};
544 static const std::pair<G4int, const G4double*> Z20N28(28,pZ20N28);
545 static const std::pair<G4int, const G4double*> Z20[N20]={Z20N20, Z20N22, Z20N23,
546 Z20N24, Z20N26, Z20N28};
547 //==> Sc(Z=21)
548 static const G4int N21=1;
549 static const G4double pZ21N24[7]={3.6E-9, 1.5, 5.2E-5, .1E-9, .05, 1.E-7, .025};
550 static const std::pair<G4int, const G4double*> Z21N24(24,pZ21N24);
551 static const std::pair<G4int, const G4double*> Z21[N21]={Z21N24};
552 //==> Ti(Z=22)
553 static const G4int N22=5;
554 static const G4double pZ22N24[7]={2.8E-8, 1.8, 5.6E-5, .6E-9, .05, 8.E-8, .0042};
555 static const std::pair<G4int, const G4double*> Z22N24(24,pZ22N24);
556 static const G4double pZ22N25[7]={3.1E-9, 1.6, 6.E-6, .8E-9, .04, 8.E-8, .0036};
557 static const std::pair<G4int, const G4double*> Z22N25(25,pZ22N25);
558 static const G4double pZ22N26[7]={3.E-9, 4., 3.2E-6, 1.4E-9, .05, 2.E-7, .0048};
559 static const std::pair<G4int, const G4double*> Z22N26(26,pZ22N26);
560 static const G4double pZ22N27[7]={1.E-8, 2., 3.4E-6, 4.5E-9, .05, 8.E-8, 7.7E-4};
561 static const std::pair<G4int, const G4double*> Z22N27(27,pZ22N27);
562 static const G4double pZ22N28[7]={4.E-7, 4., 3.7E-4, 1.E-09, .05, 1.E-7, .0041};
563 static const std::pair<G4int, const G4double*> Z22N28(28,pZ22N28);
564 static const std::pair<G4int, const G4double*> Z22[N22]={Z22N24, Z22N25, Z22N26,
565 Z22N27, Z22N28};
566 //==> V (Z=23) *** Only nat *** (v50=v51=v_nat)
567 static const G4int N23=2;
568 static const G4double pZ23N27[7]={.3E-9, 2., 8.E-7, .55E-9, .07, 1.7E-7, .0055};
569 static const std::pair<G4int, const G4double*> Z23N27(27,pZ23N27);
570 static const G4double pZ23N28[7]={.3E-9, 2., 8.E-7, .55E-9, .07, 1.7E-7, .0055};
571 static const std::pair<G4int, const G4double*> Z23N28(28,pZ23N28);
572 static const std::pair<G4int, const G4double*> Z23[N23]={Z23N27, Z23N28};
573 //==> Cr(Z=24)
574 static const G4int N24=4;
575 static const G4double pZ24N26[7]={1.2E-9, 2.8, 1.E-6, 1.7E-9, .07, 1.7E-7, .0026};
576 static const std::pair<G4int, const G4double*> Z24N26(26,pZ24N26);
577 static const G4double pZ24N28[7]={4.4E-6, 11., .0012, 5.E-9, .04, 3.E-7, .0032};
578 static const std::pair<G4int, const G4double*> Z24N28(28,pZ24N28);
579 static const G4double pZ24N29[7]={1.8E-9, 2.4, 6.3E-6, .5E-9, .07, 2.E-7, .0085};
580 static const std::pair<G4int, const G4double*> Z24N29(29,pZ24N29);
581 static const G4double pZ24N30[7]={4.8E-8, 2.8, 4.4E-5, 1.4E-9, .07, 2.E-7, .0027};
582 static const std::pair<G4int, const G4double*> Z24N30(30,pZ24N30);
583 static const std::pair<G4int, const G4double*> Z24[N24]={Z24N26, Z24N28, Z24N29, Z24N30};
584 //==> Mn(Z=25)
585 static const G4int N25=1;
586 static const G4double pZ25N30[7]={6.5E-11, 1.4, 1.E-7, .8E-9, .07, 1.7E-7, .0022};
587 static const std::pair<G4int, const G4double*> Z25N30(30,pZ25N30);
588 static const std::pair<G4int, const G4double*> Z25[N25]={Z25N30};
589 //==> Fe(Z=26)
590 static const G4int N26=4;
591 static const G4double pZ26N28[7]={3.9E-8, 5., 1.7E-5, 3.E-9, .07, 3.E-7, .0023};
592 static const std::pair<G4int, const G4double*> Z26N28(28,pZ26N28);
593 static const G4double pZ26N30[7]={5.E-9, .4, 1.5E-4, 4.E-11, .1, 3.E-7, .012};
594 static const std::pair<G4int, const G4double*> Z26N30(30,pZ26N30);
595 static const G4double pZ26N31[7]={.5E-9, .5, 2.6E-6, .3E-9, .11, 5.E-7, .0027};
596 static const std::pair<G4int, const G4double*> Z26N31(31,pZ26N31);
597 static const G4double pZ26N32[7]={1.E-7, 3.1, 1.E-4, 1.3E-9, .11, 5.E-7, .0031};
598 static const std::pair<G4int, const G4double*> Z26N32(32,pZ26N32);
599 static const std::pair<G4int, const G4double*> Z26[N26]={Z26N28, Z26N30, Z26N31, Z26N32};
600 //==> Co(Z=27)
601 static const G4int N27=2;
602 static const G4double pZ27N31[7]={4.E-7, 3., .004, 0., .11, 4.5E-7, .07};
603 static const std::pair<G4int, const G4double*> Z27N31(31,pZ27N31);
604 static const G4double pZ27N32[7]={4.E-7, 5., 5.E-4, 1.2E-9, .13, 6.E-7, .006};
605 static const std::pair<G4int, const G4double*> Z27N32(32,pZ27N32);
606 static const std::pair<G4int, const G4double*> Z27[N27]={Z27N32, Z27N31};
607 //==> Ni(Z=28)
608 static const G4int N28=6;
609 static const G4double pZ28N30[7]={1.E-7, 2.5, .001, .14E-9, .13, 6.E-7, .025};
610 static const std::pair<G4int, const G4double*> Z28N30(30,pZ28N30);
611 static const G4double pZ28N31[7]={1.E-7, 19., 1.2E-5, 1.E-8, 4.E-12, 3.E-22, .0024};
612 static const std::pair<G4int, const G4double*> Z28N31(31,pZ28N31);
613 static const G4double pZ28N32[7]={1.E-8, 2.5, 3.9E-6, 3.5E-9, .13, 6.E-7, .001};
614 static const std::pair<G4int, const G4double*> Z28N32(32,pZ28N32);
615 static const G4double pZ28N33[7]={5.E-9, 2.6, 1.5E-5, .42E-9, .13, 7.E-7, .008};
616 static const std::pair<G4int, const G4double*> Z28N33(33,pZ28N33);
617 static const G4double pZ28N34[7]={.24E-9, 2., 1.2E-6, .25E-9, .13, 6.E-7, .0094};
618 static const std::pair<G4int, const G4double*> Z28N34(34,pZ28N34);
619 static const G4double pZ28N36[7]={1.E-8, 3., 5.5E-8, 2.8E-7, .12, 6.E-7, 1.6E-5};
620 static const std::pair<G4int, const G4double*> Z28N36(36,pZ28N36);
621 static const std::pair<G4int, const G4double*> Z28[N28]={Z28N30, Z28N31, Z28N32, Z28N33,
622 Z28N34, Z28N36};
623 //==> Cu(Z=29)
624 static const G4int N29=2;
625 static const G4double pZ29N34[7]={1.1E-7, 3.5, 1.6E-4, .9E-9, .13, 7.E-7, .005};
626 static const std::pair<G4int, const G4double*> Z29N34(34,pZ29N34);
627 static const G4double pZ29N36[7]={1.1E-7, 3.5, 4.3E-4, .3E-9, .13, 7.E-7, .013};
628 static const std::pair<G4int, const G4double*> Z29N36(36,pZ29N36);
629 static const std::pair<G4int, const G4double*> Z29[N29]={Z29N34, Z29N36};
630 //==> Zn(Z=30) *** Only nat *** (zn64=zn66=zn67=zn68=zn70=zn_nat)
631 static const G4int N30=5;
632 static const G4double pZ30N34[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
633 static const std::pair<G4int, const G4double*> Z30N34(34,pZ30N34);
634 static const G4double pZ30N36[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
635 static const std::pair<G4int, const G4double*> Z30N36(36,pZ30N36);
636 static const G4double pZ30N37[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
637 static const std::pair<G4int, const G4double*> Z30N37(37,pZ30N37);
638 static const G4double pZ30N38[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
639 static const std::pair<G4int, const G4double*> Z30N38(38,pZ30N38);
640 static const G4double pZ30N40[7]={1.1E-7, 4., 1.2E-4, 1.2E-9, .17, 7.E-7, .004};
641 static const std::pair<G4int, const G4double*> Z30N40(40,pZ30N40);
642 static const std::pair<G4int, const G4double*> Z30[N30]={Z30N34, Z30N36, Z30N37,
643 Z30N38, Z30N40};
644 //==> Ga(Z=31)
645 static const G4int N31=2;
646 static const G4double pZ31N38[7]={5.E-8, 3.7, 1.1E-4, .55E-9, .17, 8.4E-7, .0076};
647 static const std::pair<G4int, const G4double*> Z31N38(38,pZ31N38);
648 static const G4double pZ31N40[7]={1.E-8, 3.1, 1.7E-5, .7E-9, .17, 9.E-7, .0048};
649 static const std::pair<G4int, const G4double*> Z31N40(40,pZ31N40);
650 static const std::pair<G4int, const G4double*> Z31[N31]={Z31N38, Z31N40};
651 //==> Ge(Z=32)
652 static const G4int N32=5;
653 static const G4double pZ32N38[7]={5.E-5, 4., .17, .35E-9, .17, 9.E-7, .013};
654 static const std::pair<G4int, const G4double*> Z32N38(38,pZ32N38);
655 static const G4double pZ32N40[7]={5.E-7, 4.4, .001, .6E-9, .17, 9.E-7, .008};
656 static const std::pair<G4int, const G4double*> Z32N40(40,pZ32N40);
657 static const G4double pZ32N41[7]={5.E-9, 3., 8.E-6, .7E-9, .17, 1.E-6, .0043};
658 static const std::pair<G4int, const G4double*> Z32N41(41,pZ32N41);
659 static const G4double pZ32N42[7]={1.E-7, 4.2, 1.7E-4, .7E-9, .17, 1.E-6, .0065};
660 static const std::pair<G4int, const G4double*> Z32N42(42,pZ32N42);
661 static const G4double pZ32N44[7]={1.E-6, 4.6, .0018, .6E-9, .17, 1.E-6, .0073};
662 static const std::pair<G4int, const G4double*> Z32N44(44,pZ32N44);
663 static const std::pair<G4int, const G4double*> Z32[N32]={Z32N38, Z32N40, Z32N41,
664 Z32N42, Z32N44};
665 //==> As(Z=33)
666 static const G4int N33=2;
667 static const G4double pZ33N41[7]={1.E-8, 3.4, 1.5E-5, .72E-9, .17, 1.E-6, .0045};
668 static const std::pair<G4int, const G4double*> Z33N41(41,pZ33N41);
669 static const G4double pZ33N42[7]={1.E-8, 4.1, 1.3E-5, .75E-9, .2, 1.2E-6, .0048};
670 static const std::pair<G4int, const G4double*> Z33N42(42,pZ33N42);
671 static const std::pair<G4int, const G4double*> Z33[N33]={Z33N41, Z33N42};
672 //==> Se(Z=34)
673 static const G4int N34=7;
674 static const G4double pZ34N40[7]={6.E-8, 7.2, 6.E-5, 1.E-9, .32, 2.E-6, .0063};
675 static const std::pair<G4int, const G4double*> Z34N40(40,pZ34N40);
676 static const G4double pZ34N42[7]={4.E-5, 7.4, .1, .43E-9, .34, 2.1E-6, .016};
677 static const std::pair<G4int, const G4double*> Z34N42(42,pZ34N42);
678 static const G4double pZ34N43[7]={1.E-7, 6.2, 1.4E-4, .9E-9, .34, 2.1E-6, .0075};
679 static const std::pair<G4int, const G4double*> Z34N43(43,pZ34N43);
680 static const G4double pZ34N44[7]={1.E-7, 6.6, 1.3E-4, .9E-9, .34, 2.1E-6, .0075};
681 static const std::pair<G4int, const G4double*> Z34N44(44,pZ34N44);
682 static const G4double pZ34N45[7]={5.E-8, 6.6, 4.8E-5, 1.2E-9, .4, 2.6E-6, .0055};
683 static const std::pair<G4int, const G4double*> Z34N45(45,pZ34N45);
684 static const G4double pZ34N46[7]={2.E-7, 7.7, 1.3E-4, 1.7E-9, .34, 2.1E-6, .0043};
685 static const std::pair<G4int, const G4double*> Z34N46(46,pZ34N46);
686 static const G4double pZ34N48[7]={2.E-7, 8.3, 1.2E-4, 1.7E-9, .34, 2.1E-6, .0043};
687 static const std::pair<G4int, const G4double*> Z34N48(48,pZ34N48);
688 static const std::pair<G4int, const G4double*> Z34[N34]={Z34N40, Z34N42, Z34N43, Z34N44,
689 Z34N45, Z34N46, Z34N48};
690 //==> Br(Z=35)
691 static const G4int N35=2;
692 static const G4double pZ35N44[7]={5.E-8, 6., 2.8E-5, 2.E-9, .34, 2.1E-6, .0028};
693 static const std::pair<G4int, const G4double*> Z35N44(44,pZ35N44);
694 static const G4double pZ35N46[7]={4.E-8, 6.2, 3.7E-5, 1.1E-9, .34, 2.1E-6, .0049};
695 static const std::pair<G4int, const G4double*> Z35N46(46,pZ35N46);
696 static const std::pair<G4int, const G4double*> Z35[N35]={Z35N44, Z35N46};
697 //==> Kr(Z=36)
698 static const G4int N36=7;
699 static const G4double pZ36N42[7]={1.6E-7, 6.8, 2.E-4, .8E-9, .35, 2.1E-6, .0076};
700 static const std::pair<G4int, const G4double*> Z36N42(42,pZ36N42);
701 static const G4double pZ36N44[7]={1.6E-7, 7.3, 1.6E-4, 1.E-9, .35, 2.1E-6, .0062};
702 static const std::pair<G4int, const G4double*> Z36N44(44,pZ36N44);
703 static const G4double pZ36N46[7]={1.6E-7, 7.3, 3.3E-4, .7E-9, .35, 2.1E-6, .013};
704 static const std::pair<G4int, const G4double*> Z36N46(46,pZ36N46);
705 static const G4double pZ36N47[7]={1.6E-6, 7.3, .003, .6E-9, .35, 2.1E-6, .011};
706 static const std::pair<G4int, const G4double*> Z36N47(47,pZ36N47);
707 static const G4double pZ36N48[7]={1.6E-7, 7.8, 7.6E-5, 2.E-9, .35, 2.1E-6, .0031};
708 static const std::pair<G4int, const G4double*> Z36N48(48,pZ36N48);
709 static const G4double pZ36N49[7]={6.E-7, 8., 4.8E-4, 1.4E-9, .27, 2.1E-6, .0053};
710 static const std::pair<G4int, const G4double*> Z36N49(49,pZ36N49);
711 static const G4double pZ36N50[7]={4.E-7, 8.1, 2.7E-4, 1.6E-9, .35, 2.1E-6, .0045};
712 static const std::pair<G4int, const G4double*> Z36N50(50,pZ36N50);
713 static const std::pair<G4int, const G4double*> Z36[N36]={Z36N42, Z36N44, Z36N46,
714 Z36N47, Z36N48, Z36N49, Z36N50};
715 //==> Rb(Z=37)
716 static const G4int N37=3;
717 static const G4double pZ37N48[7]={1.6E-7, 7.2, 1.4E-4, 1.2E-9, .35, 2.1E-6, .0052};
718 static const std::pair<G4int, const G4double*> Z37N48(48,pZ37N48);
719 static const G4double pZ37N49[7]={8.E-8, 7.1, 4.7E-5, 1.6E-9, .27, 2.1E-6, .0034};
720 static const std::pair<G4int, const G4double*> Z37N49(49,pZ37N49);
721 static const G4double pZ37N50[7]={1.E-7, 8., 5.5E-5, 1.9E-9, .27, 1.5E-6, .0036};
722 static const std::pair<G4int, const G4double*> Z37N50(50,pZ37N50);
723 static const std::pair<G4int, const G4double*> Z37[N37]={Z37N48, Z37N49, Z37N50};
724 //==> Sr(Z=38)
725 static const G4int N38=6;
726 static const G4double pZ38N46[7]={8.E-8, 7.3, 6.E-5, 1.3E-9, .27, 2.E-6, .0045};
727 static const std::pair<G4int, const G4double*> Z38N46(46,pZ38N46);
728 static const G4double pZ38N48[7]={8.E-8, 9.7, 2.3E-5, 3.5E-9, .4, 2.7E-6, .0023};
729 static const std::pair<G4int, const G4double*> Z38N48(48,pZ38N48);
730 static const G4double pZ38N49[7]={2.6E-7, 9.5, 1.9E-4, 1.5E-9, .4, 2.7E-6, .0057};
731 static const std::pair<G4int, const G4double*> Z38N49(49,pZ38N49);
732 static const G4double pZ38N50[7]={2.6E-7, 9.5, 2.E-4, 1.4E-9, .37, 3.2E-6, .0059};
733 static const std::pair<G4int, const G4double*> Z38N50(50,pZ38N50);
734 static const G4double pZ38N51[7]={1.3E-7, 9.9, 7.5E-5, 1.7E-9, .37, 3.2E-6, .0046};
735 static const std::pair<G4int, const G4double*> Z38N51(51,pZ38N51);
736 static const G4double pZ38N52[7]={2.6E-7, 9.6, 1.6E-4, 1.8E-9, .37, 2.7E06, .0047};
737 static const std::pair<G4int, const G4double*> Z38N52(52,pZ38N52);
738 static const std::pair<G4int, const G4double*> Z38[N38]={Z38N46, Z38N48, Z38N49, Z38N50,
739 Z38N51, Z38N52};
740 //==> Y (Z=39)
741 static const G4int N39=3;
742 static const G4double pZ39N50[7]={2.6E-7, 9.9, 2.E-4, 1.1E-9, .37, 3.2E-6, .0062};
743 static const std::pair<G4int, const G4double*> Z39N50(50,pZ39N50);
744 static const G4double pZ39N51[7]={2.7E-5, 20., .013, 2.2E-9, .37, 1.9E-6, .0078};
745 static const std::pair<G4int, const G4double*> Z39N51(51,pZ39N51);
746 static const G4double pZ39N52[7]={2.E-7, 9.6, 1.2E-4, 1.7E-9, .37, 3.E-6, .0046};
747 static const std::pair<G4int, const G4double*> Z39N52(52,pZ39N52);
748 static const std::pair<G4int, const G4double*> Z39[N39]={Z39N50, Z39N51, Z39N52};
749 //==> Zr(Z=40)
750 static const G4int N40=7;
751 static const G4double pZ40N50[7]={1.E-7, 9., 6.2E-5, 1.7E-9, .3, 3.E-6, .0044};
752 static const std::pair<G4int, const G4double*> Z40N50(50,pZ40N50);
753 static const G4double pZ40N51[7]={5.E-7, 9.8, 5.E-4, 1.E-9, .25, 2.1E-6, .0079};
754 static const std::pair<G4int, const G4double*> Z40N51(51,pZ40N51);
755 static const G4double pZ40N52[7]={3.E-7, 9.6, 2.2E-4, 1.2E-9, .25, 2.2E-6, .0056};
756 static const std::pair<G4int, const G4double*> Z40N52(52,pZ40N52);
757 static const G4double pZ40N53[7]={2.E-7, 9.6, 1.2E-4, 1.6E-9, .38, 2.9E-6, .0046};
758 static const std::pair<G4int, const G4double*> Z40N53(53,pZ40N53);
759 static const G4double pZ40N54[7]={2.E-7, 9.6, 1.8E-4, 1.1E-9, .25, 2.1E-6, .0067};
760 static const std::pair<G4int, const G4double*> Z40N54(54,pZ40N54);
761 static const G4double pZ40N55[7]={1.8E-7, 9.4, 1.1E-4, 1.6E-9, .33, 2.3E-6, .0045};
762 static const std::pair<G4int, const G4double*> Z40N55(55,pZ40N55);
763 static const G4double pZ40N56[7]={1.8E-7, 9.4, 1.1E-4, 1.6E-9, .2, 1.5E-6, .0045};
764 static const std::pair<G4int, const G4double*> Z40N56(56,pZ40N56);
765 static const std::pair<G4int, const G4double*> Z40[N40]={Z40N50, Z40N51, Z40N52, Z40N53,
766 Z40N54, Z40N55, Z40N56};
767 //==> Nb(Z=41)
768 static const G4int N41=3;
769 static const G4double pZ41N52[7]={2.6E-7, 8.3, 2.E-4, 1.2E-9, .4, 4.E-6, .0051};
770 static const std::pair<G4int, const G4double*> Z41N52(52,pZ41N52);
771 //static const G4double pZ41N53[7]={2.E-7, 8.3, 1.6E-4, 1.4E-9, .35, 2.5E-6, .0051};
772 //static const std::pair<G4int, const G4double*> Z41N53(53,pZ41N53);
773 //static const G4double pZ41N54[7]={1.5E-7, 8.6, 1.E-4, 1.5E-9, .35, 2.5E-6, .0045};
774 //static const std::pair<G4int, const G4double*> Z41N54(54,pZ41N54);
775 static const std::pair<G4int, const G4double*> Z41[N41]={Z41N52, Z41N52, Z41N52};
776 //==> Mo(Z=42)
777 static const G4int N42=8;
778 static const G4double pZ42N50[7]={2.E-7, 10., 1.1E-4, 1.8E-9, .3, 2.7E-6, .0044};
779 static const std::pair<G4int, const G4double*> Z42N50(50,pZ42N50);
780 static const G4double pZ42N52[7]={2.1E-7, 10., 1.2E-4, 1.7E-9, .3, 2.8E-6, .0046};
781 static const std::pair<G4int, const G4double*> Z42N52(52,pZ42N52);
782 static const G4double pZ42N53[7]={3.E-7, 10., 1.9E-4, 1.5E-9, .29, 3.E-6, .005};
783 static const std::pair<G4int, const G4double*> Z42N53(53,pZ42N53);
784 static const G4double pZ42N54[7]={1.5E-7, 10., 7.1E-5, 2.1E-9, .29, 2.9E-6, .0037};
785 static const std::pair<G4int, const G4double*> Z42N54(54,pZ42N54);
786 static const G4double pZ42N55[7]={1.9E-7, 9., 1.4E-4, 1.3E-9, .29, 2.8E-6, .0052};
787 static const std::pair<G4int, const G4double*> Z42N55(55,pZ42N55);
788 static const G4double pZ42N56[7]={1.9E-7, 9.9, 1.1E-4, 1.8E-9, .29, 2.4E-6, .0044};
789 static const std::pair<G4int, const G4double*> Z42N56(56,pZ42N56);
790 static const G4double pZ42N57[7]={1.4E-7, 8., 1.E-4, 1.4E-9, .34, 2.5E-6, .0044};
791 static const std::pair<G4int, const G4double*> Z42N57(57,pZ42N57);
792 static const G4double pZ42N58[7]={1.8E-7, 9.5, 1.E-4, 1.7E-9, .27, 2.2E-6, .0041};
793 static const std::pair<G4int, const G4double*> Z42N58(58,pZ42N58);
794 static const std::pair<G4int, const G4double*> Z42[N42]={Z42N50, Z42N52, Z42N53, Z42N54,
795 Z42N55, Z42N56, Z42N57, Z42N58};
796 //==> Tc(Z=43)
797 static const G4int N43=1;
798 static const G4double pZ43N56[7]={1.E-7, 8., 7.2E-5, 1.4E-9, .24, 2.5E-6, .0044};
799 static const std::pair<G4int, const G4double*> Z43N56(56,pZ43N56);
800 static const std::pair<G4int, const G4double*> Z43[N43]={Z43N56};
801 //==> Ru(Z=44)
802 static const G4int N44=9;
803 static const G4double pZ44N52[7]={1.9E-7, 10., 1.E-4, 2.1E-9, .4, 4.E-6, .004};
804 static const std::pair<G4int, const G4double*> Z44N52(52,pZ44N52);
805 static const G4double pZ44N54[7]={1.5E-7, 10., 7.7E-5, 2.1E-9, .29, 2.9E-6, .004};
806 static const std::pair<G4int, const G4double*> Z44N54(54,pZ44N54);
807 static const G4double pZ44N55[7]={1.8E-7, 10., 6.6E-5, 2.6E-9, .47, 4.6E-6, .0028};
808 static const std::pair<G4int, const G4double*> Z44N55(55,pZ44N55);
809 static const G4double pZ44N56[7]={1.8E-6, 10., .0017, 1.1E-9, .47, 6.E-6, .0073};
810 static const std::pair<G4int, const G4double*> Z44N56(56,pZ44N56);
811 static const G4double pZ44N57[7]={1.8E-7, 7.8, 1.3E-4, 1.4E-9, .42, 5.E-6, .0043};
812 static const std::pair<G4int, const G4double*> Z44N57(57,pZ44N57);
813 static const G4double pZ44N58[7]={1.7E-6, 9.8, .0015, 1.2E-9, .32, 4.E-6, .0065};
814 static const std::pair<G4int, const G4double*> Z44N58(58,pZ44N58);
815 static const G4double pZ44N59[7]={3.3E-7, 8.7, 1.9E-4, 1.6E-9, .32, 3.8E-6, .0038};
816 static const std::pair<G4int, const G4double*> Z44N59(59,pZ44N59);
817 static const G4double pZ44N60[7]={3.E-7, 8.7, 1.8E-4, 1.6E-9, .3, 3.2E-6, .004};
818 static const std::pair<G4int, const G4double*> Z44N60(60,pZ44N60);
819 static const G4double pZ44N61[7]={3.E-7, 8.8, 1.4E-4, 1.9E-9, .3, 3.2E-6, .003};
820 static const std::pair<G4int, const G4double*> Z44N61(61,pZ44N61);
821 static const std::pair<G4int, const G4double*> Z44[N44]={Z44N52, Z44N54, Z44N55, Z44N56,
822 Z44N57, Z44N58, Z44N59, Z44N60,
823 Z44N61};
824 //==> Rh(Z=45)
825 static const G4int N45=2;
826 static const G4double pZ45N58[7]={8.E-8, 8.7, 4.E-5, 1.8E-9, .29, 2.9E-6, .0033};
827 static const std::pair<G4int, const G4double*> Z45N58(58,pZ45N58);
828 static const G4double pZ45N60[7]={8.E-8, 8.7, .09, 1.3E-12, .29, 2.9E-6, 7.};
829 static const std::pair<G4int, const G4double*> Z45N60(60,pZ45N60);
830 static const std::pair<G4int, const G4double*> Z45[N45]={Z45N58, Z45N60};
831 //==> Pd(Z=46)
832 static const G4int N46=7;
833 static const G4double pZ46N56[7]={2.E-7, 9.9, 1.2E-4, 1.5E-9, .35, 3.3E-6, .0045};
834 static const std::pair<G4int, const G4double*> Z46N56(56,pZ46N56);
835 static const G4double pZ46N58[7]={2.E-7, 9.9, 9.5E-5, 1.8E-9, .4, 4.E-6, .0036};
836 static const std::pair<G4int, const G4double*> Z46N58(58,pZ46N58);
837 static const G4double pZ46N59[7]={5.6E-7, 9., 4.6E-4, 1.2E-9, .5, 4.8E-6, .0056};
838 static const std::pair<G4int, const G4double*> Z46N59(59,pZ46N59);
839 static const G4double pZ46N60[7]={2.4E-7, 9.2, 1.2E-4, 1.8E-9, .47, 4.6E-6, .0035};
840 static const std::pair<G4int, const G4double*> Z46N60(60,pZ46N60);
841 static const G4double pZ46N61[7]={1.2E-7, 9.2, 4.4E-5, 2.8E-9, .5, 4.3E-6, .0025};
842 static const std::pair<G4int, const G4double*> Z46N61(61,pZ46N61);
843 static const G4double pZ46N62[7]={1.2E-7, 9.2, 3.2E-5, 3.4E-9, .48, 4.5E-6, .0018};
844 static const std::pair<G4int, const G4double*> Z46N62(62,pZ46N62);
845 static const G4double pZ46N64[7]={4.E-7, 9.1, 2.5E-4, 1.5E-9, .48, 4.7E-6, .0042};
846 static const std::pair<G4int, const G4double*> Z46N64(64,pZ46N64);
847 static const std::pair<G4int, const G4double*> Z46[N46]={Z46N56, Z46N58, Z46N59,
848 Z46N60, Z46N61, Z46N62, Z46N64};
849 //==> Ag(Z=47)
850 static const G4int N47=4;
851 static const G4double pZ47N60[7]={1.4E-6, 9.7, .0011, 1.4E-9, .55, 5.E-6, .0056};
852 static const std::pair<G4int, const G4double*> Z47N60(60,pZ47N60);
853 static const G4double pZ47N62[7]={3.E-8, 8.7, 8.5E-6, 3.5E-9, .6, 5.6E-6, .0018};
854 static const std::pair<G4int, const G4double*> Z47N62(62,pZ47N62);
855 static const G4double pZ47N63[7]={3.E-6, 9.5, .002, 1.5E-9, .58, 5.E-6, .0047};
856 static const std::pair<G4int, const G4double*> Z47N63(63,pZ47N63);
857 static const G4double pZ47N64[7]={1.5E-7, 9., 9.E-5, 1.7E-9, .58, 5.6E-6, .0039};
858 static const std::pair<G4int, const G4double*> Z47N64(64,pZ47N64);
859 static const std::pair<G4int, const G4double*> Z47[N47]={Z47N60, Z47N62, Z47N63, Z47N64};
860 //==> Cd(Z=48)
861 static const G4int N48=9;
862 static const G4double pZ48N58[7]={2.9E-7, 10., 1.3E-4, 1.9E-9, .4, 3.8E-6, .0034};
863 static const std::pair<G4int, const G4double*> Z48N58(58,pZ48N58);
864 static const G4double pZ48N60[7]={2.3E-7, 10., 8.2E-5, 2.5E-9, .5, 4.7E-6, .0026};
865 static const std::pair<G4int, const G4double*> Z48N60(60,pZ48N60);
866 static const G4double pZ48N62[7]={2.3E-7, 10., 9.9E-5, 2.5E-9, .5, 4.7E-6, .0031};
867 static const std::pair<G4int, const G4double*> Z48N62(62,pZ48N62);
868 static const G4double pZ48N63[7]={8.4E-7, 11., 4.3E-4, 1.8E-9, .5, 4.5E-6, .0042};
869 static const std::pair<G4int, const G4double*> Z48N63(63,pZ48N63);
870 static const G4double pZ48N64[7]={4.E-7, 11., 1.8E-4, 1.8E-9, .5, 4.6E-6, .0036};
871 static const std::pair<G4int, const G4double*> Z48N64(64,pZ48N64);
872 static const G4double pZ48N65[7]={1.6E-6, 12., .001, 0., .5, 4.6E-6, .013};
873 static const std::pair<G4int, const G4double*> Z48N65(65,pZ48N65);
874 static const G4double pZ48N66[7]={3.E-7, 11., 1.2E-4, 1.9E-9, .5, 4.6E-6, .0031};
875 static const std::pair<G4int, const G4double*> Z48N66(66,pZ48N66);
876 static const G4double pZ48N67[7]={3.8E-7, 11., 1.7E-4, 2.E-9, .6, 6.6E-6, .0035};
877 static const std::pair<G4int, const G4double*> Z48N67(67,pZ48N67);
878 static const G4double pZ48N68[7]={6.E-7, 11., 3.3E-4, 1.9E-9, .5, 4.6E-6, .0043};
879 static const std::pair<G4int, const G4double*> Z48N68(68,pZ48N68);
880 static const std::pair<G4int, const G4double*> Z48[N48]={Z48N58, Z48N60, Z48N62, Z48N63,
881 Z48N64, Z48N65, Z48N66, Z48N67,
882 Z48N68};
883 //==> In(Z=49)
884 static const G4int N49=2;
885 static const G4double pZ49N64[7]={2.7E-7, 12., 8.1E-5, 2.7E-9, .5, 5.E-6, .0026};
886 static const std::pair<G4int, const G4double*> Z49N64(64,pZ49N64);
887 static const G4double pZ49N66[7]={2.7E-7, 12., 5.5E-5, 4.E-9, .5, 5.E-6, .0018};
888 static const std::pair<G4int, const G4double*> Z49N66(66,pZ49N66);
889 static const std::pair<G4int, const G4double*> Z49[N49]={Z49N64, Z49N66};
890 //==> Sn(Z=50)
891 static const G4int N50=14;
892 static const G4double pZ50N62[7]={4.E-7, 11., 1.6E-4, 2.2E-9, .5, 4.5E-6, .0032};
893 static const std::pair<G4int, const G4double*> Z50N62(62,pZ50N62);
894 static const G4double pZ50N63[7]={4.1E-7, 11., 1.6E-4, 2.4E-9, .54, 6.E-6, .0031};
895 static const std::pair<G4int, const G4double*> Z50N63(63,pZ50N63);
896 static const G4double pZ50N64[7]={5.E-7, 12., 1.9E-4, 2.2E-9, .5, 4.4E-6, .0032};
897 static const std::pair<G4int, const G4double*> Z50N64(64,pZ50N64);
898 static const G4double pZ50N65[7]={1.E-5, 12., .0077, 1.4E-9, .5, 5.E-6, .0066};
899 static const std::pair<G4int, const G4double*> Z50N65(65,pZ50N65);
900 static const G4double pZ50N66[7]={5.E-7, 12., 1.8E-4, 2.4E-9, .5, 5.E-6, .0031};
901 static const std::pair<G4int, const G4double*> Z50N66(66,pZ50N66);
902 static const G4double pZ50N67[7]={1.E-6, 12., 4.4E-4, 1.8E-9, .5, 5.E-6, .0037};
903 static const std::pair<G4int, const G4double*> Z50N67(67,pZ50N67);
904 static const G4double pZ50N68[7]={5.E-7, 12., 2.E-4, 2.4E-9, .5, 5.E-6, .0033};
905 static const std::pair<G4int, const G4double*> Z50N68(68,pZ50N68);
906 static const G4double pZ50N69[7]={6.E-7, 12., 2.5E-4, 2.E-9, .5, 5.E-6, .0035};
907 static const std::pair<G4int, const G4double*> Z50N69(69,pZ50N69);
908 static const G4double pZ50N70[7]={1.E-6, 12., 4.7E-4, 2.E-9, .5, 5.E-6, .0039};
909 static const std::pair<G4int, const G4double*> Z50N70(70,pZ50N70);
910 static const G4double pZ50N72[7]={1.E-6, 12., 3.7E-4, 2.2E-9, .5, 5.E-6, .0031};
911 static const std::pair<G4int, const G4double*> Z50N72(72,pZ50N72);
912 static const G4double pZ50N73[7]={5.E-7, 12., 1.7E-4, 2.8E-9, .5, 5.E-6, .0028};
913 static const std::pair<G4int, const G4double*> Z50N73(73,pZ50N73);
914 static const G4double pZ50N74[7]={5.E-7, 12., 2.E-4, 2.E-9, .5, 5.E-6, .0033};
915 static const std::pair<G4int, const G4double*> Z50N74(74,pZ50N74);
916 static const G4double pZ50N75[7]={5.E-7, 12., 1.9E-4, 2.8E-9, .5, 5.E-6, .003};
917 static const std::pair<G4int, const G4double*> Z50N75(75,pZ50N75);
918 static const G4double pZ50N76[7]={5.E-7, 12., 1.7E-4, 2.8E-9, .5, 5.E-6, .0028};
919 static const std::pair<G4int, const G4double*> Z50N76(76,pZ50N76);
920 static const std::pair<G4int, const G4double*> Z50[N50]={Z50N62, Z50N63, Z50N64, Z50N65,
921 Z50N66, Z50N67, Z50N68, Z50N69,
922 Z50N70, Z50N72, Z50N73, Z50N74,
923 Z50N75, Z50N76};
924 //==> Sb(Z=51)
925 static const G4int N51=5;
926 static const G4double pZ51N70[7]={6.E-7, 12., 2.E-4, 2.8E-9, .5, 5.E-6, .0028};
927 static const std::pair<G4int, const G4double*> Z51N70(70,pZ51N70);
928 static const G4double pZ51N72[7]={6.E-7, 12., 1.9E-4, 3.E-9, .5, 5.E-6, .0025};
929 static const std::pair<G4int, const G4double*> Z51N72(72,pZ51N72);
930 static const G4double pZ51N73[7]={1.1E-6, 12., 3.5E-4, 2.9E-9, .5, 5.E-6, .0026};
931 static const std::pair<G4int, const G4double*> Z51N73(73,pZ51N73);
932 static const G4double pZ51N74[7]={5.5E-7, 12., 1.9E-4, 2.9E-9, .5, 5.E-6, .0027};
933 static const std::pair<G4int, const G4double*> Z51N74(74,pZ51N74);
934 static const G4double pZ51N75[7]={6.E-7, 12., 2.E-4, 2.9E-9, .5, 5.E-6, .0027};
935 static const std::pair<G4int, const G4double*> Z51N75(75,pZ51N75);
936 static const std::pair<G4int, const G4double*> Z51[N51]={Z51N70, Z51N72, Z51N73, Z51N74,
937 Z51N75};
938 //==> Te(Z=52)
939 static const G4int N52=11;
940 static const G4double pZ52N68[7]={2.7E-7, 12., 8.4E-5, 3.2E-9, 1., 8.E-6, .0026};
941 static const std::pair<G4int, const G4double*> Z52N68(68,pZ52N68);
942 static const G4double pZ52N70[7]={2.7E-7, 12., 3.8E-5, 6.E-9, 1., 8.E-6, .0012};
943 static const std::pair<G4int, const G4double*> Z52N70(70,pZ52N70);
944 static const G4double pZ52N71[7]={2.7E-8, 12., 1.8E-6, 2.E-8, 1., 8.E-6, 4.8E-4};
945 static const std::pair<G4int, const G4double*> Z52N71(71,pZ52N71);
946 static const G4double pZ52N72[7]={2.6E-6, 14., .0014, 2.E-9, 1., 9.E-6, .005};
947 static const std::pair<G4int, const G4double*> Z52N72(72,pZ52N72);
948 static const G4double pZ52N73[7]={1.E-6, 14., 2.4E-4, 3.9E-9, 1., 9.E-6, .0022};
949 static const std::pair<G4int, const G4double*> Z52N73(73,pZ52N73);
950 static const G4double pZ52N74[7]={8.E-7, 14., 2.3E-4, 3.6E-9, 1.4, 1.3E-5, .0028};
951 static const std::pair<G4int, const G4double*> Z52N74(74,pZ52N74);
952 static const G4double pZ52N75[7]={8.E-7, 14., 2.1E-4, 3.6E-9, 1.4, 1.3E-5, .0025};
953 static const std::pair<G4int, const G4double*> Z52N75(75,pZ52N75);
954 static const G4double pZ52N76[7]={8.E-7, 14., 2.5E-4, 3.E-9, 1.4, 1.3E-5, .003};
955 static const std::pair<G4int, const G4double*> Z52N76(76,pZ52N76);
956 static const G4double pZ52N77[7]={5.E-7, 15., 1.2E-4, 4.3E-9, 1.4, 1.4E-5, .0023};
957 static const std::pair<G4int, const G4double*> Z52N77(77,pZ52N77);
958 static const G4double pZ52N78[7]={8.E-7, 14., 2.7E-4, 2.7E-9, 1.4, 1.3E-5, .0031};
959 static const std::pair<G4int, const G4double*> Z52N78(78,pZ52N78);
960 static const G4double pZ52N80[7]={4.7E-7, 14., 1.8E-4, 2.2E-9, .83, 1.E-5, .0036};
961 static const std::pair<G4int, const G4double*> Z52N80(80,pZ52N80);
962 static const std::pair<G4int, const G4double*> Z52[N52]={Z52N68, Z52N70, Z52N71, Z52N72,
963 Z52N73, Z52N74, Z52N75, Z52N76,
964 Z52N77, Z52N78, Z52N80};
965 //==> I (Z=53)
966 static const G4int N53=5;
967 static const G4double pZ53N74[7]={9.4E-7, 14., 2.5E-4, 3.E-9, .7, 7.3E-6, .0025};
968 static const std::pair<G4int, const G4double*> Z53N74(74,pZ53N74);
969 static const G4double pZ53N76[7]={2.1E-5, 14., .015, 1.1E-9, 1.1, 1.E-5, .007};
970 static const std::pair<G4int, const G4double*> Z53N76(76,pZ53N76);
971 static const G4double pZ53N77[7]={1.1E-6, 14., 2.4E-4, 3.3E-9, .9, 1.E-5, .0021};
972 static const std::pair<G4int, const G4double*> Z53N77(77,pZ53N77);
973 static const G4double pZ53N78[7]={5.5E-7, 14., 1.5E-4, 3.7E-9, 1.2, 1.2E-5, .0024};
974 static const std::pair<G4int, const G4double*> Z53N78(78,pZ53N78);
975 static const G4double pZ53N82[7]={3.2E-6, 14., .0017, 1.8E-9, .8, 8.E-6, .0024};
976 static const std::pair<G4int, const G4double*> Z53N82(82,pZ53N82);
977 static const std::pair<G4int, const G4double*> Z53[N53]={Z53N74, Z53N76, Z53N77, Z53N78,
978 Z53N82};
979 //==> Xe(Z=54)
980 static const G4int N54=12;
981 static const G4double pZ54N69[7]={3.E-6, 14., 8.E-4, 3.7E-9, .9, 1.1E-5, .15};
982 static const std::pair<G4int, const G4double*> Z54N69(69,pZ54N69);
983 static const G4double pZ54N70[7]={1.5E-7, 14., 1.4E-6, 9.E-8, .7, 8.E-6, 9.5E-5};
984 static const std::pair<G4int, const G4double*> Z54N70(70,pZ54N70);
985 static const G4double pZ54N72[7]={1.5E-6, 14., 5.6E-4, 3.E-9, 1.2, 1.1E-5, .0036};
986 static const std::pair<G4int, const G4double*> Z54N72(72,pZ54N72);
987 static const G4double pZ54N74[7]={1.8E-6, 14., 8.8E-4, 2.E-9, 1.3, 1.2E-5, .0047};
988 static const std::pair<G4int, const G4double*> Z54N74(74,pZ54N74);
989 static const G4double pZ54N75[7]={1.E-6, 14., 2.6E-4, 3.7E-9, 1.5, 1.4E-5, .0024};
990 static const std::pair<G4int, const G4double*> Z54N75(75,pZ54N75);
991 static const G4double pZ54N76[7]={1.8E-6, 14., 8.E-4, 2.E-9, 1.2, 1.4E-5, .0042};
992 static const std::pair<G4int, const G4double*> Z54N76(76,pZ54N76);
993 static const G4double pZ54N77[7]={2.3E-7, 14., 1.9E-5, 9.E-9, 1.2, 1.4E-5, 7.7E-4};
994 static const std::pair<G4int, const G4double*> Z54N77(77,pZ54N77);
995 static const G4double pZ54N78[7]={6.E-7, 14., 1.6E-4, 3.E-9, 1.2, 1.4E-5, .0025};
996 static const std::pair<G4int, const G4double*> Z54N78(78,pZ54N78);
997 static const G4double pZ54N79[7]={6.E-7, 14., 1.6E-4, 3.3E-9, 1.6, 1.5E-5, .0024};
998 static const std::pair<G4int, const G4double*> Z54N79(79,pZ54N79);
999 static const G4double pZ54N80[7]={6.6E-7, 14., 2.1E-4, 2.5E-9, 1.2, 1.4E-5, .003};
1000 static const std::pair<G4int, const G4double*> Z54N80(80,pZ54N80);
1001 static const G4double pZ54N81[7]={.03, 40., 2.1, 2.5E-9, 1.E-16, 6.E-36, 140.};
1002 static const std::pair<G4int, const G4double*> Z54N81(81,pZ54N81);
1003 static const G4double pZ54N82[7]={3.1E-6, 14., .0019, 1.6E-9, 1., 1.3E-5, .0054};
1004 static const std::pair<G4int, const G4double*> Z54N82(82,pZ54N82);
1005 static const std::pair<G4int, const G4double*> Z54[N54]={Z54N69, Z54N70, Z54N72, Z54N74,
1006 Z54N75, Z54N76, Z54N77, Z54N78,
1007 Z54N79, Z54N80, Z54N81, Z54N82};
1008 //==> Cs(Z=55)
1009 static const G4int N55=5;
1010 static const G4double pZ55N78[7]={1.4E-6, 14., 4.E-4, 3.E-9, 1.2, 1.4E-5, .0026};
1011 static const std::pair<G4int, const G4double*> Z55N78(78,pZ55N78);
1012 static const G4double pZ55N79[7]={.028, 14., 44., .5E-9, 1.2, 1.3E-5, .015};
1013 static const std::pair<G4int, const G4double*> Z55N79(79,pZ55N79);
1014 static const G4double pZ55N80[7]={2.E-6, 14., 9.5E-4, 2.E-9, 1.2, 1.4E-5, .0042};
1015 static const std::pair<G4int, const G4double*> Z55N80(80,pZ55N80);
1016 static const G4double pZ55N81[7]={2.5E-7, 14., 6.5E-5, 3.8E-9, 1.2, 1.4E-5, .0023};
1017 static const std::pair<G4int, const G4double*> Z55N81(81,pZ55N81);
1018 static const G4double pZ55N82[7]={2.5E-7, 14., 6.5E-5, 3.8E-9, 1.2, 1.4E-5, .0023};
1019 static const std::pair<G4int, const G4double*> Z55N82(82,pZ55N82);
1020 static const std::pair<G4int, const G4double*> Z55[N55]={Z55N78, Z55N79, Z55N80, Z55N81,
1021 Z55N82};
1022 //==> Ba(Z=56)
1023 static const G4int N56=9;
1024 static const G4double pZ56N74[7]={4.E-7, 14., 2.8E-5, 1.2E-8, 1.2, 1.5E-5, 6.6E-4};
1025 static const std::pair<G4int, const G4double*> Z56N74(74,pZ56N74);
1026 static const G4double pZ56N76[7]={4.E-6, 14., .0022, 1.4E-9, 1.3, 1.6E-5, .0053};
1027 static const std::pair<G4int, const G4double*> Z56N76(76,pZ56N76);
1028 static const G4double pZ56N77[7]={2.E-7, 14., 3.7E-5, 5.E-9, 1.1, 1.5E-5, .0016};
1029 static const std::pair<G4int, const G4double*> Z56N77(77,pZ56N77);
1030 static const G4double pZ56N78[7]={1.6E-6, 14., 6.E-4, 2.E-9, 1.3, 1.6E-5, .0033};
1031 static const std::pair<G4int, const G4double*> Z56N78(78,pZ56N78);
1032 static const G4double pZ56N79[7]={5.E-7, 17., 8.E-5, 4.5E-9, 1.3, 1.6E-5, .0018};
1033 static const std::pair<G4int, const G4double*> Z56N79(79,pZ56N79);
1034 static const G4double pZ56N80[7]={2.E-6, 20., 3.E-4, 6.E-9, 1.3, 1.8E-5, .0019};
1035 static const std::pair<G4int, const G4double*> Z56N80(80,pZ56N80);
1036 static const G4double pZ56N81[7]={5.8E-6, 20., .0018, 3.E-9, 1.3, 1.7E-5, .0041};
1037 static const std::pair<G4int, const G4double*> Z56N81(81,pZ56N81);
1038 static const G4double pZ56N82[7]={2.7E-6, 20., 5.5E-4, 4.E-9, 1.4, 2.E-5, .0027};
1039 static const std::pair<G4int, const G4double*> Z56N82(82,pZ56N82);
1040 static const G4double pZ56N84[7]={1.1E-6, 21., 1.E-4, 9.E-9, 2., 2.7E-5, .0012};
1041 static const std::pair<G4int, const G4double*> Z56N84(84,pZ56N84);
1042 static const std::pair<G4int, const G4double*> Z56[N56]={Z56N74, Z56N76, Z56N77, Z56N78,
1043 Z56N79, Z56N80, Z56N81, Z56N82,
1044 Z56N84};
1045 //==> La(Z=57)
1046 static const G4int N57=3;
1047 static const G4double pZ57N81[7]={2.7E-6, 20., .0017, 1.1E-9, 1.4, 2.E-5, .0083};
1048 static const std::pair<G4int, const G4double*> Z57N81(81,pZ57N81);
1049 static const G4double pZ57N82[7]={5.4E-6, 20., .0027, 1.5E-9, 1., 1.5E-5, .0065};
1050 static const std::pair<G4int, const G4double*> Z57N82(82,pZ57N82);
1051 static const G4double pZ57N83[7]={2.7E-6, 20., 2.6E-4, 6.E-9, 1.4, 2.E-5, .0012};
1052 static const std::pair<G4int, const G4double*> Z57N83(83,pZ57N83);
1053 static const std::pair<G4int, const G4double*> Z57[N57]={Z57N81, Z57N82, Z57N83};
1054 //==> Ce(Z=58)
1055 static const G4int N58=8;
1056 static const G4double pZ58N78[7]={1.8E-6, 20., 3.7E-4, 4.E-9, 1.4, 2.E-5, .0028};
1057 static const std::pair<G4int, const G4double*> Z58N78(78,pZ58N78);
1058 static const G4double pZ58N80[7]={1.8E-6, 18., 2.6E-4, 6.E-9, 1.3, 2.1E-5, .0017};
1059 static const std::pair<G4int, const G4double*> Z58N80(80,pZ58N80);
1060 static const G4double pZ58N81[7]={.0018, 18., 2.9, .6E-9, 1.3, 2.E-5, .02};
1061 static const std::pair<G4int, const G4double*> Z58N81(81,pZ58N81);
1062 static const G4double pZ58N82[7]={1.8E-6, 18., 3.7E-4, 5.E-9, 1.3, 2.E-5, .0024};
1063 static const std::pair<G4int, const G4double*> Z58N82(82,pZ58N82);
1064 static const G4double pZ58N83[7]={7.2E-6, 20., .0025, 2.3E-9, 1.1, 1.7E-5, .0045};
1065 static const std::pair<G4int, const G4double*> Z58N83(83,pZ58N83);
1066 static const G4double pZ58N84[7]={1.2E-6, 18., 2.E-4, 6.E-9, 1.5, 1.9E-5, .0018};
1067 static const std::pair<G4int, const G4double*> Z58N84(84,pZ58N84);
1068 static const G4double pZ58N85[7]={1.2E-6, 16., 6.E-4, 1.7E-9, 1.4, 2.E-5, .0053};
1069 static const std::pair<G4int, const G4double*> Z58N85(85,pZ58N85);
1070 static const G4double pZ58N86[7]={6.E-7, 18., 1.E-4, 6.E-9, 1.5, 1.9E-5, .0018};
1071 static const std::pair<G4int, const G4double*> Z58N86(86,pZ58N86);
1072 static const std::pair<G4int, const G4double*> Z58[N58]={Z58N78, Z58N80, Z58N81, Z58N82,
1073 Z58N83, Z58N84, Z58N85, Z58N86};
1074 //==> Pr(Z=59)
1075 static const G4int N59=3;
1076 static const G4double pZ59N82[7]={9.5E-7, 16., 1.6E-4, 4.E-9, 1.4, 2.E-5, .0017};
1077 static const std::pair<G4int, const G4double*> Z59N82(82,pZ59N82);
1078 static const G4double pZ59N83[7]={9.5E-7, 16., 1.9E-4, 4.E-9, 1.4, 1.9E-5, .0021};
1079 static const std::pair<G4int, const G4double*> Z59N83(83,pZ59N83);
1080 static const G4double pZ59N84[7]={9.5E-6, 16., .019, .4E-9, 2., 2.4E-5, .021};
1081 static const std::pair<G4int, const G4double*> Z59N84(84,pZ59N84);
1082 static const std::pair<G4int, const G4double*> Z59[N59]={Z59N82, Z59N83, Z59N84};
1083 //==> Nd(Z=60)
1084 static const G4int N60=8;
1085 static const G4double pZ60N82[7]={9.6E-6, 21., .0036, 2.3E-9, 1.4, 2.E-5, .0052};
1086 static const std::pair<G4int, const G4double*> Z60N82(82,pZ60N82);
1087 static const G4double pZ60N83[7]={9.6E-4, 20., 4., .25E-9, 1.4, 2.E-5, .052};
1088 static const std::pair<G4int, const G4double*> Z60N83(83,pZ60N83);
1089 static const G4double pZ60N84[7]={4.8E-7, 21., 3.3E-5, 1.E-08, 1.3, 2.2E-5, 9.E-4};
1090 static const std::pair<G4int, const G4double*> Z60N84(84,pZ60N84);
1091 static const G4double pZ60N85[7]={.0048, 20., 4.5, .9E-9, 1.3, 2.E-5, .012};
1092 static const std::pair<G4int, const G4double*> Z60N85(85,pZ60N85);
1093 static const G4double pZ60N86[7]={1.2E-6, 16., 7.7E-4, 1.5E-9, 1.3, 1.8E-5, .0066};
1094 static const std::pair<G4int, const G4double*> Z60N86(86,pZ60N86);
1095 static const G4double pZ60N87[7]={.0012, 15., 8.4, .1E-9, 1.3, 1.5E-5, .071};
1096 static const std::pair<G4int, const G4double*> Z60N87(87,pZ60N87);
1097 static const G4double pZ60N88[7]={1.5E-7, 16., 4.1E-5, 2.5E-9, 1.3, 1.6E-5, .0027};
1098 static const std::pair<G4int, const G4double*> Z60N88(88,pZ60N88);
1099 static const G4double pZ60N90[7]={1.5E-7, 16., 4.3E-5, 2.5E-9, 1.3, 1.6E-5, .0029};
1100 static const std::pair<G4int, const G4double*> Z60N90(90,pZ60N90);
1101 static const std::pair<G4int, const G4double*> Z60[N60]={Z60N82, Z60N83, Z60N84, Z60N85,
1102 Z60N86, Z60N87, Z60N88, Z60N90};
1103 //==> Pm(Z=61)
1104 static const G4int N61=3;
1105 static const G4double pZ61N86[7]={6.E-7, 16., 8.E-4, .6E-9, 3., 2.8E-5, .014};
1106 static const std::pair<G4int, const G4double*> Z61N86(86,pZ61N86);
1107 static const G4double pZ61N87[7]={6.2E-8, 16., 1.2E-5, 4.E-9, 2.2, 2.5E-5, .0019};
1108 static const std::pair<G4int, const G4double*> Z61N87(87,pZ61N87);
1109 static const G4double pZ61N88[7]={3.2E-8, 16., 6.4E-6, 4.E-9, 2.2, 2.5E-5, .002};
1110 static const std::pair<G4int, const G4double*> Z61N88(88,pZ61N88);
1111 static const std::pair<G4int, const G4double*> Z61[N61]={Z61N86, Z61N87, Z61N88};
1112 //==> Sm(Z=62)
1113 static const G4int N62=9;
1114 static const G4double pZ62N82[7]={1.2E-7, 16., 2.1E-5, 5.E-9, 1.4, 2.E-5, .0017};
1115 static const std::pair<G4int, const G4double*> Z62N82(82,pZ62N82);
1116 static const G4double pZ62N85[7]={1.2E-7, 16., 5.3E-5, 1.5E-9, 1.3, 1.7E-5, .0045};
1117 static const std::pair<G4int, const G4double*> Z62N85(85,pZ62N85);
1118 static const G4double pZ62N86[7]={6.E-8, 16., 1.7E-5, 3.E-9, 1.3, 1.7E-5, .0028};
1119 static const std::pair<G4int, const G4double*> Z62N86(86,pZ62N86);
1120 static const G4double pZ62N87[7]={6.E-8, 15., 5.2E-4, .11E-9, 1.3, 1.5E-5, .074};
1121 static const std::pair<G4int, const G4double*> Z62N87(87,pZ62N87);
1122 static const G4double pZ62N88[7]={6.E-7, 16., 8.6E-4, .7E-9, 1.3, 1.7E-5, .015};
1123 static const std::pair<G4int, const G4double*> Z62N88(88,pZ62N88);
1124 static const G4double pZ62N89[7]={6.E-7, 16., 5.E-4, 0., 1.3, 1.6E-5, .053};
1125 static const std::pair<G4int, const G4double*> Z62N89(89,pZ62N89);
1126 static const G4double pZ62N90[7]={6.E-8, 15., 1.3E-5, 4.5E-9, 1.3, 1.7E-5, .0019};
1127 static const std::pair<G4int, const G4double*> Z62N90(90,pZ62N90);
1128 static const G4double pZ62N91[7]={6.E-8, 15., 1.5E-5, 2.E-9, 1.3, 1.6E-5, .0024};
1129 static const std::pair<G4int, const G4double*> Z62N91(91,pZ62N91);
1130 static const G4double pZ62N92[7]={1.2E-7, 15., 8.6E-5, 1.2E-9, 1.3, 1.6E-5, .007};
1131 static const std::pair<G4int, const G4double*> Z62N92(92,pZ62N92);
1132 static const std::pair<G4int, const G4double*> Z62[N62]={Z62N82, Z62N85, Z62N86, Z62N87,
1133 Z62N88, Z62N89, Z62N90, Z62N91,
1134 Z62N92};
1135 //==> Eu(Z=63)
1136 static const G4int N63=7;
1137 static const G4double pZ63N88[7]={6.E-8, 15., 2.8E-5, 2.E-9, 1.3, 1.5E-5, .0046};
1138 static const std::pair<G4int, const G4double*> Z63N88(88,pZ63N88);
1139 static const G4double pZ63N89[7]={6.E-7, 15., .0011, .5E-9, 2.4, 2.4E-5, .017};
1140 static const std::pair<G4int, const G4double*> Z63N89(89,pZ63N89);
1141 static const G4double pZ63N90[7]={3.E-7, 15., 1.8E-4, 1.1E-9, 1., 1.2E-5, .0054};
1142 static const std::pair<G4int, const G4double*> Z63N90(90,pZ63N90);
1143 static const G4double pZ63N91[7]={4.1E-7, 15., 1.4E-4, 1.9E-9, 1., 1.4E-5, .0032};
1144 static const std::pair<G4int, const G4double*> Z63N91(91,pZ63N91);
1145 static const G4double pZ63N92[7]={5.E-8, 15., 2.4E-5, 2.8E-9, 1., 1.3E-5, .0037};
1146 static const std::pair<G4int, const G4double*> Z63N92(92,pZ63N92);
1147 static const G4double pZ63N93[7]={4.1E-8, 17., 1.6E-5, 2.E-9, 3.3, 3.4E-5, .004};
1148 static const std::pair<G4int, const G4double*> Z63N93(93,pZ63N93);
1149 static const G4double pZ63N94[7]={4.2E-8, 17., 1.6E-5, 2.E-9, 1.2, 1.6E-5, .004};
1150 static const std::pair<G4int, const G4double*> Z63N94(94,pZ63N94);
1151 static const std::pair<G4int, const G4double*> Z63[N63]={Z63N88, Z63N89, Z63N90, Z63N91,
1152 Z63N92, Z63N93, Z63N94};
1153 //==> Gd(Z=64)
1154 static const G4int N64=8;
1155 static const G4double pZ64N88[7]={4.2E-8, 14., 2.E-4, 0., 1.2, 1.3E-5, .19};
1156 static const std::pair<G4int, const G4double*> Z64N88(88,pZ64N88);
1157 static const G4double pZ64N89[7]={2.E-6, 14., .0016, 1.4E-9, 1.6, 1.6E-5, .0057};
1158 static const std::pair<G4int, const G4double*> Z64N89(89,pZ64N89);
1159 static const G4double pZ64N90[7]={1.7E-7, 12., 8.4E-5, 2.E-9, 1.8, 2.2E-5, .0035};
1160 static const std::pair<G4int, const G4double*> Z64N90(90,pZ64N90);
1161 static const G4double pZ64N91[7]={1.7E-7, 13., 5.E-4, .3E-9, 1.7, 1.9E-5, .026};
1162 static const std::pair<G4int, const G4double*> Z64N91(91,pZ64N91);
1163 static const G4double pZ64N92[7]={1.7E-7, 13., 7.E-5, 2.5E-9, 1.8, 2.2E-5, .003};
1164 static const std::pair<G4int, const G4double*> Z64N92(92,pZ64N92);
1165 static const G4double pZ64N93[7]={1.7E-6, 12., .002, 0., 1.7, 1.8E-5, .47};
1166 static const std::pair<G4int, const G4double*> Z64N93(93,pZ64N93);
1167 static const G4double pZ64N94[7]={3.4E-7, 13., 1.5E-4, 2.E-9, 1.8, 2.3E-5, .0034};
1168 static const std::pair<G4int, const G4double*> Z64N94(94,pZ64N94);
1169 static const G4double pZ64N96[7]={2.6E-6, 13., .0019, 1.2E-9, 1., 1.2E-5, .0056};
1170 static const std::pair<G4int, const G4double*> Z64N96(96,pZ64N96);
1171 static const std::pair<G4int, const G4double*> Z64[N64]={Z64N88, Z64N89, Z64N90, Z64N91,
1172 Z64N92, Z64N93, Z64N94, Z64N96};
1173 //==> Tb(Z=65)
1174 static const G4int N65=2;
1175 static const G4double pZ65N94[7]={9.E-7, 16., 3.9E-4, 1.7E-9, 2., 2.2E-5, .0042};
1176 static const std::pair<G4int, const G4double*> Z65N94(94,pZ65N94);
1177 //static const G4double pZ65N95[7]={4.5E-7, 16., 1.1E-4, 3.E-9, 1.7, 2.2E-5, .0024};
1178 //static const std::pair<G4int, const G4double*> Z65N95(95,pZ65N95);
1179 static const std::pair<G4int, const G4double*> Z65[N65]={Z65N94, Z65N94};
1180 //==> Dy(Z=66)
1181 static const G4int N66=7;
1182 static const G4double pZ66N90[7]={1.2E-7, 13., 4.E-5, 3.E-9, 1.2, 1.4E-5, .0025};
1183 static const std::pair<G4int, const G4double*> Z66N90(90,pZ66N90);
1184 static const G4double pZ66N92[7]={1.2E-7, 13., 6.7E-5, 2.E-9, 1., 1.1E-5, .004};
1185 static const std::pair<G4int, const G4double*> Z66N92(92,pZ66N92);
1186 static const G4double pZ66N94[7]={1.2E-7, 13., 5.3E-5, 1.6E-9, 1., 1.1E-5, .0034};
1187 static const std::pair<G4int, const G4double*> Z66N94(94,pZ66N94);
1188 static const G4double pZ66N95[7]={1.2E-6, 13., .0017, .7E-9, 1.3, 1.3E-5, .011};
1189 static const std::pair<G4int, const G4double*> Z66N95(95,pZ66N95);
1190 static const G4double pZ66N96[7]={1.2E-7, 13., 8.E-6, 1.5E-7, 1., 1.1E-5, 1.E-4};
1191 static const std::pair<G4int, const G4double*> Z66N96(96,pZ66N96);
1192 static const G4double pZ66N97[7]={1.5E-7, 13., 4.E-5, 4.E-9, 1.3, 1.3E-5, .002};
1193 static const std::pair<G4int, const G4double*> Z66N97(97,pZ66N97);
1194 static const G4double pZ66N98[7]={3.E-7, 13., .001, 4.E-9, 1.3, 1.3E-5, .23};
1195 static const std::pair<G4int, const G4double*> Z66N98(98,pZ66N98);
1196 static const std::pair<G4int, const G4double*> Z66[N66]={Z66N90, Z66N92, Z66N94, Z66N95,
1197 Z66N96, Z66N97, Z66N98};
1198 //==> Ho(Z=67)
1199 static const G4int N67=2;
1200 static const G4double pZ67N98[7]={3.E-7, 13., 2.2E-4, 1.5E-9, 1., 1.E-5, .0054};
1201 static const std::pair<G4int, const G4double*> Z67N98(98,pZ67N98);
1202 static const G4double pZ67N99[7]={7.5E-8, 13., 2.6E-5, 4.5E-9, 1.5, 1.5E-5, .0021};
1203 static const std::pair<G4int, const G4double*> Z67N99(99,pZ67N99);
1204 static const std::pair<G4int, const G4double*> Z67[N67]={Z67N98, Z67N99};
1205 //==> Er(Z=68)
1206 static const G4int N68=6;
1207 static const G4double pZ68N94[7]={1.2E-7, 13., 7.8E-5, 1.6E-9, .9, 9.E-6, .005};
1208 static const std::pair<G4int, const G4double*> Z68N94(94,pZ68N94);
1209 static const G4double pZ68N96[7]={1.2E-7, 13., 8.5E-5, 1.2E-9, .9, 8.E-6, .0055};
1210 static const std::pair<G4int, const G4double*> Z68N96(96,pZ68N96);
1211 static const G4double pZ68N98[7]={1.E-6, 13., .0011, .8E-9, .9, 8.E-6, .0087};
1212 static const std::pair<G4int, const G4double*> Z68N98(98,pZ68N98);
1213 static const G4double pZ68N99[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
1214 static const std::pair<G4int, const G4double*> Z68N99(99,pZ68N99);
1215 static const G4double pZ68N100[7]={2.E-6, 13., .0015, 1.1E-9, .9, 8.E-6, .0058};
1216 static const std::pair<G4int, const G4double*> Z68N100(100,pZ68N100);
1217 static const G4double pZ68N102[7]={2.E-6, 13., .0018, 1.E-9, .9, 8.E-6, .007};
1218 static const std::pair<G4int, const G4double*> Z68N102(102,pZ68N102);
1219 static const std::pair<G4int, const G4double*> Z68[N68]={Z68N94, Z68N96, Z68N98,
1220 Z68N99, Z68N100, Z68N102};
1221 //==> Tm(Z=69) *** No data *** (Tm169=Er167)
1222 static const G4int N69=1;
1223 static const G4double pZ69N100[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
1224 static const std::pair<G4int, const G4double*> Z69N100(100,pZ69N100);
1225 static const std::pair<G4int, const G4double*> Z69[N69]={Z69N100};
1226 //==> Yb(Z=70) *** No data *** (Yb168=Er166, Yb170=Er168, Yb171=Er167, Yb172=Er170,
1227 // Yb173=Hf177, Yb174=Hf176, Yb176=Hf178)
1228 static const G4int N70=7;
1229 static const G4double pZ70N98[7]={1.E-6, 13., .0011, .8E-9, .9, 8.E-6, .0087};
1230 static const std::pair<G4int, const G4double*> Z70N98(98,pZ70N98);
1231 static const G4double pZ70N100[7]={2.E-6, 13., .0015, 1.1E-9, .9, 8.E-6, .0058};
1232 static const std::pair<G4int, const G4double*> Z70N100(100,pZ70N100);
1233 static const G4double pZ70N101[7]={1.2E-7, 13., 2.5E-5, 4.5E-9, .9, 9.E-6, .0015};
1234 static const std::pair<G4int, const G4double*> Z70N101(101,pZ70N101);
1235 static const G4double pZ70N102[7]={2.E-6, 13., .0018, 1.E-9, .9, 8.E-6, .007};
1236 static const std::pair<G4int, const G4double*> Z70N102(102,pZ70N102);
1237 static const G4double pZ70N103[7]={5.E-7, 18., .01, 1.7E-6, 1.2, 1.4E-5, 1.4E-5};
1238 static const std::pair<G4int, const G4double*> Z70N103(103,pZ70N103);
1239 static const G4double pZ70N104[7]={5.E-7, 18., 1.9E-4, 2.5E-9, 1.2, 1.4E-5, .004};
1240 static const std::pair<G4int, const G4double*> Z70N104(104,pZ70N104);
1241 static const G4double pZ70N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
1242 static const std::pair<G4int, const G4double*> Z70N106(106,pZ70N106);
1243 static const std::pair<G4int, const G4double*> Z70[N70]={Z70N98, Z70N100, Z70N101,
1244 Z70N102, Z70N103, Z70N104,
1245 Z70N106};
1246 //==> Lu(Z=71)
1247 static const G4int N71=2;
1248 static const G4double pZ71N104[7]={5.E-7, 18., 1.8E-4, 2.E-9, .9, 9.E-6, .0036};
1249 static const std::pair<G4int, const G4double*> Z71N104(104,pZ71N104);
1250 static const G4double pZ71N105[7]={2.5E-7, 18., 9.E-5, 1.E-8, .9, 9.E-6, .0016};
1251 static const std::pair<G4int, const G4double*> Z71N105(105,pZ71N105);
1252 static const std::pair<G4int, const G4double*> Z71[N71]={Z71N104, Z71N105};
1253 //==> Hf(Z=72)
1254 static const G4int N72=6;
1255 static const G4double pZ72N102[7]={1.E-6, 18., 8.8E-4, .8E-9, 1., 1.1E-5, .0092};
1256 static const std::pair<G4int, const G4double*> Z72N102(102,pZ72N102);
1257 static const G4double pZ72N104[7]={5.E-7, 18., 1.9E-4, 2.5E-9, 1.2, 1.4E-5, .004};
1258 static const std::pair<G4int, const G4double*> Z72N104(104,pZ72N104);
1259 static const G4double pZ72N105[7]={5.E-7, 18., .01, 1.7E-6, 1.2, 1.4E-5, 1.4E-5};
1260 static const std::pair<G4int, const G4double*> Z72N105(105,pZ72N105);
1261 static const G4double pZ72N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
1262 static const std::pair<G4int, const G4double*> Z72N106(106,pZ72N106);
1263 static const G4double pZ72N107[7]={2.5E-7, 18., 1.E-4, 2.E-9, 1.2, 1.5E-5, .0041};
1264 static const std::pair<G4int, const G4double*> Z72N107(107,pZ72N107);
1265 static const G4double pZ72N108[7]={1.E-6, 18., .0012, .6E-9, 1.2, 1.5E-5, .012};
1266 static const std::pair<G4int, const G4double*> Z72N108(108,pZ72N108);
1267 static const std::pair<G4int, const G4double*> Z72[N72]={Z72N102, Z72N104, Z72N105,
1268 Z72N106, Z72N107, Z72N108};
1269 //==> Ta(Z=73)
1270 static const G4int N73=2;
1271 static const G4double pZ73N108[7]={5.E-7, 18., 1.7E-4, 2.E-9, 1.2, 1.4E-5, .0035};
1272 static const std::pair<G4int, const G4double*> Z73N108(108,pZ73N108);
1273 //static const G4double pZ73N109[7]={1.E-6, 14., .002, .3E-9, 1.3, 1.5E-5, .016};
1274 //static const std::pair<G4int, const G4double*> Z73N109(109,pZ73N109);
1275 static const std::pair<G4int, const G4double*> Z73[N73]={Z73N108, Z73N108};
1276 //==> W (Z=74) *** W180 only bad TENDL-2008 *** (W180=Hf178)
1277 static const G4int N74=5;
1278 static const G4double pZ74N106[7]={5.E-7, 18., 1.3E-4, 2.E-9, 1.2, 1.4E-5, .0027};
1279 static const std::pair<G4int, const G4double*> Z74N106(106,pZ74N106);
1280 static const G4double pZ74N108[7]={4.E-6, 14., .0034, .9E-9, 1.3, 1.4E-5, .0067};
1281 static const std::pair<G4int, const G4double*> Z74N108(108,pZ74N108);
1282 static const G4double pZ74N109[7]={1.2E-7, 14., 3.E-5, 3.E-9, 1.3, 1.4E-5, .0019};
1283 static const std::pair<G4int, const G4double*> Z74N109(109,pZ74N109);
1284 static const G4double pZ74N110[7]={1.2E-7, 14., 3.6E-5, 2.E-9, 1.3, 1.3E-5, .0024};
1285 static const std::pair<G4int, const G4double*> Z74N110(110,pZ74N110);
1286 static const G4double pZ74N112[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
1287 static const std::pair<G4int, const G4double*> Z74N112(112,pZ74N112);
1288 static const std::pair<G4int, const G4double*> Z74[N74]={Z74N106, Z74N108, Z74N109,
1289 Z74N110, Z74N112};
1290 //==> Re(Z=75)
1291 static const G4int N75=2;
1292 static const G4double pZ75N110[7]={1.2E-7, 14., 8.E-5, 1.2E-9, 1.3, 1.5E-5, .005};
1293 static const std::pair<G4int, const G4double*> Z75N110(110,pZ75N110);
1294 static const G4double pZ75N112[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
1295 static const std::pair<G4int, const G4double*> Z75N112(112,pZ75N112);
1296 static const std::pair<G4int, const G4double*> Z75[N75]={Z75N110, Z75N112};
1297 //==> Os(Z=76) *** No data *** (Os184=W182, Os186=W184, Os187=Re187, Os188=W186,
1298 // Os189=Re187, Os190=Os192=W186)
1299 static const G4int N76=7;
1300 static const G4double pZ76N108[7]={4.E-6, 14., .0034, .9E-9, 1.3, 1.4E-5, .0067};
1301 static const std::pair<G4int, const G4double*> Z76N108(108,pZ76N108);
1302 static const G4double pZ76N110[7]={1.2E-7, 14., 3.6E-5, 2.E-9, 1.3, 1.3E-5, .0024};
1303 static const std::pair<G4int, const G4double*> Z76N110(110,pZ76N110);
1304 static const G4double pZ76N111[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
1305 static const std::pair<G4int, const G4double*> Z76N111(111,pZ76N111);
1306 static const G4double pZ76N112[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
1307 static const std::pair<G4int, const G4double*> Z76N112(112,pZ76N112);
1308 static const G4double pZ76N113[7]={1.2E-7, 14., 8.8E-5, 1.1E-9, 1.3, 1.5E-5, .0055};
1309 static const std::pair<G4int, const G4double*> Z76N113(113,pZ76N113);
1310 static const G4double pZ76N114[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
1311 static const std::pair<G4int, const G4double*> Z76N114(114,pZ76N114);
1312 static const G4double pZ76N116[7]={1.2E-7, 14., 3.E-5, 1.3E-7, 1.3, 1.3E-5, 1.4E-4};
1313 static const std::pair<G4int, const G4double*> Z76N116(116,pZ76N116);
1314 static const std::pair<G4int, const G4double*> Z76[N76]={Z76N108, Z76N110, Z76N111,
1315 Z76N112, Z76N113, Z76N114,
1316 Z76N116};
1317 //==> Ir(Z=77)
1318 static const G4int N77=2;
1319 static const G4double pZ77N114[7]={4.8E-7, 14., 5.2E-4, .7E-9, 1.5, 1.7E-5, .0082};
1320 static const std::pair<G4int, const G4double*> Z77N114(114,pZ77N114);
1321 static const G4double pZ77N116[7]={4.8E-7, 14., 4.5E-4, .8E-9, 1.8, 2.3E-5, .0073};
1322 static const std::pair<G4int, const G4double*> Z77N116(116,pZ77N116);
1323 static const std::pair<G4int, const G4double*> Z77[N77]={Z77N114, Z77N116};
1324 //==> Pt(Z=78) *** No data *** (Pt190=Pt192=Pt194=Hg196, Pt195=Hg199, Pt196=Hg198,
1325 // Pt198=Hg200)
1326 static const G4int N78=6;
1327 static const G4double pZ78N112[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
1328 static const std::pair<G4int, const G4double*> Z78N112(112,pZ78N112);
1329 static const G4double pZ78N114[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
1330 static const std::pair<G4int, const G4double*> Z78N114(114,pZ78N114);
1331 static const G4double pZ78N116[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
1332 static const std::pair<G4int, const G4double*> Z78N116(116,pZ78N116);
1333 static const G4double pZ78N117[7]={9.6E-7, 20., .001, .2E-9, 1.6, 2.E-5, .037};
1334 static const std::pair<G4int, const G4double*> Z78N117(117,pZ78N117);
1335 static const G4double pZ78N118[7]={2.4E-7, 20., 1.6E-4, 1.3E-9, 1.6, 1.8E-5, .007};
1336 static const std::pair<G4int, const G4double*> Z78N118(118,pZ78N118);
1337 static const G4double pZ78N120[7]={2.E-6, 19., .0015, .9E-9, 1.6, 1.8E-5, .0078};
1338 static const std::pair<G4int, const G4double*> Z78N120(120,pZ78N120);
1339 static const std::pair<G4int, const G4double*> Z78[N78]={Z78N112, Z78N114, Z78N116,
1340 Z78N117, Z78N118, Z78N120};
1341 //==> Au(Z=79)
1342 static const G4int N79=1;
1343 static const G4double pZ79N118[7]={2.4E-7, 19., 1.E-4, 1.4E-9, 1.3, 1.7E-5, .0042};
1344 static const std::pair<G4int, const G4double*> Z79N118(118,pZ79N118);
1345 static const std::pair<G4int, const G4double*> Z79[N79]={Z79N118};
1346 //==> Hg(Z=80)
1347 static const G4int N80=7;
1348 static const G4double pZ80N116[7]={6.E-8, 19., 3.3E-4, .1E-9, 1.6, 1.8E-5, .06};
1349 static const std::pair<G4int, const G4double*> Z80N116(116,pZ80N116);
1350 static const G4double pZ80N118[7]={2.4E-7, 20., 1.6E-4, 1.3E-9, 1.6, 1.8E-5, .007};
1351 static const std::pair<G4int, const G4double*> Z80N118(118,pZ80N118);
1352 static const G4double pZ80N119[7]={9.6E-7, 20., .001, .2E-9, 1.6, 2.E-5, .037};
1353 static const std::pair<G4int, const G4double*> Z80N119(119,pZ80N119);
1354 static const G4double pZ80N120[7]={2.E-6, 19., .0015, .9E-9, 1.6, 1.8E-5, .0078};
1355 static const std::pair<G4int, const G4double*> Z80N120(120,pZ80N120);
1356 static const G4double pZ80N121[7]={1.E-6, 20., 7.E-4, 1.E-9, 1.6, 1.8E-5, .0076};
1357 static const std::pair<G4int, const G4double*> Z80N121(121,pZ80N121);
1358 static const G4double pZ80N122[7]={2.E-6, 18., .0016, .8E-9, 1.6, 1.8E-5, .0078};
1359 static const std::pair<G4int, const G4double*> Z80N122(122,pZ80N122);
1360 static const G4double pZ80N124[7]={2.0E-6, 18., .0032, .4E-9, 1.6, 1.8E-5, .016};
1361 static const std::pair<G4int, const G4double*> Z80N124(124,pZ80N124);
1362 static const std::pair<G4int, const G4double*> Z80[N80]={Z80N116, Z80N118, Z80N119,
1363 Z80N120, Z80N121, Z80N122,
1364 Z80N124};
1365 //==> Tl(Z=81) *** No data *** (Tl203=Au196, Tl198=Bi209)
1366 static const G4int N81=2;
1367 static const G4double pZ81N122[7]={2.4E-7, 19., 1.E-4, 1.4E-9, 1.3, 1.7E-5, .0042};
1368 static const std::pair<G4int, const G4double*> Z81N122(122,pZ81N122);
1369 static const G4double pZ81N124[7]={};
1370 static const std::pair<G4int, const G4double*> Z81N124(124,pZ81N124);
1371 static const std::pair<G4int, const G4double*> Z81[N81]={Z81N122, Z81N124};
1372 //==> Pb(Z=82)
1373 static const G4int N82=4;
1374 static const G4double pZ82N122[7]={4.E-6, 20., .0022, 1.E-9, 1.6, 1.8E-5, .0058};
1375 static const std::pair<G4int, const G4double*> Z82N122(122,pZ82N122);
1376 static const G4double pZ82N124[7]={4.E-6, 20., .0022, 1.E-9, 1.6, 1.8E-5, .0058};
1377 static const std::pair<G4int, const G4double*> Z82N124(124,pZ82N124);
1378 static const G4double pZ82N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
1379 static const std::pair<G4int, const G4double*> Z82N125(125,pZ82N125);
1380 static const G4double pZ82N126[7]={4.E-6, 20., .0023, 1.2E-9, 1.6, 1.8E-5, .0058};
1381 static const std::pair<G4int, const G4double*> Z82N126(126,pZ82N126);
1382 static const std::pair<G4int, const G4double*> Z82[N82]={Z82N122, Z82N124, Z82N125,
1383 Z82N126};
1384 //==> Bi(Z=83)
1385 static const G4int N83=1;
1386 static const G4double pZ83N126[7]={8.E-7, 23., 3.3E-4, 1.8E-9, 1.6, 1.8E-5, .005};
1387 static const std::pair<G4int, const G4double*> Z83N126(126,pZ83N126);
1388 static const std::pair<G4int, const G4double*> Z83[N83]={Z83N126};
1389 //==> Po(Z=84) *** No data *** (Po209=Pb207)
1390 static const G4int N84=1;
1391 static const G4double pZ84N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
1392 static const std::pair<G4int, const G4double*> Z84N125(125,pZ84N125);
1393 static const std::pair<G4int, const G4double*> Z84[N84]={Z84N125};
1394 //==> At(Z=85) *** No data *** (At210=Pb207)
1395 static const G4int N85=1;
1396 static const G4double pZ85N125[7]={2.E-6, 20., .0011, 1.2E-9, 1.6, 1.8E-5, .0056};
1397 static const std::pair<G4int, const G4double*> Z85N125(125,pZ85N125);
1398 static const std::pair<G4int, const G4double*> Z85[N85]={Z85N125};
1399 //==> Rn(Z=86) *** No data *** (Rn222=Ra224)
1400 static const G4int N86=1;
1401 static const G4double pZ86N136[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1402 static const std::pair<G4int, const G4double*> Z86N136(136,pZ86N136);
1403 static const std::pair<G4int, const G4double*> Z86[N86]={Z86N136};
1404 //==> Fr(Z=87) *** No data *** (Fr223=Ac225)
1405 static const G4int N87=1;
1406 static const G4double pZ87N136[7]={2.E-7, 23., 1.1E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
1407 static const std::pair<G4int, const G4double*> Z87N136(136,pZ87N136);
1408 static const std::pair<G4int, const G4double*> Z87[N87]={Z87N136};
1409 //==> Ra(Z=88)
1410 static const G4int N88=4;
1411 static const G4double pZ88N135[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1412 static const std::pair<G4int, const G4double*> Z88N135(135,pZ88N135);
1413 static const G4double pZ88N136[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1414 static const std::pair<G4int, const G4double*> Z88N136(136,pZ88N136);
1415 static const G4double pZ88N137[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1416 static const std::pair<G4int, const G4double*> Z88N137(137,pZ88N137);
1417 static const G4double pZ88N138[7]={4.E-7, 23., 1.7E-4, 1.5E-9, 1.6, 1.8E-5, .005};
1418 static const std::pair<G4int, const G4double*> Z88N138(138,pZ88N138);
1419 static const std::pair<G4int, const G4double*> Z88[N88]={Z88N135, Z88N136, Z88N137,
1420 Z88N138};
1421 //==> Ac(Z=89)
1422 static const G4int N89=3;
1423 static const G4double pZ89N136[7]={2.E-7, 23., 1.1E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
1424 static const std::pair<G4int, const G4double*> Z89N136(136,pZ89N136);
1425 static const G4double pZ89N137[7]={4.E-7, 23., 2.2E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
1426 static const std::pair<G4int, const G4double*> Z89N137(137,pZ89N137);
1427 static const G4double pZ89N138[7]={1.E-7, 23., 5.5E-5, 1.2E-9, 1.6, 1.8E-5, .0062};
1428 static const std::pair<G4int, const G4double*> Z89N138(138,pZ89N138);
1429 static const std::pair<G4int, const G4double*> Z89[N89]={Z89N136, Z89N137, Z89N138};
1430 //==> Th(Z=90)
1431 static const G4int N90=7;
1432 static const G4double pZ90N137[7]={4.E-7, 23., 2.2E-4, 1.2E-9, 1.6, 1.8E-5, .0062};
1433 static const std::pair<G4int, const G4double*> Z90N137(137,pZ90N137);
1434 static const G4double pZ90N138[7]={1.E-6, 23., .0016, .4E-9, 3., 3.E-5, .019};
1435 static const std::pair<G4int, const G4double*> Z90N138(138,pZ90N138);
1436 static const G4double pZ90N139[7]={2.5E-7, 23., 1.1E-4, 1.4E-9, 2.4, 2.7E-5, .0049};
1437 static const std::pair<G4int, const G4double*> Z90N139(139,pZ90N139);
1438 static const G4double pZ90N140[7]={1.2E-7, 23., 3.E-5, 2.E-9, 3., 3.E-5, .003};
1439 static const std::pair<G4int, const G4double*> Z90N140(140,pZ90N140);
1440 static const G4double pZ90N142[7]={4.E-6, 23., .0023, 1.1E-9, 1.8, 2.3E-5, .0064};
1441 static const std::pair<G4int, const G4double*> Z90N142(142,pZ90N142);
1442 static const G4double pZ90N143[7]={9.4E-7, 23., 5.4E-4, 1.1E-9, 3., 3.E-5, .0066};
1443 static const std::pair<G4int, const G4double*> Z90N143(143,pZ90N143);
1444 static const G4double pZ90N144[7]={2.5E-7, 23., 1.4E-4, 1.1E-9, 3., 3.E-5, .0066};
1445 static const std::pair<G4int, const G4double*> Z90N144(144,pZ90N144);
1446 static const std::pair<G4int, const G4double*> Z90[N90]={Z90N137, Z90N138, Z90N139,
1447 Z90N140, Z90N142, Z90N143,
1448 Z90N144};
1449 //==> Pa(Z=91)
1450 static const G4int N91=3;
1451 static const G4double pZ91N140[7]={1.E-5, 23., .0052, 1.6E-9, 1.8, 2.3E-5, .0057};
1452 static const std::pair<G4int, const G4double*> Z91N140(140,pZ91N140);
1453 static const G4double pZ91N141[7]={8.E-6, 23., .006, 0., 3.5, 3.5E-5, .021};
1454 static const std::pair<G4int, const G4double*> Z91N141(141,pZ91N141);
1455 static const G4double pZ91N142[7]={8.E-6, 23., .0042, 1.E-9, 2., 2.5E-5, .006};
1456 static const std::pair<G4int, const G4double*> Z91N142(142,pZ91N142);
1457 static const std::pair<G4int, const G4double*> Z91[N91]={Z91N140, Z91N141, Z91N142};
1458 //==> U (Z=92)
1459 static const G4int N92=10;
1460 static const G4double pZ92N140[7]={1.4E-6, 20., 8.E-4, 1.5E-9, 2.5, 2.8E-5, .0055};
1461 static const std::pair<G4int, const G4double*> Z92N140(140,pZ92N140);
1462 static const G4double pZ92N141[7]={5.6E-6, 20., .0033, 1.E-9, 2.5, 2.8E-5, .006};
1463 static const std::pair<G4int, const G4double*> Z92N141(141,pZ92N141);
1464 static const G4double pZ92N142[7]={5.6E-6, 20., .0034, 0., 2.5, 2.8E-5, .0072};
1465 static const std::pair<G4int, const G4double*> Z92N142(142,pZ92N142);
1466 static const G4double pZ92N143[7]={5.6E-6, 20., .0032, 0., 2., 2.3E-5, .006};
1467 static const std::pair<G4int, const G4double*> Z92N143(143,pZ92N143);
1468 static const G4double pZ92N144[7]={3.6E-7, 20., 1.6E-4, 1.3E-9, 2.2, 2.7E-5, .0043};
1469 static const std::pair<G4int, const G4double*> Z92N144(144,pZ92N144);
1470 static const G4double pZ92N145[7]={3.6E-6, 20., .003, 0., 2.2, 2.7E-5, .045};
1471 static const std::pair<G4int, const G4double*> Z92N145(145,pZ92N145);
1472 static const G4double pZ92N146[7]={3.6E-7, 20., 1.6E-4, 1.3E-9, 2.2, 2.7E-5, .0043};
1473 static const std::pair<G4int, const G4double*> Z92N146(146,pZ92N146);
1474 static const G4double pZ92N147[7]={3.6E-6, 20., .0014, 1.3E-9, 2.2, 2.7E-5, 12.};
1475 static const std::pair<G4int, const G4double*> Z92N147(147,pZ92N147);
1476 static const G4double pZ92N148[7]={3.4E-7, 20., 1.3E-4, 1.3E-9, 2.2, 2.8E-5, .0036};
1477 static const std::pair<G4int, const G4double*> Z92N148(148,pZ92N148);
1478 //static const G4double pZ92N149[7]={3.3E-7, 20., 1.5E-4, 1.2E-9, 3., 3.4E-5, .0044};
1479 //static const std::pair<G4int, const G4double*> Z92N149(149,pZ92N149);
1480 static const std::pair<G4int, const G4double*> Z92[N92]={Z92N140, Z92N141, Z92N142,
1481 Z92N143, Z92N144, Z92N145,
1482 Z92N146, Z92N147, Z92N148,
1483 Z92N146};
1484 //==> Np(Z=93)
1485 static const G4int N93=5;
1486 static const G4double pZ93N142[7]={3.4E-6, 20., .002, 1.3E-9, 3., 3.3E-5, .0056};
1487 static const std::pair<G4int, const G4double*> Z93N142(142,pZ93N142);
1488 static const G4double pZ93N143[7]={3.4E-6, 20., .002, 1.6E-9, 3.5, 3.6E-5, .005};
1489 static const std::pair<G4int, const G4double*> Z93N143(143,pZ93N143);
1490 static const G4double pZ93N144[7]={6.8E-6, 18., .0052, .8E-9, 2.4, 3.E-5, .0072};
1491 static const std::pair<G4int, const G4double*> Z93N144(144,pZ93N144);
1492 static const G4double pZ93N145[7]={3.4E-6, 20., .002, 1.E-9, 3.5, 3.6E-5, .006};
1493 static const std::pair<G4int, const G4double*> Z93N145(145,pZ93N145);
1494 static const G4double pZ93N146[7]={3.4E-6, 20., .002, 1.5E-9, 3.5, 3.6E-5, .0053};
1495 static const std::pair<G4int, const G4double*> Z93N146(146,pZ93N146);
1496 static const std::pair<G4int, const G4double*> Z93[N93]={Z93N142, Z93N143, Z93N144,
1497 Z93N145, Z93N146};
1498 //==> Pu(Z=94)
1499 static const G4int N94=10;
1500 static const G4double pZ94N142[7]={6.8E-7, 16., 4.5E-4, 1.7E-9, 2.6, 3.E-5, .0047};
1501 static const std::pair<G4int, const G4double*> Z94N142(142,pZ94N142);
1502 static const G4double pZ94N143[7]={6.8E-6, 18., .0044, .9E-9, 3.3, 3.5E-5, .0058};
1503 static const std::pair<G4int, const G4double*> Z94N143(143,pZ94N143);
1504 static const G4double pZ94N144[7]={6.8E-7, 16., 6.E-4, 0., 2.7, 2.6E-5, .0082};
1505 static const std::pair<G4int, const G4double*> Z94N144(144,pZ94N144);
1506 static const G4double pZ94N145[7]={2.6E-6, 16., .0017, 1.8E-9, 1.8, 2.E-5, .004};
1507 static const std::pair<G4int, const G4double*> Z94N145(145,pZ94N145);
1508 static const G4double pZ94N146[7]={2.5E-7, 20., 9.E-5, 3.6E-8, 3.4, 3.8E-5, 5.4E-4};
1509 static const std::pair<G4int, const G4double*> Z94N146(146,pZ94N146);
1510 static const G4double pZ94N147[7]={1.4E-5, 16., .01, .8E-9, 2.7, 2.6E-5, .0055};
1511 static const std::pair<G4int, const G4double*> Z94N147(147,pZ94N147);
1512 static const G4double pZ94N148[7]={3.4E-7, 20., 1.3E-4, 1.2E-9, 3.2, 3.E-5, .0036};
1513 static const std::pair<G4int, const G4double*> Z94N148(148,pZ94N148);
1514 static const G4double pZ94N149[7]={5.2E-6, 20., .0035, .4E-9, 2.3, 3.E-5, .0095};
1515 static const std::pair<G4int, const G4double*> Z94N149(149,pZ94N149);
1516 static const G4double pZ94N150[7]={3.3E-7, 20., 1.6E-4, 1.2E-9, 3., 3.E-5, .0046};
1517 static const std::pair<G4int, const G4double*> Z94N150(150,pZ94N150);
1518 static const G4double pZ94N152[7]={2.5E-6, 16., .0018, 1.2E-9, 3., 3.1E-5, .0052};
1519 static const std::pair<G4int, const G4double*> Z94N152(152,pZ94N152);
1520 static const std::pair<G4int, const G4double*> Z94[N94]={Z94N142, Z94N143, Z94N144,
1521 Z94N145, Z94N146, Z94N147,
1522 Z94N148, Z94N149, Z94N150,
1523 Z94N152};
1524 //==> Am(Z=95)
1525 static const G4int N95=4;
1526 static const G4double pZ95N156[7]={2.5E-6, 18., .0016, .9E-9, 2., 2.3E-5, .0058};
1527 static const std::pair<G4int, const G4double*> Z95N156(156,pZ95N156);
1528 static const G4double pZ95N157[7]={5.E-6, 18., .003, 2.7E-9, 2., 2.3E-5, .0039};
1529 static const std::pair<G4int, const G4double*> Z95N157(157,pZ95N157);
1530 static const G4double pZ95N158[7]={5.E-6, 19., .0033, 2.6E-9, 2., 2.3E-5, .0044};
1531 static const std::pair<G4int, const G4double*> Z95N158(158,pZ95N158);
1532 static const G4double pZ95N159[7]={5.E-5, 20., .029, 1.1E-9, 2., 2.3E-5, .0057};
1533 static const std::pair<G4int, const G4double*> Z95N159(159,pZ95N159);
1534 static const std::pair<G4int, const G4double*> Z95[N95]={Z95N156, Z95N157, Z95N158,
1535 Z95N159};
1536 //==> Cm(Z=96)
1537 static const G4int N96=10;
1538 static const G4double pZ96N145[7]={5.E-5, 22., .027, 1.1E-9, 2.2, 2.2E-5, .006};
1539 static const std::pair<G4int, const G4double*> Z96N145(145,pZ96N145);
1540 static const G4double pZ96N146[7]={5.E-5, 24., .027, 2.E-9, 2.2, 2.2E-5, .0055};
1541 static const std::pair<G4int, const G4double*> Z96N146(146,pZ96N146);
1542 static const G4double pZ96N147[7]={5.E-5, 22., .025, 2.5E-9, 2.2, 2.4E-5, .0044};
1543 static const std::pair<G4int, const G4double*> Z96N147(147,pZ96N147);
1544 static const G4double pZ96N148[7]={5.E-5, 23., .028, 1.9E-9, 2.2, 3.E-5, .0055};
1545 static const std::pair<G4int, const G4double*> Z96N148(148,pZ96N148);
1546 static const G4double pZ96N149[7]={5.E-5, 23., .025, 1.6E-9, 3., 3.5E-5, .0054};
1547 static const std::pair<G4int, const G4double*> Z96N149(149,pZ96N149);
1548 static const G4double pZ96N150[7]={5.E-5, 24., .026, 2.E-9, 3., 3.6E-5, .0045};
1549 static const std::pair<G4int, const G4double*> Z96N150(150,pZ96N150);
1550 static const G4double pZ96N151[7]={5.E-5, 24., .022, 2.4E-9, 3., 3.6E-5, .0039};
1551 static const std::pair<G4int, const G4double*> Z96N151(151,pZ96N151);
1552 static const G4double pZ96N152[7]={6.5E-7, 25., 2.E-4, 3.4E-9, 3., 3.6E-5, .003};
1553 static const std::pair<G4int, const G4double*> Z96N152(152,pZ96N152);
1554 static const G4double pZ96N153[7]={1.6E-6, 21., 7.E-4, 1.4E-9, 3., 3.6E-5, .0045};
1555 static const std::pair<G4int, const G4double*> Z96N153(153,pZ96N153);
1556 static const G4double pZ96N154[7]={1.3E-5, 16., .016, 0., 3., 3.6E-5, .017};
1557 static const std::pair<G4int, const G4double*> Z96N154(154,pZ96N154);
1558 static const std::pair<G4int, const G4double*> Z96[N96]={Z96N145, Z96N146, Z96N147,
1559 Z96N148, Z96N149, Z96N150,
1560 Z96N151, Z96N152, Z96N153,
1561 Z96N154};
1562 //==> Bk(Z=97)
1563 static const G4int N97=2;
1564 static const G4double pZ97N152[7]={6.5E-7, 22., 3.5E-4, 2.7E-9, 3., 4.E-5, .004};
1565 static const std::pair<G4int, const G4double*> Z97N152(152,pZ97N152);
1566 static const G4double pZ97N153[7]={6.5E-6, 22., .0036, 1.E-9, 2.7, 4.E-5, .006};
1567 static const std::pair<G4int, const G4double*> Z97N153(153,pZ97N153);
1568 static const std::pair<G4int, const G4double*> Z97[N97]={Z97N152, Z97N153};
1569 //==> Cf(Z=98)
1570 static const G4int N98=6;
1571 static const G4double pZ98N151[7]={6.5E-6, 22., .0035, .9E-9, 3., 4.E-5, .0068};
1572 static const std::pair<G4int, const G4double*> Z98N151(151,pZ98N151);
1573 static const G4double pZ98N152[7]={1.3E-6, 22., 7.E-4, 2.E-9, 2.7, 4.E-5, .0045};
1574 static const std::pair<G4int, const G4double*> Z98N152(152,pZ98N152);
1575 static const G4double pZ98N153[7]={2.6E-6, 22., .0014, 2.1E-9, 2.7, 4.E-5, .0044};
1576 static const std::pair<G4int, const G4double*> Z98N153(153,pZ98N153);
1577 static const G4double pZ98N154[7]={2.6E-6, 22., .0014, 1.3E-9, 2.7, 4.E-5, .0054};
1578 static const std::pair<G4int, const G4double*> Z98N154(154,pZ98N154);
1579 static const G4double pZ98N155[7]={2.6E-5, 22., .03, 0., 2.7, 4.E-5, .03};
1580 static const std::pair<G4int, const G4double*> Z98N155(155,pZ98N155);
1581 static const G4double pZ98N156[7]={5.2E-7, 22., 2.6E-4, 1.3E-9, 2.7, 4.E-5, .005};
1582 static const std::pair<G4int, const G4double*> Z98N156(156,pZ98N156);
1583 static const std::pair<G4int, const G4double*> Z98[N98]={Z98N151, Z98N152, Z98N153,
1584 Z98N154, Z98N155, Z98N156};
1585
1586 static const G4int NZ=99; // #of Elements covered by CHIPS elastic
1587 static const std::pair<G4int, const G4double*>* Pars[NZ]={Z0,Z1,Z2,Z3,Z4,Z5,Z6,Z7,Z8,Z9,
1588 Z10,Z11,Z12,Z13,Z14,Z15,Z16,Z17,Z18,Z19,Z20,Z21,Z22,Z23,Z24,Z25,Z26,Z27,Z28,Z29,Z30,
1589 Z31,Z32,Z33,Z34,Z35,Z36,Z37,Z38,Z39,Z40,Z41,Z42,Z43,Z44,Z45,Z46,Z47,Z48,Z49,Z50,Z51,
1590 Z52,Z53,Z54,Z55,Z56,Z57,Z58,Z59,Z60,Z61,Z62,Z63,Z64,Z65,Z66,Z67,Z68,Z69,Z70,Z71,Z72,
1591 Z73,Z74,Z75,Z76,Z77,Z78,Z79,Z80,Z81,Z82,Z83,Z84,Z85,Z86,Z87,Z88,Z89,Z90,Z91,Z92,Z93,
1592 Z94,Z95,Z96,Z97,Z98};
1593 static const G4int NIso[NZ]={N0,N1,N2,N3,N4,N5,N6,N7,N8,N9,N10,N11,N12,N13,N14,N15,N16,
1594 N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N27,N28,N29,N30,N31,N32,N33,N34,N35,N36,N37,
1595 N38,N39,N40,N41,N42,N43,N44,N45,N46,N47,N48,N49,N50,N51,N52,N53,N54,N55,N56,N57,N58,
1596 N59,N60,N61,N62,N63,N64,N65,N66,N67,N68,N69,N70,N71,N72,N73,N74,N75,N76,N77,N78,N79,
1597 N80,N81,N82,N83,N84,N85,N86,N87,N88,N89,N90,N91,N92,N93,N94,N95,N96,N97,N98};
1598 if(PDG==2112)
1599 {
1600 // --- Total np elastic cross section cs & s1/b1 (t), s2/b2 (u) --- NotTuned for highE
1601 //p2=p*p;p3=p2*p;sp=sqrt(p);p2s=p2*sp;lp=log(p);dl1=lp-(5.=par(3));p4=p2*p2; p=|3-mom|
1602 //CS=12./(p2s+.05*p+.0001/sqrt(sp))+.35/p+(6.75+.14*dl1*dl1+19./p)/(1.+.6/p4);
1603 // par(0) par(1) par(2) par(4) par(5) par(6) par(7) par(8)
1604 //s1=(6.75+.14*dl2*dl2+13./p)/(1.+.14/p4)+.6/(p4+.00013), s2=(75.+.001/p4/p)/p3
1605 // par(9) par(10) par(11) par(12) par(13) par(14) par(15) par(16)
1606 //b1=(7.2+4.32/(p4*p4+.012*p3))/(1.+2.5/p4), ss=0., b2=12./(p*sp+.34)
1607 //par(17) par(18) par(19) par(20) par(21) par(22) par(23)
1608 //
1609 if(lastPAR[nLast]!=pwd) // A unique flag to avoid the repeatable definition
1610 {
1611 if ( tgZ == 1 && tgN == 0 )
1612 {
1613 for (G4int ip=0; ip<n_npel; ip++) lastPAR[ip]=np_el[ip]; // np
1614 }
1615 else if ( tgZ == 0 && tgN == 1 )
1616 {
1617 for (G4int ip=0; ip<n_ppel; ip++) lastPAR[ip]=pp_el[ip]; // nn
1618 }
1619 else
1620 {
1621 G4double a=tgZ+tgN;
1622 G4double ala=std::log(a); // for powers of a
1623 G4double sa=std::sqrt(a);
1624 G4double ssa=std::sqrt(sa);
1625 G4double asa=a*sa;
1626 G4double a2=a*a;
1627 G4double a3=a2*a;
1628 G4double a4=a3*a;
1629 G4double a5=a4*a;
1630 G4double a6=a4*a2;
1631 G4double a7=a6*a;
1632 G4double a8=a7*a;
1633 G4double a9=a8*a;
1634 G4double a10=a5*a5;
1635 G4double a12=a6*a6;
1636 G4double a14=a7*a7;
1637 G4double a16=a8*a8;
1638 G4double a17=a16*a;
1639 G4double a32=a16*a16;
1640 // Reaction cross-section parameters (na_el.f)
1641 lastPAR[ 0]=5./(1.+22./asa); // p1
1642 lastPAR[ 1]=4.8*std::exp(ala*1.14)/(1.+3.6/a3); // p2
1643 lastPAR[ 2]=1./(1.+.004*a4)+2.E-6*a3/(1.+1.3E-6*a3); // p3
1644 lastPAR[ 3]=.07*asa/(1.+.009*a2); // o4
1645 lastPAR[ 5]=1.7*a; // p5
1646 lastPAR[ 6]=5.5E-6*std::exp(ala*1.3); // p6
1647 lastPAR[13]=0.; // reserved
1648 lastPAR[14]=0.; // reserved
1649 G4int nn=NIso[tgZ];
1650 G4bool nfound=true;
1651 if(nn) for (G4int in=0; in<nn; in++)
1652 {
1653 std::pair<G4int, const G4double*> curIs=Pars[tgZ][in];
1654 G4int cn=curIs.first;
1655 if(cn == tgN)
1656 {
1657 const G4double* curT=curIs.second;
1658 lastPAR[ 4]=curT[0]; // p4
1659 lastPAR[ 7]=curT[1]; // p7
1660 lastPAR[ 8]=curT[2]; // p8
1661 lastPAR[ 9]=curT[3]; // p9
1662 lastPAR[10]=curT[4]; // p10
1663 lastPAR[11]=curT[5]; // p11
1664 lastPAR[12]=curT[6]; // p12
1665 nfound = false;
1666 break;
1667 }
1668 }
1669 if(nfound)
1670 {
1671 //AR-24Apr2018 Switch to allow transuranic elements (in this case to avoid a harmless warning)
1672 const G4bool isHeavyElementAllowed = true;
1673 if ( ! isHeavyElementAllowed ) {
1674 G4cout<<"-Warning-G4ChipsNeutronElasticXS::CalcCS: Z="<<tgZ<<", N="<<tgN
1675 <<" isotope is not implemented in CHIPS"<<G4endl;
1676 }
1677 // Put default values:
1678 lastPAR[ 4]=5.2E-7; // p4
1679 lastPAR[ 7]=22.; // p7
1680 lastPAR[ 8]=.00026; // p8
1681 lastPAR[ 9]=1.3E-9; // p9
1682 lastPAR[10]=2.7; // p10
1683 lastPAR[11]=4.E-5; // p11
1684 lastPAR[12]=.005; // p12
1685 }
1686 // @@ the differential cross-section is parameterized separately for A>6 & A<7
1687 if(a<6.5)
1688 {
1689 G4double a28=a16*a12;
1690 // The main pre-exponent (pel_sg)
1691 lastPAR[15]=4000*a; // p1
1692 lastPAR[16]=1.2e7*a8+380*a17; // p2
1693 lastPAR[17]=.7/(1.+4.e-12*a16); // p3
1694 lastPAR[18]=2.5/a8/(a4+1.e-16*a32); // p4
1695 lastPAR[19]=.28*a; // p5
1696 lastPAR[20]=1.2*a2+2.3; // p6
1697 lastPAR[21]=3.8/a; // p7
1698 // The main slope (pel_sl)
1699 lastPAR[22]=.01/(1.+.0024*a5); // p1
1700 lastPAR[23]=.2*a; // p2
1701 lastPAR[24]=9.e-7/(1.+.035*a5); // p3
1702 lastPAR[25]=(42.+2.7e-11*a16)/(1.+.14*a); // p4
1703 // The main quadratic (pel_sh)
1704 lastPAR[26]=2.25*a3; // p1
1705 lastPAR[27]=18.; // p2
1706 lastPAR[28]=.0024*a8/(1.+2.6e-4*a7); // p3
1707 lastPAR[29]=3.5e-36*a32*a8/(1.+5.e-15*a32/a); // p4
1708 lastPAR[30]=1.e5/(a8+2.5e12/a16); // p1
1709 lastPAR[31]=8.e7/(a12+1.e-27*a28*a28); // p2
1710 lastPAR[32]=.0006*a3; // p3
1711 // The 1st max slope (pel_qs)
1712 lastPAR[33]=10.+4.e-8*a12*a; // p1
1713 lastPAR[34]=.114; // p2
1714 lastPAR[35]=.003; // p3
1715 lastPAR[36]=2.e-23; // p4
1716 // The effective pre-exponent (pel_ss)
1717 lastPAR[37]=1./(1.+.0001*a8); // p1
1718 lastPAR[38]=1.5e-4/(1.+5.e-6*a12); // p2
1719 lastPAR[39]=.03; // p3
1720 // The effective slope (pel_sb)
1721 lastPAR[40]=a/2; // p1
1722 lastPAR[41]=2.e-7*a4; // p2
1723 lastPAR[42]=4.; // p3
1724 lastPAR[43]=64./a3; // p4
1725 // The gloria pre-exponent (pel_us)
1726 lastPAR[44]=1.e8*std::exp(.32*asa); // p1
1727 lastPAR[45]=20.*std::exp(.45*asa); // p2
1728 lastPAR[46]=7.e3+2.4e6/a5; // p3
1729 lastPAR[47]=2.5e5*std::exp(.085*a3); // p4
1730 lastPAR[48]=2.5*a; // p5
1731 // The gloria slope (pel_ub)
1732 lastPAR[49]=920.+.03*a8*a3; // p1
1733 lastPAR[50]=93.+.0023*a12; // p2
1734 }
1735 else
1736 {
1737 G4double p1a10=2.2e-28*a10;
1738 G4double r4a16=6.e14/a16;
1739 G4double s4a16=r4a16*r4a16;
1740 // a24
1741 // a36
1742 // The main pre-exponent (peh_sg)
1743 lastPAR[15]=4.5*std::pow(a,1.15); // p1
1744 lastPAR[16]=.06*std::pow(a,.6); // p2
1745 lastPAR[17]=.6*a/(1.+2.e15/a16); // p3
1746 lastPAR[18]=.17/(a+9.e5/a3+1.5e33/a32); // p4
1747 lastPAR[19]=(.001+7.e-11*a5)/(1.+4.4e-11*a5); // p5
1748 lastPAR[20]=(p1a10*p1a10+2.e-29)/(1.+2.e-22*a12); // p6
1749 // The main slope (peh_sl)
1750 lastPAR[21]=400./a12+2.e-22*a9; // p1
1751 lastPAR[22]=1.e-32*a12/(1.+5.e22/a14); // p2
1752 lastPAR[23]=1000./a2+9.5*sa*ssa; // p3
1753 lastPAR[24]=4.e-6*a*asa+1.e11/a16; // p4
1754 lastPAR[25]=(120./a+.002*a2)/(1.+2.e14/a16); // p5
1755 lastPAR[26]=9.+100./a; // p6
1756 // The main quadratic (peh_sh)
1757 lastPAR[27]=.002*a3+3.e7/a6; // p1
1758 lastPAR[28]=7.e-15*a4*asa; // p2
1759 lastPAR[29]=9000./a4; // p3
1760 // The 1st max pre-exponent (peh_qq)
1761 lastPAR[30]=.0011*asa/(1.+3.e34/a32/a4); // p1
1762 lastPAR[31]=1.e-5*a2+2.e14/a16; // p2
1763 lastPAR[32]=1.2e-11*a2/(1.+1.5e19/a12); // p3
1764 lastPAR[33]=.016*asa/(1.+5.e16/a16); // p4
1765 // The 1st max slope (peh_qs)
1766 lastPAR[34]=.002*a4/(1.+7.e7/std::pow(a-6.83,14)); // p1
1767 lastPAR[35]=2.e6/a6+7.2/std::pow(a,.11); // p2
1768 lastPAR[36]=11.*a3/(1.+7.e23/a16/a8); // p3
1769 lastPAR[37]=100./asa; // p4
1770 // The 2nd max pre-exponent (peh_ss)
1771 lastPAR[38]=(.1+4.4e-5*a2)/(1.+5.e5/a4); // p1
1772 lastPAR[39]=3.5e-4*a2/(1.+1.e8/a8); // p2
1773 lastPAR[40]=1.3+3.e5/a4; // p3
1774 lastPAR[41]=500./(a2+50.)+3; // p4
1775 lastPAR[42]=1.e-9/a+s4a16*s4a16; // p5
1776 // The 2nd max slope (peh_sb)
1777 lastPAR[43]=.4*asa+3.e-9*a6; // p1
1778 lastPAR[44]=.0005*a5; // p2
1779 lastPAR[45]=.002*a5; // p3
1780 lastPAR[46]=10.; // p4
1781 // The effective pre-exponent (peh_us)
1782 lastPAR[47]=.05+.005*a; // p1
1783 lastPAR[48]=7.e-8/sa; // p2
1784 lastPAR[49]=.8*sa; // p3
1785 lastPAR[50]=.02*sa; // p4
1786 lastPAR[51]=1.e8/a3; // p5
1787 lastPAR[52]=3.e32/(a32+1.e32); // p6
1788 // The effective slope (peh_ub)
1789 lastPAR[53]=24.; // p1
1790 lastPAR[54]=20./sa; // p2
1791 lastPAR[55]=7.e3*a/(sa+1.); // p3
1792 lastPAR[56]=900.*sa/(1.+500./a3); // p4
1793 }
1794 // Parameter for lowEnergyNeutrons
1795 lastPAR[57]=1.e15+2.e27/a4/(1.+2.e-18*a16);
1796 }
1797 lastPAR[nLast]=pwd;
1798 // and initialize the zero element of the table
1799 G4double lp=lPMin; // ln(momentum)
1800 G4bool memCS=onlyCS; // ??
1801 onlyCS=false;
1802 lastCST[0]=GetTabValues(lp, PDG, tgZ, tgN); // Calculate AMDB tables
1803 onlyCS=memCS;
1804 lastSST[0]=theSS;
1805 lastS1T[0]=theS1;
1806 lastB1T[0]=theB1;
1807 lastS2T[0]=theS2;
1808 lastB2T[0]=theB2;
1809 lastS3T[0]=theS3;
1810 lastB3T[0]=theB3;
1811 lastS4T[0]=theS4;
1812 lastB4T[0]=theB4;
1813 }
1814 if(LP>ILP)
1815 {
1816 G4int ini = static_cast<int>((ILP-lPMin+.000001)/dlnP)+1; // already inited till this
1817 if(ini<0) ini=0;
1818 if(ini<nPoints)
1819 {
1820 G4int fin = static_cast<int>((LP-lPMin)/dlnP)+1; // final bin of initialization
1821 if(fin>=nPoints) fin=nLast; // Limit of the tabular initialization
1822 if(fin>=ini)
1823 {
1824 G4double lp=0.;
1825 for(G4int ip=ini; ip<=fin; ip++) // Calculate tabular CS,S1,B1,S2,B2,S3,B3
1826 {
1827 lp=lPMin+ip*dlnP; // ln(momentum)
1828 G4bool memCS=onlyCS;
1829 onlyCS=false;
1830 lastCST[ip]=GetTabValues(lp, PDG, tgZ, tgN); // Calculate AMDB tables (ret CS)
1831 onlyCS=memCS;
1832 lastSST[ip]=theSS;
1833 lastS1T[ip]=theS1;
1834 lastB1T[ip]=theB1;
1835 lastS2T[ip]=theS2;
1836 lastB2T[ip]=theB2;
1837 lastS3T[ip]=theS3;
1838 lastB3T[ip]=theB3;
1839 lastS4T[ip]=theS4;
1840 lastB4T[ip]=theB4;
1841 }
1842 return lp;
1843 }
1844 else G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetPTables: PDG="<<PDG
1845 <<", Z="<<tgZ<<", N="<<tgN<<", i="<<ini<<" > fin="<<fin<<", LP="<<LP
1846 <<" > ILP="<<ILP<<" nothing is done!"<<G4endl;
1847 }
1848 else G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetPTables: PDG="<<PDG<<", Z="
1849 <<tgZ<<", N="<<tgN<<", i="<<ini<<">= max="<<nPoints<<", LP="<<LP
1850 <<" > ILP="<<ILP<<", lPMax="<<lPMax<<" nothing is done!"<<G4endl;
1851 }
1852 }
1853 else
1854 {
1855 // G4cout<<"*Error*G4ChipsNeutronElasticXS::GetPTables: PDG="<<PDG<<", Z="<<tgZ
1856 // <<", N="<<tgN<<", while it is defined only for PDG=2112(n)"<<G4endl;
1857 // throw G4QException("G4ChipsNeutronElasticXS::GetPTables:only nA're implemented");
1859 ed << "PDG = " << PDG << ", Z = " << tgZ <<", N = " << tgN
1860 << ", while it is defined only for PDG=2112 (n)" << G4endl;
1861 G4Exception("G4ChipsNeutronElasticXS::GetPTables()", "HAD_CHPS_0000",
1862 FatalException, ed);
1863 }
1864 return ILP;
1865}
static const G4double Z1[5]
Definition: paraMaker.cc:41

References dlnP, FatalException, G4cout, G4endl, G4Exception(), GetTabValues(), lastB1T, lastB2T, lastB3T, lastB4T, lastCST, lastPAR, lastS1T, lastS2T, lastS3T, lastS4T, lastSST, lPMax, lPMin, nLast, G4InuclParticleNames::nn, nPoints, onlyCS, anonymous_namespace{G4ChipsKaonMinusElasticXS.cc}::pwd, theB1, theB2, theB3, theB4, theS1, theS2, theS3, theS4, theSS, and anonymous_namespace{paraMaker.cc}::Z1.

Referenced by CalculateCrossSection().

◆ GetQ2max()

G4double G4ChipsNeutronElasticXS::GetQ2max ( G4int  pPDG,
G4int  tgZ,
G4int  tgN,
G4double  pP 
)
private

Definition at line 2096 of file G4ChipsNeutronElasticXS.cc.

2098{
2099
2100 G4double pP2=pP*pP; // squared momentum of the projectile
2101 if(tgZ==0 && tgN==1)
2102 {
2103 G4double tMid=std::sqrt(pP2+mNeut2)*mNeut-mNeut2; // CMS 90deg value of -t=Q2 (GeV^2)
2104 return tMid+tMid;
2105 }
2106 else if(tgZ || tgN) // ---> nA
2107 {
2108 G4double mt=mProt; // Target mass in GeV
2109 if(tgN||tgZ>1) mt=G4ParticleTable::GetParticleTable()->GetIonTable()->GetIon(tgZ,tgZ+tgN,0)->GetPDGMass()*.001; // Target mass in GeV
2110 G4double dmt=mt+mt;
2111 G4double mds=dmt*std::sqrt(pP2+mNeut2)+mNeut2+mt*mt; // Mondelstam mds (in GeV^2)
2112 return dmt*dmt*pP2/mds;
2113 }
2114 else
2115 {
2116 // G4cout<<"*Error*G4ChipsNeutronElasticXS::GetQ2max:PDG="<<PDG<<", Z="<<tgZ<<", N="
2117 // <<tgN<<", while it is defined only for n projectiles & Z_target>0"<<G4endl;
2118 // throw G4QException("G4ChipsNeutronElasticXS::GetQ2max: only nA implemented");
2120 ed << "PDG = " << PDG << ", Z = " << tgZ << ", N =" << tgN
2121 <<", while it is defined only for n projectiles & Z_target>0" << G4endl;
2122 G4Exception("G4ChipsNeutronElasticXS::GetQ2max()", "HAD_CHPS_0000",
2123 FatalException, ed);
2124 return 0;
2125 }
2126}
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
Definition: G4IonTable.cc:522
G4IonTable * GetIonTable() const
static G4ParticleTable * GetParticleTable()

References FatalException, G4endl, G4Exception(), G4IonTable::GetIon(), G4ParticleTable::GetIonTable(), G4ParticleTable::GetParticleTable(), G4ParticleDefinition::GetPDGMass(), anonymous_namespace{G4ChipsNeutronElasticXS.cc}::mNeut, anonymous_namespace{G4ChipsNeutronElasticXS.cc}::mNeut2, and anonymous_namespace{G4ChipsNeutronElasticXS.cc}::mProt.

Referenced by CalculateCrossSection().

◆ GetSlope()

G4double G4ChipsNeutronElasticXS::GetSlope ( G4int  tZ,
G4int  tN,
G4int  pPDG 
)
private

Definition at line 1967 of file G4ChipsNeutronElasticXS.cc.

1968{
1970
1971 if(onlyCS) G4cout<<"Warning*G4ChipsNeutronElasticXS::GetSlope:onlyCS=true"<<G4endl;
1972 if(lastLP<-4.3) return 0.; // S-wave for p<14 MeV/c (kinE<.1MeV)
1973 if(PDG!=2112)
1974 {
1975 // G4cout<<"*Error*G4ChipsNeutronElasticXS::GetSlope: PDG="<<PDG<<", Z="<<tgZ
1976 // <<", N="<<tgN<<", while it is defined only for PDG=2112"<<G4endl;
1977 // throw G4QException("G4ChipsNeutronElasticXS::GetSlope: only nA are implemented");
1979 ed << "PDG = " << PDG << ", Z = " << tgZ << ", N = " << tgN
1980 <<", while it is defined only for PDG=2112 (n) " << G4endl;
1981 G4Exception("G4ChipsNeutronElasticXS::GetSlope()", "HAD_CHPS_0000",
1982 FatalException, ed);
1983 }
1984 if(theB1<0.) theB1=0.;
1985 if(!(theB1>=-1.||theB1<=1.))G4cout<<"*NAN*G4QNeutElasticCrosS::Getslope:"<<theB1<<G4endl;
1986 return theB1/GeVSQ;
1987}

References FatalException, G4cout, G4endl, G4Exception(), anonymous_namespace{G4ChipsKaonMinusElasticXS.cc}::GeVSQ, gigaelectronvolt, lastLP, onlyCS, and theB1.

◆ GetTabValues()

G4double G4ChipsNeutronElasticXS::GetTabValues ( G4double  lp,
G4int  pPDG,
G4int  tgZ,
G4int  tgN 
)
private

Definition at line 1997 of file G4ChipsNeutronElasticXS.cc.

1999{
2000 if(PDG!=2112) G4cout<<"*Warning*G4ChipsNeutronElasticXS::GetTaV:PDG="<<PDG<<G4endl;
2001
2002 //AR-24Apr2018 Switch to allow transuranic elements
2003 const G4bool isHeavyElementAllowed = true;
2004 if(tgZ<0 || ( !isHeavyElementAllowed && tgZ>92))
2005 {
2006 G4cout<<"*Warning*G4QNElasticCrS::GetTabValue: (1-92) No isotopes for Z="<<tgZ<<G4endl;
2007 return 0.;
2008 }
2009 G4int iZ=tgZ-1; // Z index
2010 if(iZ<0)
2011 {
2012 iZ=0; // conversion of the neutron target to the proton target
2013 tgZ=1;
2014 tgN=0;
2015 }
2016 G4double p=std::exp(lp); // momentum
2017 G4double sp=std::sqrt(p); // sqrt(p)
2018 G4double p2=p*p;
2019 G4double p3=p2*p;
2020 G4double p4=p3*p;
2021 if ( tgZ == 1 && tgN == 0 ) // np
2022 {
2023 G4double ssp=std::sqrt(sp); // sqrt(sqrt(p))=p^.25
2024 G4double p2s=p2*sp;
2025 G4double dl1=lp-lastPAR[3];
2026 theSS=lastPAR[27];
2027 theS1=(lastPAR[9]+lastPAR[10]*dl1*dl1+lastPAR[11]/p)/(1.+lastPAR[12]/p4)
2028 +lastPAR[13]/(p4+lastPAR[14]);
2029 theB1=(lastPAR[17]+lastPAR[18]/(p4*p4+lastPAR[19]*p3))/(1.+lastPAR[20]/p4);
2030 theS2=(lastPAR[15]+lastPAR[16]/p4/p)/p3;
2031 theB2=lastPAR[22]/(p*sp+lastPAR[23]);
2032 theS3=0.;
2033 theB3=0.;
2034 theS4=0.;
2035 theB4=0.;
2036 // Returns the total elastic pp cross-section (to avoid spoiling lastSIG)
2037 return lastPAR[0]/(p2s+lastPAR[1]*p+lastPAR[2]/ssp)+lastPAR[4]/p
2038 +(lastPAR[5]+lastPAR[6]*dl1*dl1+lastPAR[7]/p)/(1.+lastPAR[8]/p4);
2039
2040 }
2041 else
2042 {
2043 G4double p5=p4*p;
2044 G4double p6=p5*p;
2045 G4double p8=p6*p2;
2046 G4double p10=p8*p2;
2047 G4double p12=p10*p2;
2048 G4double p16=p8*p8;
2049 G4double dl=lp-5.;
2050 G4double a=tgZ+tgN;
2051 if(a<6.5)
2052 {
2053 G4double pah=std::pow(p,a/2);
2054 G4double pa=pah*pah;
2055 G4double pa2=pa*pa;
2056
2057 theS1=lastPAR[15]/(1.+lastPAR[16]*p4*pa)+lastPAR[17]/(p4+lastPAR[18]*p4/pa2)+
2058 (lastPAR[19]*dl*dl+lastPAR[20])/(1.+lastPAR[21]/p2);
2059 theB1=(lastPAR[22]+lastPAR[23]*p2)/(p4+lastPAR[24]/pah)+lastPAR[25];
2060 theSS=lastPAR[26]/(1.+lastPAR[27]/p2)+lastPAR[28]/(p6/pa+lastPAR[29]/p16);
2061 theS2=lastPAR[30]/(pa/p2+lastPAR[31]/p4)+lastPAR[32];
2062 theB2=lastPAR[33]*std::pow(p,lastPAR[34])+lastPAR[35]/(p8+lastPAR[36]/p16);
2063 theS3=lastPAR[37]/(pa*p+lastPAR[38]/pa)+lastPAR[39];
2064 theB3=lastPAR[40]/(p3+lastPAR[41]/p6)+lastPAR[42]/(1.+lastPAR[43]/p2);
2065 theS4=p2*(pah*lastPAR[44]*std::exp(-pah*lastPAR[45])+
2066 lastPAR[46]/(1.+lastPAR[47]*std::pow(p,lastPAR[48])));
2067 theB4=lastPAR[49]*pa/p2/(1.+pa*lastPAR[50]);
2068 }
2069 else
2070 {
2071 theS1=lastPAR[15]/(1.+lastPAR[16]/p4)+lastPAR[17]/(p4+lastPAR[18]/p2)+
2072 lastPAR[19]/(p5+lastPAR[20]/p16);
2073 theB1=(lastPAR[21]/p8+lastPAR[25])/(p+lastPAR[22]/std::pow(p,lastPAR[26]))+
2074 lastPAR[23]/(1.+lastPAR[24]/p4);
2075 theSS=lastPAR[27]/(p4/std::pow(p,lastPAR[29])+lastPAR[28]/p4);
2076 theS2=lastPAR[30]/p4/(std::pow(p,lastPAR[31])+lastPAR[32]/p12)+lastPAR[33];
2077 theB2=lastPAR[34]/std::pow(p,lastPAR[35])+lastPAR[36]/std::pow(p,lastPAR[37]);
2078 theS3=lastPAR[38]/std::pow(p,lastPAR[41])/(1.+lastPAR[42]/p12)+
2079 lastPAR[39]/(1.+lastPAR[40]/p6);
2080 theB3=lastPAR[43]/p8+lastPAR[44]/p2+lastPAR[45]/(1.+lastPAR[46]/p8);
2081 theS4=(lastPAR[47]/p4+lastPAR[52]/p)/(1.+lastPAR[48]/p10)+
2082 (lastPAR[49]+lastPAR[50]*dl*dl)/(1.+lastPAR[51]/p12);
2083 theB4=lastPAR[53]/(1.+lastPAR[54]/p)+lastPAR[55]*p4/(1.+lastPAR[56]*p5);
2084 }
2085 // Returns the total elastic (n/p)A cross-section (to avoid spoiling lastSIG)
2086 // p1(p6) p2(p7) p3(p4) o4(p8) (p9)p5
2087 return (lastPAR[0]*dl*dl+lastPAR[1])/(1.+lastPAR[2]/p+lastPAR[3]/p4)+lastPAR[5]/
2088 (p3+lastPAR[6]/p3)+lastPAR[7]/(p2+lastPAR[4]/(p2+lastPAR[8])+lastPAR[9]/p)+
2089 lastPAR[10]/(p5+lastPAR[11]/p2)+lastPAR[12]/p;
2090 // p10 p11 p12
2091 }
2092 return 0.;
2093} // End of GetTableValues

References G4cout, G4endl, lastPAR, G4InuclParticleNames::sp, theB1, theB2, theB3, theB4, theS1, theS2, theS3, theS4, and theSS.

Referenced by CalculateCrossSection(), and GetPTables().

◆ GetVerboseLevel()

G4int G4VCrossSectionDataSet::GetVerboseLevel ( ) const
inlinevirtualinherited

◆ IsElementApplicable()

G4bool G4VCrossSectionDataSet::IsElementApplicable ( const G4DynamicParticle ,
G4int  Z,
const G4Material mat = nullptr 
)
virtualinherited

◆ IsIsoApplicable()

G4bool G4ChipsNeutronElasticXS::IsIsoApplicable ( const G4DynamicParticle Pt,
G4int  Z,
G4int  A,
const G4Element elm,
const G4Material mat 
)
virtual

Reimplemented from G4VCrossSectionDataSet.

Definition at line 152 of file G4ChipsNeutronElasticXS.cc.

155{
156 return true;
157}

◆ 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}
const G4Isotope * GetIsotope(G4int iso) const
Definition: G4Element.hh:170

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

◆ 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

◆ B1T

std::vector<G4double*> G4ChipsNeutronElasticXS::B1T
private

Definition at line 133 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ B2T

std::vector<G4double*> G4ChipsNeutronElasticXS::B2T
private

Definition at line 135 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ B3T

std::vector<G4double*> G4ChipsNeutronElasticXS::B3T
private

Definition at line 137 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ B4T

std::vector<G4double*> G4ChipsNeutronElasticXS::B4T
private

Definition at line 139 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ colCS

std::vector<G4double> G4ChipsNeutronElasticXS::colCS
private

Definition at line 145 of file G4ChipsNeutronElasticXS.hh.

Referenced by GetChipsCrossSection().

◆ colN

std::vector<G4int> G4ChipsNeutronElasticXS::colN
private

Definition at line 141 of file G4ChipsNeutronElasticXS.hh.

Referenced by GetChipsCrossSection().

◆ colP

std::vector<G4double> G4ChipsNeutronElasticXS::colP
private

Definition at line 143 of file G4ChipsNeutronElasticXS.hh.

Referenced by GetChipsCrossSection().

◆ colTH

std::vector<G4double> G4ChipsNeutronElasticXS::colTH
private

Definition at line 144 of file G4ChipsNeutronElasticXS.hh.

Referenced by GetChipsCrossSection().

◆ colZ

std::vector<G4int> G4ChipsNeutronElasticXS::colZ
private

Definition at line 142 of file G4ChipsNeutronElasticXS.hh.

Referenced by GetChipsCrossSection().

◆ CST

std::vector<G4double*> G4ChipsNeutronElasticXS::CST
private

Definition at line 130 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ dlnP

G4double G4ChipsNeutronElasticXS::dlnP
private

◆ isForAllAtomsAndEnergies

G4bool G4VCrossSectionDataSet::isForAllAtomsAndEnergies
privateinherited

◆ lastB1T

G4double* G4ChipsNeutronElasticXS::lastB1T
private

◆ lastB2T

G4double* G4ChipsNeutronElasticXS::lastB2T
private

◆ lastB3T

G4double* G4ChipsNeutronElasticXS::lastB3T
private

◆ lastB4T

G4double* G4ChipsNeutronElasticXS::lastB4T
private

◆ lastCS

G4double G4ChipsNeutronElasticXS::lastCS
private

Definition at line 102 of file G4ChipsNeutronElasticXS.hh.

Referenced by G4ChipsNeutronElasticXS(), and GetChipsCrossSection().

◆ lastCST

G4double* G4ChipsNeutronElasticXS::lastCST
private

◆ lastI

G4int G4ChipsNeutronElasticXS::lastI
private

Definition at line 103 of file G4ChipsNeutronElasticXS.hh.

Referenced by G4ChipsNeutronElasticXS(), and GetChipsCrossSection().

◆ lastLP

G4double G4ChipsNeutronElasticXS::lastLP
private

◆ lastN

G4int G4ChipsNeutronElasticXS::lastN
private

Definition at line 98 of file G4ChipsNeutronElasticXS.hh.

Referenced by G4ChipsNeutronElasticXS(), and GetChipsCrossSection().

◆ lastP

G4double G4ChipsNeutronElasticXS::lastP
private

Definition at line 100 of file G4ChipsNeutronElasticXS.hh.

Referenced by G4ChipsNeutronElasticXS(), and GetChipsCrossSection().

◆ lastPAR

G4double* G4ChipsNeutronElasticXS::lastPAR
private

◆ lastPIN

G4double G4ChipsNeutronElasticXS::lastPIN
private

Definition at line 116 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and G4ChipsNeutronElasticXS().

◆ lastS1T

G4double* G4ChipsNeutronElasticXS::lastS1T
private

◆ lastS2T

G4double* G4ChipsNeutronElasticXS::lastS2T
private

◆ lastS3T

G4double* G4ChipsNeutronElasticXS::lastS3T
private

◆ lastS4T

G4double* G4ChipsNeutronElasticXS::lastS4T
private

◆ lastSIG

G4double G4ChipsNeutronElasticXS::lastSIG
private

Definition at line 95 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and G4ChipsNeutronElasticXS().

◆ lastSST

G4double* G4ChipsNeutronElasticXS::lastSST
private

◆ lastTH

G4double G4ChipsNeutronElasticXS::lastTH
private

Definition at line 101 of file G4ChipsNeutronElasticXS.hh.

Referenced by G4ChipsNeutronElasticXS(), and GetChipsCrossSection().

◆ lastTM

G4double G4ChipsNeutronElasticXS::lastTM
private

◆ lastTN

G4int G4ChipsNeutronElasticXS::lastTN
private

Definition at line 115 of file G4ChipsNeutronElasticXS.hh.

Referenced by G4ChipsNeutronElasticXS().

◆ lastTZ

G4int G4ChipsNeutronElasticXS::lastTZ
private

Definition at line 114 of file G4ChipsNeutronElasticXS.hh.

Referenced by G4ChipsNeutronElasticXS().

◆ lastZ

G4int G4ChipsNeutronElasticXS::lastZ
private

Definition at line 99 of file G4ChipsNeutronElasticXS.hh.

Referenced by G4ChipsNeutronElasticXS(), and GetChipsCrossSection().

◆ lPMax

G4double G4ChipsNeutronElasticXS::lPMax
private

◆ lPMin

G4double G4ChipsNeutronElasticXS::lPMin
private

◆ maxKinEnergy

G4double G4VCrossSectionDataSet::maxKinEnergy
privateinherited

◆ minKinEnergy

G4double G4VCrossSectionDataSet::minKinEnergy
privateinherited

◆ name

G4String G4VCrossSectionDataSet::name
protectedinherited

◆ nLast

const G4int G4ChipsNeutronElasticXS::nLast
private

◆ nPoints

const G4int G4ChipsNeutronElasticXS::nPoints
private

Definition at line 88 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and GetPTables().

◆ onlyCS

G4bool G4ChipsNeutronElasticXS::onlyCS
private

◆ PAR

std::vector<G4double*> G4ChipsNeutronElasticXS::PAR
private

Definition at line 129 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ PIN

std::vector<G4double> G4ChipsNeutronElasticXS::PIN
private

Definition at line 146 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection().

◆ registry

G4CrossSectionDataSetRegistry* G4VCrossSectionDataSet::registry
privateinherited

◆ S1T

std::vector<G4double*> G4ChipsNeutronElasticXS::S1T
private

Definition at line 132 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ S2T

std::vector<G4double*> G4ChipsNeutronElasticXS::S2T
private

Definition at line 134 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ S3T

std::vector<G4double*> G4ChipsNeutronElasticXS::S3T
private

Definition at line 136 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ S4T

std::vector<G4double*> G4ChipsNeutronElasticXS::S4T
private

Definition at line 138 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ SST

std::vector<G4double*> G4ChipsNeutronElasticXS::SST
private

Definition at line 131 of file G4ChipsNeutronElasticXS.hh.

Referenced by CalculateCrossSection(), and ~G4ChipsNeutronElasticXS().

◆ theB1

G4double G4ChipsNeutronElasticXS::theB1
private

◆ theB2

G4double G4ChipsNeutronElasticXS::theB2
private

◆ theB3

G4double G4ChipsNeutronElasticXS::theB3
private

◆ theB4

G4double G4ChipsNeutronElasticXS::theB4
private

◆ theS1

G4double G4ChipsNeutronElasticXS::theS1
private

◆ theS2

G4double G4ChipsNeutronElasticXS::theS2
private

◆ theS3

G4double G4ChipsNeutronElasticXS::theS3
private

◆ theS4

G4double G4ChipsNeutronElasticXS::theS4
private

◆ theSS

G4double G4ChipsNeutronElasticXS::theSS
private

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