#include <G4ChipsAntiBaryonElasticXS.hh>
|
| G4ChipsAntiBaryonElasticXS () |
|
| ~G4ChipsAntiBaryonElasticXS () |
|
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) |
|
G4double | GetExchangeT (G4int tZ, G4int tN, G4int pPDG) |
|
| 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 |
|
G4ChipsAntiBaryonElasticXS::G4ChipsAntiBaryonElasticXS |
( |
| ) |
|
Definition at line 59 of file G4ChipsAntiBaryonElasticXS.cc.
63 dlnP=(lPMax-lPMin)/nLast;
static const char * Default_Name()
G4VCrossSectionDataSet(const G4String &nam="")
G4ChipsAntiBaryonElasticXS::~G4ChipsAntiBaryonElasticXS |
( |
| ) |
|
Definition at line 99 of file G4ChipsAntiBaryonElasticXS.cc.
101 std::vector<G4double*>::iterator
pos;
102 for (pos=CST.begin(); pos<CST.end(); pos++)
105 for (pos=PAR.begin(); pos<PAR.end(); pos++)
108 for (pos=SST.begin(); pos<SST.end(); pos++)
111 for (pos=S1T.begin(); pos<S1T.end(); pos++)
114 for (pos=B1T.begin(); pos<B1T.end(); pos++)
117 for (pos=S2T.begin(); pos<S2T.end(); pos++)
120 for (pos=B2T.begin(); pos<B2T.end(); pos++)
123 for (pos=S3T.begin(); pos<S3T.end(); pos++)
126 for (pos=B3T.begin(); pos<B3T.end(); pos++)
129 for (pos=S4T.begin(); pos<S4T.end(); pos++)
132 for (pos=B4T.begin(); pos<B4T.end(); pos++)
static const G4double pos
void G4ChipsAntiBaryonElasticXS::CrossSectionDescription |
( |
std::ostream & |
outFile | ) |
const |
|
virtual |
Reimplemented from G4VCrossSectionDataSet.
Definition at line 138 of file G4ChipsAntiBaryonElasticXS.cc.
140 outFile <<
"G4ChipsAntiBaryonElasticXS provides the elastic cross\n"
141 <<
"section for anti-baryon nucleus scattering as a function of incident\n"
142 <<
"momentum. The cross section is calculated using M. Kossov's\n"
143 <<
"CHIPS parameterization of cross section data.\n";
static const char* G4ChipsAntiBaryonElasticXS::Default_Name |
( |
| ) |
|
|
inlinestatic |
!The slave functions must provide cross-sections in millibarns (mb) !! (not in IU)
Definition at line 206 of file G4ChipsAntiBaryonElasticXS.cc.
218 if(lastI)
for(
G4int i=0; i<lastI; i++)
220 if(colN[i]==tgN && colZ[i]==tgZ)
233 CalculateCrossSection(fCS,-1,i,pPDG,lastZ,lastN,pMom);
238 lastCS=CalculateCrossSection(fCS,-1,i,pPDG,lastZ,lastN,pMom);
239 if(lastCS<=0. && pEn>lastTH)
249 lastCS=CalculateCrossSection(fCS,0,lastI,pPDG,lastZ,lastN,pMom);
260 colP.push_back(pMom);
261 colTH.push_back(lastTH);
262 colCS.push_back(lastCS);
static constexpr double millibarn
Definition at line 644 of file G4ChipsAntiBaryonElasticXS.cc.
651 if(PDG<-3334 || PDG>-1111)
G4cout<<
"*Warning*G4QAntiBaryonElCS::GetExT:PDG="<<PDG<<
G4endl;
652 if(onlyCS)
G4cout<<
"WarningG4ChipsAntiBaryonElasticXS::GetExchanT:onlyCS=1"<<
G4endl;
672 q2=-
G4Log(1.-ran)/theB1;
686 q2=-
G4Log(1.-ran)/theB3;
692 G4double E1=lastTM*(theB1+lastTM*theSS);
700 if(a>6.5)E3*=tm2*tm2*tm2;
715 q2=-
G4Log(1.-ran)/theB1;
716 if(std::fabs(tss)>1.e-7) q2=(std::sqrt(theB1*(theB1+(tss+tss)*q2))-theB1)/tss;
722 q2=-
G4Log(1.-ran)/theB2;
731 q2=-
G4Log(1.-ran)/theB3;
739 q2=-
G4Log(1.-ran)/theB4;
740 if(a<6.5) q2=lastTM-q2;
744 if(!(q2>=-1.||q2<=1.))
G4cout<<
"*NAN*G4QaBElasticCrossSect::GetExchangeT:-t="<<q2<<
G4endl;
static G4Pow * GetInstance()
G4double powA(G4double A, G4double y) const
std::vector< ExP01TrackerHit * > a
G4GLOB_DLL std::ostream G4cout
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
static constexpr double gigaelectronvolt
Reimplemented from G4VCrossSectionDataSet.
Definition at line 194 of file G4ChipsAntiBaryonElasticXS.cc.
G4int GetPDGEncoding() const
G4ParticleDefinition * GetDefinition() const
G4double GetTotalMomentum() const
double A(double temperature)
virtual G4double GetChipsCrossSection(G4double momentum, G4int Z, G4int N, G4int pdg)
The documentation for this class was generated from the following files: