#include <G4NeutronHPKallbachMannSyst.hh>
|
| G4NeutronHPKallbachMannSyst (G4double aCompoundFraction, G4double anIncidentEnergy, G4double anIncidentMass, G4double aProductEnergy, G4double aProductMass, G4double aResidualMass, G4int aResidualA, G4int aResidualZ, G4double aTargetMass, G4int aTargetA, G4int aTargetZ) |
|
| ~G4NeutronHPKallbachMannSyst () |
|
G4double | Sample (G4double anEnergy) |
|
G4double | Kallbach (G4double cosTh, G4double anEnergy) |
|
G4double | GetKallbachZero (G4double anEnergy) |
|
G4double | A (G4double anEnergy) |
|
G4double | SeparationEnergy (G4int Ac, G4int Nc, G4int AA, G4int ZA) |
|
G4NeutronHPKallbachMannSyst::G4NeutronHPKallbachMannSyst |
( |
G4double |
aCompoundFraction, |
|
|
G4double |
anIncidentEnergy, |
|
|
G4double |
anIncidentMass, |
|
|
G4double |
aProductEnergy, |
|
|
G4double |
aProductMass, |
|
|
G4double |
aResidualMass, |
|
|
G4int |
aResidualA, |
|
|
G4int |
aResidualZ, |
|
|
G4double |
aTargetMass, |
|
|
G4int |
aTargetA, |
|
|
G4int |
aTargetZ |
|
) |
| |
|
inline |
Definition at line 37 of file G4NeutronHPKallbachMannSyst.hh.
43 theCompoundFraction = aCompoundFraction;
44 theIncidentEnergy = anIncidentEnergy;
45 theIncidentMass = anIncidentMass;
46 theProductEnergy = aProductEnergy;
47 theProductMass = aProductMass;
48 theResidualMass = aResidualMass;
49 theResidualA = aResidualA;
50 theResidualZ = aResidualZ;
51 theTargetMass = aTargetMass;
52 theTargetA = aTargetA;
53 theTargetZ = aTargetZ;
G4NeutronHPKallbachMannSyst::~G4NeutronHPKallbachMannSyst |
( |
| ) |
|
|
inline |
Definition at line 83 of file G4NeutronHPKallbachMannSyst.cc.
References C1, C3, python.hepunit::MeV, G4INCL::Math::min(), and SeparationEnergy().
Referenced by GetKallbachZero(), and Kallbach().
90 G4double epsa = anEnergy*theTargetMass/(theTargetMass+theIncidentMass);
91 G4int Ac = theTargetA+1;
92 G4int Nc = Ac - theTargetZ;
93 G4int AA = theTargetA;
94 G4int ZA = theTargetZ;
99 G4double epsb = theProductEnergy*(theProductMass+theResidualMass)/theResidualMass;
100 G4int AB = theResidualA;
101 G4int ZB = theResidualZ;
109 G4int productA = theTargetA+1-theResidualA;
110 G4int productZ = theTargetZ-theResidualZ;
122 if(productA==3) mb=1;
126 throw G4HadronicException(__FILE__, __LINE__,
"Severe error in the sampling of Kallbach-Mann Systematics");
129 result = C1*X1 + C2*std::pow(X1, 3.) + C3*Ma*mb*std::pow(X3, 4.);
G4double SeparationEnergy(G4int Ac, G4int Nc, G4int AA, G4int ZA)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
Definition at line 71 of file G4NeutronHPKallbachMannSyst.cc.
References A().
Referenced by Sample().
74 if ( theCompoundFraction == 1 )
77 theCompoundFraction *= (1-1.0e-15);
79 result = 0.5 * (1./
A(anEnergy)) * std::log((1-theCompoundFraction)/(1+theCompoundFraction));
G4double A(G4double anEnergy)
Definition at line 61 of file G4NeutronHPKallbachMannSyst.cc.
References A().
Referenced by Sample().
66 result = 0.5*(std::exp( theX)*(1+theCompoundFraction)
67 +std::exp(-theX)*(1-theCompoundFraction));
G4double A(G4double anEnergy)
Definition at line 133 of file G4NeutronHPKallbachMannSyst.cc.
References python.hepunit::MeV.
Referenced by A().
138 result = 15.68*(Ac-AA);
139 result += -28.07*((Nc-Zc)*(Nc-Zc)/Ac - (NA-ZA)*(NA-ZA)/AA);
140 result += -18.56*(std::pow(
G4double(Ac), 2./3.) - std::pow(
G4double(AA), 2./3.));
141 result += 33.22*((Nc-Zc)*(Nc-Zc)/std::pow(
G4double(Ac), 4./3.) - (NA-ZA)*(NA-ZA)/std::pow(
G4double(AA), 4./3.));
142 result += -0.717*(Zc*Zc/std::pow(
G4double(Ac),1./3.)-ZA*ZA/std::pow(
G4double(AA),1./3.));
143 result += 1.211*(Zc*Zc/Ac-ZA*ZA/AA);
145 G4int productA = theTargetA+1-theResidualA;
146 G4int productZ = theTargetZ-theResidualZ;
147 if(productZ==0&&productA==1) totalBinding=0;
148 if(productZ==1&&productA==1) totalBinding=0;
149 if(productZ==1&&productA==2) totalBinding=2.22;
150 if(productZ==1&&productA==3) totalBinding=8.48;
151 if(productZ==2&&productA==3) totalBinding=7.72;
152 if(productZ==2&&productA==4) totalBinding=28.3;
153 result += -totalBinding;
The documentation for this class was generated from the following files: