(uncompress: 'pigz -d -z 4_9_Berylium.z') # class G4ParticleHPNXInelasticFS : public G4ParticleHPInelasticBaseFS (see CompFS below) # File: G4TENDL1.0/Proton/Inelastic/F02/4_9_Berylium (which is taken from ENDF/B-VII.1 database) :Loop to N BLOCKS until end of file * infoType: not used 1 * dataType (MF for ENDF format): =3: channel cross sections =4: angular distributions (G4ParticleHPAngular) =5: energy distributions (G4ParticleHPEnergyDistribution) =6: double-differential XSs=energy-angle (G4ParticleHPEnAngCorrelation) =12: Mean final state photons distributions (G4ParticleHPPhotonDist) =13: Partial final state photons distributions (G4ParticleHPPhotonDist) =14: Angular final state photons distributions (G4ParticleHPPhotonDist) =13: Energies final state photons distributions (G4ParticleHPPhotonDist) 3 --- For CompFS add *sfType dummy 4 0 (or e.g. 50/51/52/53/54/55 0 in F01/4_9_Berylium ) * it = 50; * if(sfType>=600||(sfType<100&&sfType>=50)) it = sfType%50; * it is theXSection index. For each sfType there is a set MF=3 and MF=6. 50 is used for channel XS (getXsec) * sum of fs(!=50) = fs(50). --- *dummy dummy (only the first block) if(dataType==3) *total : number of cross sections points 0 1 51 Loop for each cross section point: * Energy(eV) & XS (first point is E=0, XS=0; A linear-linear interpolation will be done) Energy values are eV 1.000000e-05 0.000000e+00 5.000000e+05 1.537801e-01 7.500000e+05 2.362950e-01 (... 51 X 2 values ...) * infoType 1 * dataType; 6 if(dataType==6) { * targetMass * frameFlag : =1: Target rest frame; =2: CMS system;(incident particle always in lab) * nProducts : number of secondary particle types 8.93476 2 6 Loop for each product @ G4ParticleHP::Init * theMassCode : Z*1000+A * theMass : atomic number * theIsomerFlag (NOT USED) * theDistLaw =1: Continuum energy-angular distribution =2: Discrete 2-body scattering =3: Isotropic emission =4: Discrete 2-body recoil modification =5: charged particles only, to be used in a later stage =6: N-Body phase space =7: Laboratory angular energy paraetrisation * theGroundStateQValue (NOT USED) * theActualStateQValue 1.000000e+00 1.000000e+00 0 1 0.000000e+00 0.000000e+00 * total: number of xsection points @ G4ParticleHP::Init call theYield.Init( 46 * nRanges: Interpolation number of ranges (if there are more than one, each range handles a group of points and may use a different interpolation scheme) 1 Loop to nRanges * range[i]: number of points included in this range * it: interpolation scheme: enum G4InterpolationScheme { START, HISTO, LINLIN, LINLOG, LOGLIN, LOGLOG, RANDOM, CSTART_,CHISTO, CLINLIN, CLINLOG, CLOGLIN, CLOGLOG, CRANDOM, USTART, UHISTO, ULINLIN, ULINLOG, ULOGLIN, ULOGLOG, URANDOM }; 46 2 Loop to yields points (the numbers are yields, i.e. average number of secondary particles produced in an interaction. The resulting yield for each interaction will be sampled with a Poisson distribution, so that it may happen that the sum of baryon numbers of the secondary particles is bigger than the baryon number of the primary particle) Energy(eV)-Yield aDataFile >> x >> y; 2.057500e+06 0.000000e+00 2.500000e+06 1.057376e-01 3.000000e+06 1.270267e-01 (... 46 X 2 values ...) ----- if(theDistLaw == 1) { // Continuum energy-angular distribution G4ParticleHPContEnergyAngular * theTargetCode : Z*1000+A * theAngularRep: =0: all angular distributions are isotropic =l: the data are given as Legendre expansion coefficients =2: the data are given as tabulated probability distributions =3: low energy region is represented by as Legendre coefficients; higher region is represented by tabulated data * theInterpolation: InterpolationScheme * nEnergy: number of energies 4009 2 2 46 * nRanges: (see above for an explanation of ranges) 1 Loop to nRanges * range[i]: number of points included in this range * it: interpolation scheme: 46 2 Loop to number of incident particle energies * theEnergy(eV): of incident particle * nEnergies: number of energies of secondary particles * nDiscreteEnergies: number of energies of secondary particles which are discrete (= all particles produced with this energy, mainly used for photon lines) * nAngularParameters; 2.0575e+06 12 0 2 Loop to number of secondary particle energies * sEnergy(eV) * angular_parameter_1, angular_parameter_2, ... , angular_parameter_nAngularParameters 0.000000e+00 0.000000e+00 0.000000e+00 4.500000e+03 2.079324e-07 0.000000e+00 1.349000e+04 3.813902e-07 0.000000e+00 3.148000e+04 5.848985e-07 0.000000e+00 (... 12 X (1+nAngularParameters=2) values ...) (Repeat nEnergy=46 times) 2.5e+06 12 0 2 0.000000e+00 0.000000e+00 0.000000e+00 4.500000e+03 2.079324e-07 0.000000e+00 ... 3e+06 14 0 2 0.000000e+00 0.000000e+00 0.000000e+00 4.500000e+03 3.399564e-07 0.000000e+00 ... ----- if(theDistLaw == 2) { // Discrete 2-body scattering G4ParticleHPDiscreteTwoBody; # File: G4TENDL1.3.2/Proton/Inelastic/F02/4_9_Berylium (which is taken from ENDF/B-VII.1 database) ( 1 6 54 ) *nEnergy @ G4ParticleHPDiscreteTwoBody::Init 16 *nRanges @ theManager.Init 1*range[i] *it (index) 16 2 * for each nEnergy: theCoeff = new G4ParticleHPLegendreTable[nEnergy]; theCoeff->Init(); * energy * aRep * nCoeff; = GetNumberOfPoly of G4ParticleHPLegendreTable 7.395e+06 0 2 0.000000e+00 0.000000e+00 8e+06 0 14