#include <G4ParticleHPKallbachMannSyst.hh>
|
| G4ParticleHPKallbachMannSyst (G4double aCompoundFraction, G4double anIncidentEnergy, G4double anIncidentMass, G4double aProductEnergy, G4double aProductMass, G4double aResidualMass, G4int aResidualA, G4int aResidualZ, G4double aTargetMass, G4int aTargetA, G4int aTargetZ) |
|
| ~G4ParticleHPKallbachMannSyst () |
|
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) |
|
G4ParticleHPKallbachMannSyst::G4ParticleHPKallbachMannSyst |
( |
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 38 of file G4ParticleHPKallbachMannSyst.hh.
44 theCompoundFraction = aCompoundFraction;
45 theIncidentEnergy = anIncidentEnergy;
46 theIncidentMass = anIncidentMass;
47 theProductEnergy = aProductEnergy;
48 theProductMass = aProductMass;
49 theResidualMass = aResidualMass;
50 theResidualA = aResidualA;
51 theResidualZ = aResidualZ;
52 theTargetMass = aTargetMass;
53 theTargetA = aTargetA;
54 theTargetZ = aTargetZ;
G4ParticleHPKallbachMannSyst::~G4ParticleHPKallbachMannSyst |
( |
| ) |
|
|
inline |
Definition at line 96 of file G4ParticleHPKallbachMannSyst.cc.
103 G4double epsa = anEnergy*theTargetMass/(theTargetMass+theIncidentMass);
104 G4int Ac = theTargetA+1;
105 G4int Nc = Ac - theTargetZ;
106 G4int AA = theTargetA;
107 G4int ZA = theTargetZ;
112 G4double epsb = theProductEnergy*(theProductMass+theResidualMass)/theResidualMass;
113 G4int AB = theResidualA;
114 G4int ZB = theResidualZ;
122 G4int productA = theTargetA+1-theResidualA;
123 G4int productZ = theTargetZ-theResidualZ;
135 if(productA==3) mb=1;
139 throw G4HadronicException(__FILE__, __LINE__,
"Severe error in the sampling of Kallbach-Mann Systematics");
G4double G4ParticleHPJENDLHEData::G4double result
static G4Pow * GetInstance()
G4double powN(G4double x, G4int n) const
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
static constexpr double MeV
Definition at line 84 of file G4ParticleHPKallbachMannSyst.cc.
87 if ( theCompoundFraction == 1 )
90 theCompoundFraction *= (1-1.0e-15);
92 result = 0.5 * (1./
A(anEnergy)) *
G4Log((1-theCompoundFraction)/(1+theCompoundFraction));
G4double G4ParticleHPJENDLHEData::G4double result
G4double A(G4double anEnergy)
G4double G4Log(G4double x)
Definition at line 74 of file G4ParticleHPKallbachMannSyst.cc.
79 result = 0.5*(
G4Exp( theX)*(1+theCompoundFraction)
80 +
G4Exp(-theX)*(1-theCompoundFraction));
G4double G4ParticleHPJENDLHEData::G4double result
G4double A(G4double anEnergy)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
Definition at line 42 of file G4ParticleHPKallbachMannSyst.cc.
50 double upper =
Kallbach(1., anEnergy);
51 double lower =
Kallbach(-1., anEnergy);
52 if(upper>max) max=upper;
53 if(lower>max) max=lower;
57 G4int icounter_max=1024;
61 if ( icounter > icounter_max ) {
62 G4cout <<
"Loop-counter exceeded the threshold value at " << __LINE__ <<
"th line of " << __FILE__ <<
"." <<
G4endl;
G4double G4ParticleHPJENDLHEData::G4double result
G4double GetKallbachZero(G4double anEnergy)
G4GLOB_DLL std::ostream G4cout
const XML_Char int const XML_Char * value
T max(const T t1, const T t2)
brief Return the largest of the two arguments
G4double Kallbach(G4double cosTh, G4double anEnergy)
Definition at line 147 of file G4ParticleHPKallbachMannSyst.cc.
152 result = 15.68*(Ac-AA);
153 result += -28.07*((Nc-Zc)*(Nc-Zc)/Ac - (NA-ZA)*(NA-ZA)/AA);
159 result += 1.211*(Zc*Zc/Ac-ZA*ZA/AA);
161 G4int productA = theTargetA+1-theResidualA;
162 G4int productZ = theTargetZ-theResidualZ;
163 if(productZ==0&&productA==1) totalBinding=0;
164 if(productZ==1&&productA==1) totalBinding=0;
165 if(productZ==1&&productA==2) totalBinding=2.22;
166 if(productZ==1&&productA==3) totalBinding=8.48;
167 if(productZ==2&&productA==3) totalBinding=7.72;
168 if(productZ==2&&productA==4) totalBinding=28.3;
169 result += -totalBinding;
G4double G4ParticleHPJENDLHEData::G4double result
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
G4double A23(G4double A) const
G4double A13(G4double A) const
static constexpr double MeV
The documentation for this class was generated from the following files: