#include <G4ChipsHyperonInelasticXS.hh>
|
| G4ChipsHyperonInelasticXS () |
|
| ~G4ChipsHyperonInelasticXS () |
|
virtual void | CrossSectionDescription (std::ostream &) const |
|
virtual G4bool | IsIsoApplicable (const G4DynamicParticle *Pt, G4int Z, G4int A, const G4Element *elm, const G4Material *mat) |
|
virtual G4double | GetIsoCrossSection (const G4DynamicParticle *, G4int tgZ, G4int A, const G4Isotope *iso=0, const G4Element *elm=0, const G4Material *mat=0) |
|
virtual G4double | GetChipsCrossSection (G4double momentum, G4int Z, G4int N, G4int pdg) |
|
| G4VCrossSectionDataSet (const G4String &nam="") |
|
virtual | ~G4VCrossSectionDataSet () |
|
virtual G4bool | IsElementApplicable (const G4DynamicParticle *, G4int Z, const G4Material *mat=0) |
|
G4double | GetCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0) |
|
G4double | ComputeCrossSection (const G4DynamicParticle *, const G4Element *, const G4Material *mat=0) |
|
virtual G4double | GetElementCrossSection (const G4DynamicParticle *, G4int Z, const G4Material *mat=0) |
|
virtual G4Isotope * | SelectIsotope (const G4Element *, G4double kinEnergy) |
|
virtual void | BuildPhysicsTable (const G4ParticleDefinition &) |
|
virtual void | DumpPhysicsTable (const G4ParticleDefinition &) |
|
virtual G4int | GetVerboseLevel () const |
|
virtual void | SetVerboseLevel (G4int value) |
|
G4double | GetMinKinEnergy () const |
|
void | SetMinKinEnergy (G4double value) |
|
G4double | GetMaxKinEnergy () const |
|
void | SetMaxKinEnergy (G4double value) |
|
const G4String & | GetName () const |
|
|
G4double | CalculateCrossSection (G4int F, G4int I, G4int PDG, G4int Z, G4int N, G4double Momentum) |
|
G4double | CrossSectionLin (G4int targZ, G4int targN, G4double P) |
|
G4double | CrossSectionLog (G4int targZ, G4int targN, G4double lP) |
|
G4double | CrossSectionFormula (G4int targZ, G4int targN, G4double P, G4double lP) |
|
G4double | EquLinearFit (G4double X, G4int N, G4double X0, G4double DX, G4double *Y) |
|
◆ G4ChipsHyperonInelasticXS()
G4ChipsHyperonInelasticXS::G4ChipsHyperonInelasticXS |
( |
| ) |
|
Definition at line 54 of file G4ChipsHyperonInelasticXS.cc.
65 LEN =
new std::vector<G4double*>;
66 HEN =
new std::vector<G4double*>;
G4VCrossSectionDataSet(const G4String &nam="")
std::vector< G4double * > * LEN
static const char * Default_Name()
std::vector< G4double * > * HEN
◆ ~G4ChipsHyperonInelasticXS()
G4ChipsHyperonInelasticXS::~G4ChipsHyperonInelasticXS |
( |
| ) |
|
◆ CalculateCrossSection()
Definition at line 214 of file G4ChipsHyperonInelasticXS.cc.
218 static const G4double THmiG=THmin*.001;
222 static const G4double Pmin=THmin+(nL-1)*dP;
227 static const G4double dlP=(malP-milP)/(nH-1);
237 if(sync<=I)
G4cerr<<
"*!*G4QPiMinusNuclCS::CalcCrosSect:Sync="<<sync<<
"<="<<I<<
G4endl;
263 G4cerr<<
"***G4QHyperNuclCS::CalcCrossSect: Sinc="<<sync<<
"#"<<I<<
", Z=" <<targZ
264 <<
", N="<<targN<<
", F="<<F<<
G4endl;
272 if (Momentum<
lastTH)
return 0.;
273 else if (Momentum<Pmin)
277 else if (Momentum<Pmax)
287 if(sigma<0.)
return 0.;
G4double EquLinearFit(G4double X, G4int N, G4double X0, G4double DX, G4double *Y)
std::vector< G4double * > * LEN
G4double G4Log(G4double x)
G4double CrossSectionLog(G4int targZ, G4int targN, G4double lP)
G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP)
G4double CrossSectionLin(G4int targZ, G4int targN, G4double P)
static const G4double THmin
G4GLOB_DLL std::ostream G4cerr
std::vector< G4double * > * HEN
◆ CrossSectionDescription()
void G4ChipsHyperonInelasticXS::CrossSectionDescription |
( |
std::ostream & |
outFile | ) |
const |
|
virtual |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 80 of file G4ChipsHyperonInelasticXS.cc.
82 outFile <<
"G4ChipsHyperonInelasticXS provides the inelastic cross\n" 83 <<
"section for hyperon nucleus scattering as a function of incident\n" 84 <<
"momentum. The cross section is calculated using M. Kossov's\n" 85 <<
"CHIPS parameterization of cross section data.\n";
◆ CrossSectionFormula()
Definition at line 305 of file G4ChipsHyperonInelasticXS.cc.
316 G4double El=(.0557*ld2+6.72+99./p2)/(1.+2./sp+2./p4);
317 G4double To=(.3*ld2+38.2+900./
sp)/(1.+27./sp+3./p4);
320 else if(tZ<97 && tN<152)
334 G4double c=(170.+3600./a2s)/(1.+65./a2s);
342 e=380.+18.*a2/(1.+a2/60.)/(1.+2.E-19*a8);
344 h=1.E-8*a2/(1.+a2/17.)/(1.+3.E-20*a8);
345 t=(.2+.00056*
a2)/(1.+a2*.0006);
347 sigma=(c+d*
d)/(1.+t/ssp+r/p4)+(gg+e*
G4Exp(-6.*P))/(1.+h/p4/p4);
349 G4cout<<
"G4QHyperonNucCS::CSForm: A="<<a<<
",P="<<P<<
",CS="<<sigma<<
",c="<<c<<
",g="<<gg
350 <<
",d="<<d<<
",r="<<r<<
",e="<<e<<
",h="<<h<<
G4endl;
355 G4cerr<<
"-Warning-G4QHyperonNuclearCroSect::CSForm:*Bad A* Z="<<tZ<<
", N="<<tN<<
G4endl;
358 if(sigma<0.)
return 0.;
G4GLOB_DLL std::ostream G4cout
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4GLOB_DLL std::ostream G4cerr
◆ CrossSectionLin()
Definition at line 292 of file G4ChipsHyperonInelasticXS.cc.
G4double G4Log(G4double x)
G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP)
◆ CrossSectionLog()
Definition at line 299 of file G4ChipsHyperonInelasticXS.cc.
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double CrossSectionFormula(G4int targZ, G4int targN, G4double P, G4double lP)
◆ Default_Name()
static const char* G4ChipsHyperonInelasticXS::Default_Name |
( |
| ) |
|
|
inlinestatic |
◆ EquLinearFit()
◆ GetChipsCrossSection()
!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
Definition at line 140 of file G4ChipsHyperonInelasticXS.cc.
170 if(lastCS<=0. && pMom>
lastTH)
189 colP.push_back(pMom);
std::vector< G4double > colP
std::vector< G4int > colZ
std::vector< G4int > colN
std::vector< G4double > colTH
static const double millibarn
std::vector< G4double > colCS
G4double CalculateCrossSection(G4int F, G4int I, G4int PDG, G4int Z, G4int N, G4double Momentum)
◆ GetIsoCrossSection()
Reimplemented from G4VCrossSectionDataSet.
Definition at line 128 of file G4ChipsHyperonInelasticXS.cc.
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
G4double GetTotalMomentum() const
double A(double temperature)
G4int GetPDGEncoding() const
G4ParticleDefinition * GetDefinition() const
◆ IsIsoApplicable()
◆ colCS
std::vector<G4double> G4ChipsHyperonInelasticXS::colCS |
|
private |
◆ colN
std::vector<G4int> G4ChipsHyperonInelasticXS::colN |
|
private |
◆ colP
std::vector<G4double> G4ChipsHyperonInelasticXS::colP |
|
private |
◆ colTH
std::vector<G4double> G4ChipsHyperonInelasticXS::colTH |
|
private |
◆ colZ
std::vector<G4int> G4ChipsHyperonInelasticXS::colZ |
|
private |
◆ HEN
std::vector<G4double*>* G4ChipsHyperonInelasticXS::HEN |
|
private |
G4int G4ChipsHyperonInelasticXS::j |
|
private |
◆ lastCS
G4double G4ChipsHyperonInelasticXS::lastCS |
|
private |
◆ lastHEN
G4double* G4ChipsHyperonInelasticXS::lastHEN |
|
private |
◆ lastI
G4int G4ChipsHyperonInelasticXS::lastI |
|
private |
◆ lastLEN
G4double* G4ChipsHyperonInelasticXS::lastLEN |
|
private |
◆ lastN
G4int G4ChipsHyperonInelasticXS::lastN |
|
private |
◆ lastP
G4double G4ChipsHyperonInelasticXS::lastP |
|
private |
◆ lastTH
G4double G4ChipsHyperonInelasticXS::lastTH |
|
private |
◆ lastZ
G4int G4ChipsHyperonInelasticXS::lastZ |
|
private |
◆ LEN
std::vector<G4double*>* G4ChipsHyperonInelasticXS::LEN |
|
private |
The documentation for this class was generated from the following files: