Geant4  10.01.p02
G4RPGInelastic Class Reference

#include <G4RPGInelastic.hh>

+ Inheritance diagram for G4RPGInelastic:
+ Collaboration diagram for G4RPGInelastic:

Public Member Functions

 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
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 

Protected Types

enum  {
  pi0, pip, pim, kp,
  km, k0, k0b, pro,
  neu, lam, sp, s0,
  sm, xi0, xim, om,
  ap, an
}
 

Protected Member Functions

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 ()
 

Protected Attributes

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
 

Private Attributes

G4double cache
 
G4ThreeVector what
 

Static Private Attributes

static const G4double energyScale [30]
 

Detailed Description

Definition at line 55 of file G4RPGInelastic.hh.

Member Enumeration Documentation

anonymous enum
protected
Enumerator
pi0 
pip 
pim 
kp 
km 
k0 
k0b 
pro 
neu 
lam 
sp 
s0 
sm 
xi0 
xim 
om 
ap 
an 

Definition at line 123 of file G4RPGInelastic.hh.

Constructor & Destructor Documentation

virtual G4RPGInelastic::~G4RPGInelastic ( )
inlinevirtual

Definition at line 61 of file G4RPGInelastic.hh.

Member Function Documentation

void G4RPGInelastic::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 
)
protected

Definition at line 202 of file G4RPGInelastic.cc.

References G4Nucleus::AnnihilationEvaporationEffects(), cache, G4Nucleus::Cinema(), fragmentation, G4cout, G4UniformRand, G4HadProjectile::Get4Momentum(), G4Nucleus::GetA_asInt(), G4HadProjectile::GetDefinition(), G4DynamicParticle::GetDefinition(), G4HadProjectile::GetKineticEnergy(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4ParticleDefinition::GetPDGEncoding(), G4ParticleDefinition::GetPDGMass(), G4ReactionProduct::GetTotalMomentum(), GeV, G4FastVector< Type, N >::Initialize(), G4KaonMinus::KaonMinus(), G4KaonPlus::KaonPlus(), G4KaonZeroLong::KaonZeroLong(), G4KaonZeroShort::KaonZeroShort(), MarkLeadingStrangeParticle(), G4INCL::Math::max(), G4InuclParticleNames::pp, G4RPGTwoBody::ReactionStage(), G4RPGTwoCluster::ReactionStage(), G4RPGFragmentation::ReactionStage(), G4HadReentrentException::Report(), G4FastVector< Type, N >::SetElement(), G4ReactionProduct::SetKineticEnergy(), G4ReactionProduct::SetMomentum(), twoBody, twoCluster, and what.

Referenced by G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGNeutronInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), and G4RPGAntiKZeroInelastic::ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4RPGInelastic::CheckQnums ( G4FastVector< G4ReactionProduct, 256 > &  vec,
G4int vecLen,
G4ReactionProduct currentParticle,
G4ReactionProduct targetParticle,
G4double  Q,
G4double  B,
G4double  S 
)
protected

Definition at line 545 of file G4RPGInelastic.cc.

References G4cout, G4endl, G4ParticleDefinition::GetAntiQuarkContent(), G4ParticleDefinition::GetBaryonNumber(), G4ReactionProduct::GetDefinition(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGCharge(), and G4ParticleDefinition::GetQuarkContent().

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4RPGInelastic::Factorial ( G4int  n)
protected

Definition at line 86 of file G4RPGInelastic.cc.

References G4INCL::Math::min().

+ Here is the call graph for this function:

void G4RPGInelastic::GetNormalizationConstant ( const G4double  availableEnergy,
G4double n,
G4double anpn 
)
protected
std::pair< G4int, G4double > G4RPGInelastic::interpolateEnergy ( G4double  ke) const
protected
G4bool G4RPGInelastic::MarkLeadingStrangeParticle ( const G4ReactionProduct currentParticle,
const G4ReactionProduct targetParticle,
G4ReactionProduct leadParticle 
)
protected

Definition at line 96 of file G4RPGInelastic.cc.

References G4ReactionProduct::GetDefinition(), G4ReactionProduct::GetMass(), G4ParticleDefinition::GetPDGMass(), G4KaonPlus::KaonPlus(), G4Neutron::Neutron(), and G4Proton::Proton().

Referenced by CalculateMomenta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4RPGInelastic::sampleFlat ( std::vector< G4double sigma) const
protected
void G4RPGInelastic::SetUpChange ( G4FastVector< G4ReactionProduct, 256 > &  vec,
G4int vecLen,
G4ReactionProduct currentParticle,
G4ReactionProduct targetParticle,
G4bool incidentHasChanged 
)
protected

Definition at line 403 of file G4RPGInelastic.cc.

References G4HadFinalState::AddSecondary(), cache, G4HadFinalState::Clear(), DBL_MIN, eV, G4UniformRand, G4ReactionProduct::GetDefinition(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), k0, k0b, G4KaonZeroLong::KaonZeroLong(), G4KaonZeroShort::KaonZeroShort(), MeV, p0, p1, particleDef, G4DynamicParticle::SetDefinition(), G4ReactionProduct::SetDefinitionAndUpdateE(), G4HadFinalState::SetEnergyChange(), G4DynamicParticle::SetMomentum(), G4HadFinalState::SetMomentumChange(), G4HadFinalState::SetStatusChange(), stopAndKill, G4HadronicInteraction::theParticleChange, and what.

Referenced by G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGNeutronInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), and G4RPGAntiKZeroInelastic::ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4double G4RPGInelastic::cache
private

Definition at line 132 of file G4RPGInelastic.hh.

Referenced by CalculateMomenta(), G4RPGInelastic(), and SetUpChange().

const G4double G4RPGInelastic::energyScale
staticprivate
Initial value:
= {
0.0, 0.01, 0.013, 0.018, 0.024, 0.032, 0.042, 0.056, 0.075, 0.1,
0.13, 0.18, 0.24, 0.32, 0.42, 0.56, 0.75, 1.0, 1.3, 1.8,
2.4, 3.2, 4.2, 5.6, 7.5, 10.0, 13.0, 18.0, 24.0, 32.0 }

Definition at line 135 of file G4RPGInelastic.hh.

Referenced by interpolateEnergy().

G4RPGFragmentation G4RPGInelastic::fragmentation
protected

Definition at line 103 of file G4RPGInelastic.hh.

Referenced by CalculateMomenta().

G4RPGPionSuppression G4RPGInelastic::pionSuppression
protected

Definition at line 107 of file G4RPGInelastic.hh.

G4RPGStrangeProduction G4RPGInelastic::strangeProduction
protected

Definition at line 109 of file G4RPGInelastic.hh.

G4RPGTwoBody G4RPGInelastic::twoBody
protected
G4RPGTwoCluster G4RPGInelastic::twoCluster
protected

Definition at line 105 of file G4RPGInelastic.hh.

Referenced by CalculateMomenta().

G4ThreeVector G4RPGInelastic::what
private

Definition at line 133 of file G4RPGInelastic.hh.

Referenced by CalculateMomenta(), and SetUpChange().


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