Geant4
10.03
|
#include <G4RPGInelastic.hh>
Public Member Functions | |
G4RPGInelastic (const G4String &modelName="RPGInelastic") | |
virtual | ~G4RPGInelastic () |
Public Member Functions inherited from G4HadronicInteraction | |
G4HadronicInteraction (const G4String &modelName="HadronicModel") | |
virtual | ~G4HadronicInteraction () |
virtual G4HadFinalState * | ApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)=0 |
virtual G4double | SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A) |
virtual G4bool | IsApplicable (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus) |
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) |
G4int | GetVerboseLevel () const |
void | SetVerboseLevel (G4int value) |
const G4String & | GetModelName () 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 |
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 &) |
virtual void | InitialiseModel () |
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 ¤tParticle, 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 ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged, G4bool &targetHasChanged, G4bool quasiElastic) |
void | SetUpChange (G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged) |
std::pair< G4int, G4double > | interpolateEnergy (G4double ke) const |
G4int | sampleFlat (std::vector< G4double > sigma) const |
void | CheckQnums (G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct ¤tParticle, 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 |
G4ParticleDefinition * | particleDef [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] |
Definition at line 55 of file G4RPGInelastic.hh.
|
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.
G4RPGInelastic::G4RPGInelastic | ( | const G4String & | modelName = "RPGInelastic" | ) |
Definition at line 39 of file G4RPGInelastic.cc.
References G4AntiKaonZero::AntiKaonZero(), G4AntiNeutron::AntiNeutron(), G4AntiProton::AntiProton(), cache, G4cout, G4endl, G4KaonMinus::KaonMinus(), G4KaonPlus::KaonPlus(), G4KaonZero::KaonZero(), G4Lambda::Lambda(), G4Neutron::Neutron(), G4OmegaMinus::OmegaMinus(), particleDef, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4Proton::Proton(), G4SigmaMinus::SigmaMinus(), G4SigmaPlus::SigmaPlus(), G4SigmaZero::SigmaZero(), G4XiMinus::XiMinus(), and G4XiZero::XiZero().
|
inlinevirtual |
Definition at line 61 of file G4RPGInelastic.hh.
|
protected |
Definition at line 203 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().
|
protected |
Definition at line 546 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().
Definition at line 87 of file G4RPGInelastic.cc.
References G4INCL::Math::min().
|
protected |
Definition at line 159 of file G4RPGInelastic.cc.
References G4INCL::KinematicsUtils::energy(), G4Exp(), G4Log(), GeV, G4INCL::Math::max(), G4INCL::Math::min(), n, and pi.
Referenced by G4RPGKMinusInelastic::Cascade(), G4RPGAntiLambdaInelastic::Cascade(), G4RPGSigmaPlusInelastic::Cascade(), G4RPGXiMinusInelastic::Cascade(), G4RPGAntiProtonInelastic::Cascade(), G4RPGAntiSigmaPlusInelastic::Cascade(), G4RPGAntiXiMinusInelastic::Cascade(), G4RPGAntiOmegaMinusInelastic::Cascade(), G4RPGOmegaMinusInelastic::Cascade(), G4RPGAntiSigmaMinusInelastic::Cascade(), G4RPGAntiNeutronInelastic::Cascade(), G4RPGKZeroInelastic::Cascade(), G4RPGSigmaMinusInelastic::Cascade(), G4RPGKPlusInelastic::Cascade(), G4RPGLambdaInelastic::Cascade(), G4RPGAntiXiZeroInelastic::Cascade(), G4RPGXiZeroInelastic::Cascade(), and G4RPGAntiKZeroInelastic::Cascade().
Definition at line 507 of file G4RPGInelastic.cc.
References energyScale.
Referenced by G4RPGNucleonInelastic::GetFSPartTypesForT0(), G4RPGNucleonInelastic::GetFSPartTypesForT1(), G4RPGPionInelastic::GetFSPartTypesForT12(), G4RPGPionInelastic::GetFSPartTypesForT32(), G4RPGNucleonInelastic::GetMultiplicityT0(), G4RPGNucleonInelastic::GetMultiplicityT1(), G4RPGPionInelastic::GetMultiplicityT12(), and G4RPGPionInelastic::GetMultiplicityT32().
|
protected |
Definition at line 97 of file G4RPGInelastic.cc.
References G4ReactionProduct::GetDefinition(), G4ReactionProduct::GetMass(), G4ParticleDefinition::GetPDGMass(), G4KaonPlus::KaonPlus(), G4Neutron::Neutron(), and G4Proton::Proton().
Referenced by CalculateMomenta().
|
protected |
Definition at line 69 of file G4RPGInelastic.cc.
References G4Exp(), G4Log(), G4INCL::Math::max(), and G4INCL::Math::min().
Referenced by G4RPGKMinusInelastic::Cascade(), G4RPGAntiLambdaInelastic::Cascade(), G4RPGSigmaPlusInelastic::Cascade(), G4RPGXiMinusInelastic::Cascade(), G4RPGAntiProtonInelastic::Cascade(), G4RPGAntiSigmaPlusInelastic::Cascade(), G4RPGAntiXiMinusInelastic::Cascade(), G4RPGAntiOmegaMinusInelastic::Cascade(), G4RPGOmegaMinusInelastic::Cascade(), G4RPGAntiSigmaMinusInelastic::Cascade(), G4RPGAntiNeutronInelastic::Cascade(), G4RPGKZeroInelastic::Cascade(), G4RPGSigmaMinusInelastic::Cascade(), G4RPGKPlusInelastic::Cascade(), G4RPGLambdaInelastic::Cascade(), G4RPGAntiXiZeroInelastic::Cascade(), G4RPGXiZeroInelastic::Cascade(), and G4RPGAntiKZeroInelastic::Cascade().
Definition at line 524 of file G4RPGInelastic.cc.
References G4UniformRand.
Referenced by G4RPGNucleonInelastic::GetFSPartTypesForT0(), G4RPGNucleonInelastic::GetFSPartTypesForT1(), G4RPGPionInelastic::GetFSPartTypesForT12(), G4RPGPionInelastic::GetFSPartTypesForT32(), G4RPGNucleonInelastic::GetMultiplicityT0(), G4RPGNucleonInelastic::GetMultiplicityT1(), G4RPGPionInelastic::GetMultiplicityT12(), and G4RPGPionInelastic::GetMultiplicityT32().
|
protected |
Definition at line 404 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, 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().
|
protected |
Definition at line 127 of file G4RPGInelastic.cc.
References G4UniformRand, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4ReactionProduct::SetDefinition(), G4FastVector< Type, N >::SetElement(), and G4ReactionProduct::SetSide().
Referenced by G4RPGKMinusInelastic::Cascade(), G4RPGAntiLambdaInelastic::Cascade(), G4RPGSigmaPlusInelastic::Cascade(), G4RPGXiMinusInelastic::Cascade(), G4RPGAntiProtonInelastic::Cascade(), G4RPGAntiSigmaPlusInelastic::Cascade(), G4RPGAntiXiMinusInelastic::Cascade(), G4RPGAntiOmegaMinusInelastic::Cascade(), G4RPGOmegaMinusInelastic::Cascade(), G4RPGAntiSigmaMinusInelastic::Cascade(), G4RPGAntiNeutronInelastic::Cascade(), G4RPGKZeroInelastic::Cascade(), G4RPGSigmaMinusInelastic::Cascade(), G4RPGKPlusInelastic::Cascade(), G4RPGLambdaInelastic::Cascade(), G4RPGAntiXiZeroInelastic::Cascade(), G4RPGXiZeroInelastic::Cascade(), and G4RPGAntiKZeroInelastic::Cascade().
|
private |
Definition at line 132 of file G4RPGInelastic.hh.
Referenced by CalculateMomenta(), G4RPGInelastic(), and SetUpChange().
|
staticprivate |
Definition at line 135 of file G4RPGInelastic.hh.
Referenced by interpolateEnergy().
|
protected |
Definition at line 103 of file G4RPGInelastic.hh.
Referenced by CalculateMomenta().
|
protected |
Definition at line 128 of file G4RPGInelastic.hh.
Referenced by G4RPGInelastic(), G4RPGPiMinusInelastic::InitialCollision(), G4RPGPiPlusInelastic::InitialCollision(), G4RPGProtonInelastic::InitialCollision(), G4RPGNeutronInelastic::InitialCollision(), and SetUpChange().
|
protected |
Definition at line 107 of file G4RPGInelastic.hh.
|
protected |
Definition at line 109 of file G4RPGInelastic.hh.
|
protected |
Definition at line 111 of file G4RPGInelastic.hh.
Referenced by CalculateMomenta(), G4RPGNeutronInelastic::SlowNeutron(), and G4RPGProtonInelastic::SlowProton().
|
protected |
Definition at line 105 of file G4RPGInelastic.hh.
Referenced by CalculateMomenta().
|
private |
Definition at line 133 of file G4RPGInelastic.hh.
Referenced by CalculateMomenta(), and SetUpChange().