Geant4  10.00.p01
G4RPGNucleonInelastic Class Reference

#include <G4RPGNucleonInelastic.hh>

+ Inheritance diagram for G4RPGNucleonInelastic:
+ Collaboration diagram for G4RPGNucleonInelastic:

Public Member Functions

 G4RPGNucleonInelastic (const G4String &modelName="RPGNucleonInelastic")
 
 ~G4RPGNucleonInelastic ()
 
- Public Member Functions inherited from G4RPGInelastic
 G4RPGInelastic (const G4String &modelName="RPGInelastic")
 
virtual ~G4RPGInelastic ()
 
- Public Member Functions inherited from G4HadronicInteraction
 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)=0
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
virtual G4bool IsApplicable (const G4HadProjectile &, G4Nucleus &)
 
G4double GetMinEnergy () const
 
G4double GetMinEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMinEnergy (G4double anEnergy)
 
void SetMinEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMinEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4double GetMaxEnergy () const
 
G4double GetMaxEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMaxEnergy (const G4double anEnergy)
 
void SetMaxEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMaxEnergy (G4double anEnergy, const G4Material *aMaterial)
 
const G4HadronicInteractionGetMyPointer () const
 
virtual G4int GetVerboseLevel () const
 
virtual void SetVerboseLevel (G4int value)
 
const G4StringGetModelName () const
 
void DeActivateFor (const G4Material *aMaterial)
 
void ActivateFor (const G4Material *aMaterial)
 
void DeActivateFor (const G4Element *anElement)
 
void ActivateFor (const G4Element *anElement)
 
G4bool IsBlocked (const G4Material *aMaterial) const
 
G4bool IsBlocked (const G4Element *anElement) const
 
void SetRecoilEnergyThreshold (G4double val)
 
G4double GetRecoilEnergyThreshold () const
 
G4bool operator== (const G4HadronicInteraction &right) const
 
G4bool operator!= (const G4HadronicInteraction &right) const
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void ModelDescription (std::ostream &outFile) const
 

Protected Member Functions

G4int GetMultiplicityT1 (G4double KE) const
 
G4int GetMultiplicityT0 (G4double KE) const
 
std::vector< G4intGetFSPartTypesForT1 (G4int mult, G4double KE, G4int tindex) const
 
std::vector< G4intGetFSPartTypesForT0 (G4int mult, G4double KE) const
 
std::vector< G4intGetFSPartTypesForPP (G4int mult, G4double KE) const
 
std::vector< G4intGetFSPartTypesForNN (G4int mult, G4double KE) const
 
std::vector< G4intGetFSPartTypesForPN (G4int mult, G4double KE) const
 
std::vector< G4intGetFSPartTypesForNP (G4int mult, G4double KE) const
 
- Protected Member Functions inherited from G4RPGInelastic
G4double Pmltpc (G4int np, G4int nm, G4int nz, G4int n, G4double b, G4double c)
 
G4int Factorial (G4int n)
 
G4bool MarkLeadingStrangeParticle (const G4ReactionProduct &currentParticle, const G4ReactionProduct &targetParticle, G4ReactionProduct &leadParticle)
 
void SetUpPions (const G4int np, const G4int nm, const G4int nz, G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen)
 
void GetNormalizationConstant (const G4double availableEnergy, G4double &n, G4double &anpn)
 
void CalculateMomenta (G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, const G4HadProjectile *originalIncident, const G4DynamicParticle *originalTarget, G4ReactionProduct &modifiedOriginal, G4Nucleus &targetNucleus, G4ReactionProduct &currentParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged, G4bool &targetHasChanged, G4bool quasiElastic)
 
void SetUpChange (G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct &currentParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged)
 
std::pair< G4int, G4doubleinterpolateEnergy (G4double ke) const
 
G4int sampleFlat (std::vector< G4double > sigma) const
 
void CheckQnums (G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct &currentParticle, G4ReactionProduct &targetParticle, G4double Q, G4double B, G4double S)
 
- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 

Static Protected Attributes

static const G4int pPindex [8][2]
 
static const G4int pNindex [8][2]
 
static const G4int T1_2bfs [2][1][2]
 
static const G4int T1_3bfs [2][6][3]
 
static const G4int T1_4bfs [2][18][4]
 
static const G4int T1_5bfs [2][32][5]
 
static const G4int T1_6bfs [2][7][6]
 
static const G4int T1_7bfs [2][8][7]
 
static const G4int T1_8bfs [2][10][8]
 
static const G4int T1_9bfs [2][11][9]
 
static const G4int T0_2bfs [1][2]
 
static const G4int T0_3bfs [9][3]
 
static const G4int T0_4bfs [22][4]
 
static const G4int T0_5bfs [38][5]
 
static const G4int T0_6bfs [7][6]
 
static const G4int T0_7bfs [9][7]
 
static const G4int T0_8bfs [10][8]
 
static const G4int T0_9bfs [12][9]
 
static G4ThreadLocal G4double pPtot [30]
 
static G4ThreadLocal G4double pNtot [30]
 
static G4ThreadLocal G4double t1_dSigma_dMult [8][30]
 
static G4ThreadLocal G4double t0_dSigma_dMult [8][30]
 
static const G4float pPCrossSections [93][30]
 
static const G4float pNCrossSections [108][30]
 

Additional Inherited Members

- Protected Types inherited from G4RPGInelastic
enum  {
  pi0, pip, pim, kp,
  km, k0, k0b, pro,
  neu, lam, sp, s0,
  sm, xi0, xim, om,
  ap, an
}
 
- Protected Attributes inherited from G4RPGInelastic
G4RPGFragmentation fragmentation
 
G4RPGTwoCluster twoCluster
 
G4RPGPionSuppression pionSuppression
 
G4RPGStrangeProduction strangeProduction
 
G4RPGTwoBody twoBody
 
G4ParticleDefinitionparticleDef [18]
 
- Protected Attributes inherited from G4HadronicInteraction
G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Detailed Description

Definition at line 42 of file G4RPGNucleonInelastic.hh.

Constructor & Destructor Documentation

G4RPGNucleonInelastic::G4RPGNucleonInelastic ( const G4String modelName = "RPGNucleonInelastic")

Definition at line 33 of file G4RPGNucleonInelastic.cc.

References GeV, pNCrossSections, pNindex, pNtot, pPCrossSections, pPindex, pPtot, G4HadronicInteraction::SetMaxEnergy(), G4HadronicInteraction::SetMinEnergy(), t0_dSigma_dMult, and t1_dSigma_dMult.

+ Here is the call graph for this function:

G4RPGNucleonInelastic::~G4RPGNucleonInelastic ( )
inline

Definition at line 48 of file G4RPGNucleonInelastic.hh.

Member Function Documentation

std::vector<G4int> G4RPGNucleonInelastic::GetFSPartTypesForNN ( G4int  mult,
G4double  KE 
) const
inlineprotected

Definition at line 65 of file G4RPGNucleonInelastic.hh.

References GetFSPartTypesForT1().

Referenced by G4RPGNeutronInelastic::InitialCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector<G4int> G4RPGNucleonInelastic::GetFSPartTypesForNP ( G4int  mult,
G4double  KE 
) const
inlineprotected

Definition at line 71 of file G4RPGNucleonInelastic.hh.

References GetFSPartTypesForT0().

Referenced by G4RPGNeutronInelastic::InitialCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector<G4int> G4RPGNucleonInelastic::GetFSPartTypesForPN ( G4int  mult,
G4double  KE 
) const
inlineprotected

Definition at line 68 of file G4RPGNucleonInelastic.hh.

References GetFSPartTypesForT0().

Referenced by G4RPGProtonInelastic::InitialCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector<G4int> G4RPGNucleonInelastic::GetFSPartTypesForPP ( G4int  mult,
G4double  KE 
) const
inlineprotected

Definition at line 62 of file G4RPGNucleonInelastic.hh.

References GetFSPartTypesForT1().

Referenced by G4RPGProtonInelastic::InitialCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< G4int > G4RPGNucleonInelastic::GetFSPartTypesForT0 ( G4int  mult,
G4double  KE 
) const
protected

Definition at line 138 of file G4RPGNucleonInelastic.cc.

References G4cout, G4endl, G4RPGInelastic::interpolateEnergy(), pNCrossSections, pNindex, G4RPGInelastic::sampleFlat(), T0_2bfs, T0_3bfs, T0_4bfs, T0_5bfs, T0_6bfs, T0_7bfs, T0_8bfs, and T0_9bfs.

Referenced by GetFSPartTypesForNP(), and GetFSPartTypesForPN().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

std::vector< G4int > G4RPGNucleonInelastic::GetFSPartTypesForT1 ( G4int  mult,
G4double  KE,
G4int  tindex 
) const
protected

Definition at line 186 of file G4RPGNucleonInelastic.cc.

References G4cout, G4endl, G4RPGInelastic::interpolateEnergy(), pPCrossSections, pPindex, G4RPGInelastic::sampleFlat(), T1_2bfs, T1_3bfs, T1_4bfs, T1_5bfs, T1_6bfs, T1_7bfs, T1_8bfs, and T1_9bfs.

Referenced by GetFSPartTypesForNN(), and GetFSPartTypesForPP().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4RPGNucleonInelastic::GetMultiplicityT0 ( G4double  KE) const
protected

Definition at line 99 of file G4RPGNucleonInelastic.cc.

References G4RPGInelastic::interpolateEnergy(), G4RPGInelastic::sampleFlat(), and t0_dSigma_dMult.

Referenced by G4RPGNeutronInelastic::InitialCollision(), and G4RPGProtonInelastic::InitialCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4RPGNucleonInelastic::GetMultiplicityT1 ( G4double  KE) const
protected

Definition at line 118 of file G4RPGNucleonInelastic.cc.

References G4RPGInelastic::interpolateEnergy(), G4RPGInelastic::sampleFlat(), and t1_dSigma_dMult.

Referenced by G4RPGNeutronInelastic::InitialCollision(), and G4RPGProtonInelastic::InitialCollision().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

const G4float G4RPGNucleonInelastic::pNCrossSections
staticprotected

Definition at line 102 of file G4RPGNucleonInelastic.hh.

Referenced by G4RPGNucleonInelastic(), and GetFSPartTypesForT0().

const G4int G4RPGNucleonInelastic::pNindex
staticprotected
Initial value:
=
{{0, 0}, {1,9}, {10,31}, {32,69}, {70,76}, {77,85}, {86,95}, {96,107}}

Definition at line 76 of file G4RPGNucleonInelastic.hh.

Referenced by G4RPGNucleonInelastic(), and GetFSPartTypesForT0().

G4ThreadLocal G4double G4RPGNucleonInelastic::pNtot
staticprotected

Definition at line 97 of file G4RPGNucleonInelastic.hh.

Referenced by G4RPGNucleonInelastic().

const G4float G4RPGNucleonInelastic::pPCrossSections
staticprotected

Definition at line 101 of file G4RPGNucleonInelastic.hh.

Referenced by G4RPGNucleonInelastic(), and GetFSPartTypesForT1().

const G4int G4RPGNucleonInelastic::pPindex
staticprotected
Initial value:
=
{{0, 0}, {1, 6}, {7,24}, {25,56}, {57,63}, {64,71}, {72,81}, {82,92}}

Definition at line 75 of file G4RPGNucleonInelastic.hh.

Referenced by G4RPGNucleonInelastic(), and GetFSPartTypesForT1().

G4ThreadLocal G4double G4RPGNucleonInelastic::pPtot
staticprotected

Definition at line 96 of file G4RPGNucleonInelastic.hh.

Referenced by G4RPGNucleonInelastic().

const G4int G4RPGNucleonInelastic::T0_2bfs
staticprotected
Initial value:
=
{{pro,neu}}

Definition at line 87 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT0().

const G4int G4RPGNucleonInelastic::T0_3bfs
staticprotected
Initial value:
=
{pro,s0,k0}, {pro,sm,kp}, {neu,lam,kp}, {neu,s0,kp},
{neu,sp,k0}}

Definition at line 88 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT0().

const G4int G4RPGNucleonInelastic::T0_4bfs
staticprotected
Initial value:
=
{{pro,neu,pip,pim},{pro,pro,pim,pi0},{pro,neu,pi0,pi0},
{pro,lam,k0,pi0}, {pro,s0,k0,pi0}, {pro,sp,k0,pim},
{pro,sm,kp,pi0}, {pro,sm,k0,pip}, {neu,lam,kp,pi0},
{neu,lam,k0,pip}, {neu,sp,kp,pim}, {neu,sp,k0,pi0},
{neu,s0,kp,pi0}, {neu,s0,k0,pip}, {neu,sm,kp,pip},
{pro,neu,kp,km}, {pro,neu,k0,k0b}, {pro,pro,k0,km},

Definition at line 89 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT0().

const G4int G4RPGNucleonInelastic::T0_5bfs
staticprotected
Initial value:
=
{{pro,neu,pip,pim,pi0},{pro,neu,pi0,pi0,pi0},{pro,pro,pip,pim,pim},
{pro,pro,pim,pi0,pi0},{neu,neu,pip,pip,pim},{neu,neu,pip,pi0,pi0},
{pro,lam,kp,pim,pi0}, {pro,lam,k0,pip,pim}, {pro,lam,k0,pi0,pi0},
{pro,s0,k0,pip,pim}, {pro,s0,k0,pi0,pi0}, {pro,s0,kp,pim,pi0},
{pro,sp,kp,pim,pim}, {pro,sp,k0,pim,pi0}, {pro,sm,k0,pip,pi0},
{pro,sm,kp,pip,pim}, {pro,sm,kp,pi0,pi0}, {neu,lam,kp,pip,pim},
{neu,lam,kp,pi0,pi0}, {neu,lam,k0,pip,pi0}, {neu,s0,kp,pip,pim},
{neu,s0,kp,pi0,pi0}, {neu,s0,k0,pip,pi0}, {neu,sp,k0,pip,pim},
{neu,sp,k0,pi0,pi0}, {neu,sp,kp,pim,pi0}, {neu,sm,kp,pip,pi0},
{neu,sm,k0,pip,pip}, {pro,neu,kp,km,pi0}, {pro,neu,k0,k0b,pi0},

Definition at line 90 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT0().

const G4int G4RPGNucleonInelastic::T0_6bfs
staticprotected
Initial value:
=
{{pro,neu,pip,pip,pim,pim},{pro,neu,pip,pim,pi0,pi0},
{neu,neu,pip,pi0,pi0,pi0}}

Definition at line 91 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT0().

const G4int G4RPGNucleonInelastic::T0_7bfs
staticprotected
Initial value:
=
{pro,neu,pi0,pi0,pi0,pi0,pi0},{pro,pro,pip,pip,pim,pim,pim},
{pro,pro,pip,pim,pim,pi0,pi0},{pro,pro,pim,pi0,pi0,pi0,pi0},
{neu,neu,pip,pip,pip,pim,pim},{neu,neu,pip,pip,pim,pi0,pi0},
{neu,neu,pip,pi0,pi0,pi0,pi0}}

Definition at line 92 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT0().

const G4int G4RPGNucleonInelastic::T0_8bfs
staticprotected
Initial value:

Definition at line 93 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT0().

const G4int G4RPGNucleonInelastic::T0_9bfs
staticprotected
Initial value:

Definition at line 94 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT0().

G4ThreadLocal G4double G4RPGNucleonInelastic::t0_dSigma_dMult
staticprotected

Definition at line 99 of file G4RPGNucleonInelastic.hh.

Referenced by G4RPGNucleonInelastic(), and GetMultiplicityT0().

const G4int G4RPGNucleonInelastic::T1_2bfs
staticprotected
Initial value:
=
{{{pro,pro}},
{{neu,neu}}}

Definition at line 78 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT1().

const G4int G4RPGNucleonInelastic::T1_3bfs
staticprotected
Initial value:
=
{{{pro,pro,pi0}, {pro,neu,pip}, {pro,lam,kp},
{pro,s0,kp}, {pro,sp,k0}, {neu,sp,kp}},
{{neu,neu,pi0}, {pro,neu,pim}, {neu,lam,k0},
{neu,s0,k0}, {neu,sm,kp}, {pro,sm,k0}}}

Definition at line 79 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT1().

const G4int G4RPGNucleonInelastic::T1_4bfs
staticprotected
Initial value:
=
{{{pro,pro,pip,pim},{pro,neu,pip,pi0},{pro,pro,pi0,pi0},
{neu,neu,pip,pip},{pro,lam,kp,pi0}, {pro,lam,k0,pip},
{neu,lam,kp,pip}, {neu,s0,kp,pip}, {pro,s0,kp,pi0},
{pro,s0,k0,pip}, {pro,sm,kp,pip}, {pro,sp,k0,pi0},
{neu,sp,k0,pip}, {pro,sp,kp,pim}, {neu,sp,kp,pi0},
{pro,pro,k0,k0b}, {pro,pro,kp,km}, {pro,neu,kp,k0b}},
{{neu,neu,pip,pim},{pro,neu,pim,pi0},{neu,neu,pi0,pi0},
{pro,pro,pim,pim},{neu,lam,k0,pi0}, {neu,lam,kp,pim},
{pro,lam,k0,pim}, {pro,s0,k0,pim}, {neu,s0,k0,pi0},
{neu,s0,kp,pim}, {neu,sp,k0,pim}, {neu,sm,kp,pi0},
{pro,sm,kp,pim}, {neu,sm,k0,pip}, {pro,sm,k0,pi0},
{neu,neu,kp,km}, {neu,neu,k0,k0b}, {pro,neu,k0,km}}}

Definition at line 80 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT1().

const G4int G4RPGNucleonInelastic::T1_5bfs
staticprotected
Initial value:
=
{pro,lam,kp,pi0,pi0}, {pro,lam,k0,pip,pi0}, {pro,s0,kp,pip,pim},
{pro,s0,kp,pi0,pi0}, {pro,s0,k0,pip,pi0}, {pro,sp,k0,pip,pim},
{pro,sp,k0,pi0,pi0}, {pro,sp,kp,pim,pi0}, {pro,sm,kp,pip,pi0},
{pro,sm,k0,pip,pip}, {neu,lam,kp,pip,pi0}, {neu,lam,k0,pip,pip},
{neu,s0,kp,pip,pi0}, {neu,s0,k0,pip,pip}, {neu,sp,k0,pip,pi0},
{neu,sp,kp,pip,pim}, {neu,sp,kp,pi0,pi0}, {neu,sm,kp,pip,pip},
{{neu,neu,pip,pim,pi0},{neu,neu,pi0,pi0,pi0},{pro,neu,pip,pim,pim},
{neu,lam,k0,pi0,pi0}, {neu,lam,kp,pim,pi0}, {neu,s0,k0,pip,pim},
{neu,s0,k0,pi0,pi0}, {neu,s0,kp,pim,pi0}, {neu,sm,kp,pip,pim},
{neu,sm,kp,pi0,pi0}, {neu,sm,k0,pip,pi0}, {neu,sp,k0,pim,pi0},
{neu,sp,kp,pim,pim}, {pro,lam,k0,pim,pi0}, {pro,lam,kp,pim,pim},
{pro,s0,k0,pim,pi0}, {pro,s0,kp,pim,pim}, {pro,sm,kp,pim,pi0},
{pro,sm,k0,pip,pim}, {pro,sm,k0,pi0,pi0}, {pro,sp,k0,pim,pim},

Definition at line 81 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT1().

const G4int G4RPGNucleonInelastic::T1_6bfs
staticprotected
Initial value:
=
{{{pro,pro,pip,pip,pim,pim},{pro,pro,pip,pim,pi0,pi0},
{neu,neu,pip,pip,pi0,pi0}},
{{neu,neu,pip,pip,pim,pim},{neu,neu,pip,pim,pi0,pi0},
{pro,neu,pim,pi0,pi0,pi0},{pro,pro,pip,pim,pim,pim},
{pro,pro,pim,pim,pi0,pi0}}}

Definition at line 82 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT1().

const G4int G4RPGNucleonInelastic::T1_7bfs
staticprotected
Initial value:

Definition at line 83 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT1().

const G4int G4RPGNucleonInelastic::T1_8bfs
staticprotected
Initial value:

Definition at line 84 of file G4RPGNucleonInelastic.hh.

Referenced by GetFSPartTypesForT1().

const G4int G4RPGNucleonInelastic::T1_9bfs
staticprotected
G4ThreadLocal G4double G4RPGNucleonInelastic::t1_dSigma_dMult
staticprotected

Definition at line 98 of file G4RPGNucleonInelastic.hh.

Referenced by G4RPGNucleonInelastic(), and GetMultiplicityT1().


The documentation for this class was generated from the following files: