Geant4
10.03
|
#include <G4RPGNeutronInelastic.hh>
Public Member Functions | |
G4RPGNeutronInelastic () | |
~G4RPGNeutronInelastic () | |
G4HadFinalState * | ApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus) |
Public Member Functions inherited from G4RPGNucleonInelastic | |
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 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 () |
Private Member Functions | |
void | InitialCollision (G4FastVector< G4ReactionProduct, 256 > &vec, G4int &vecLen, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged, G4bool &targetHasChanged) |
void | SlowNeutron (const G4HadProjectile *originalIncident, G4ReactionProduct &modifiedOriginal, G4ReactionProduct &targetParticle, G4Nucleus &targetNucleus) |
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 Member Functions inherited from G4RPGNucleonInelastic | |
G4int | GetMultiplicityT1 (G4double KE) const |
G4int | GetMultiplicityT0 (G4double KE) const |
std::vector< G4int > | GetFSPartTypesForT1 (G4int mult, G4double KE, G4int tindex) const |
std::vector< G4int > | GetFSPartTypesForT0 (G4int mult, G4double KE) const |
std::vector< G4int > | GetFSPartTypesForPP (G4int mult, G4double KE) const |
std::vector< G4int > | GetFSPartTypesForNN (G4int mult, G4double KE) const |
std::vector< G4int > | GetFSPartTypesForPN (G4int mult, G4double KE) const |
std::vector< G4int > | GetFSPartTypesForNP (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 ¤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 inherited from G4RPGInelastic | |
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 |
Static Protected Attributes inherited from G4RPGNucleonInelastic | |
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] |
Definition at line 43 of file G4RPGNeutronInelastic.hh.
|
inline |
Definition at line 47 of file G4RPGNeutronInelastic.hh.
|
inline |
Definition at line 50 of file G4RPGNeutronInelastic.hh.
|
virtual |
Implements G4HadronicInteraction.
Definition at line 35 of file G4RPGNeutronInelastic.cc.
References G4RPGInelastic::CalculateMomenta(), G4Nucleus::Cinema(), G4HadFinalState::Clear(), G4Nucleus::EvaporationEffects(), G4UniformRand, G4HadProjectile::GetDefinition(), G4HadProjectile::GetKineticEnergy(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMomentum(), G4ParticleDefinition::GetPDGMass(), GeV, InitialCollision(), G4FastVector< Type, N >::Initialize(), MeV, G4InuclParticleNames::pp, G4Nucleus::ReturnTargetParticle(), G4ReactionProduct::SetKineticEnergy(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetSide(), G4RPGInelastic::SetUpChange(), SlowNeutron(), and G4HadronicInteraction::theParticleChange.
|
private |
Definition at line 243 of file G4RPGNeutronInelastic.cc.
References G4RPGInelastic::CheckQnums(), G4UniformRand, G4ReactionProduct::GetDefinition(), G4RPGNucleonInelastic::GetFSPartTypesForNN(), G4RPGNucleonInelastic::GetFSPartTypesForNP(), G4ReactionProduct::GetKineticEnergy(), G4RPGNucleonInelastic::GetMultiplicityT0(), G4RPGNucleonInelastic::GetMultiplicityT1(), GeV, G4RPGInelastic::neu, G4RPGInelastic::particleDef, G4RPGInelastic::pro, G4ReactionProduct::SetDefinition(), G4FastVector< Type, N >::SetElement(), G4ReactionProduct::SetSide(), and G4RPGInelastic::xi0.
Referenced by ApplyYourself().
|
private |
Definition at line 120 of file G4RPGNeutronInelastic.cc.
References A(), G4HadFinalState::AddSecondary(), G4Nucleus::AtomicMass(), G4UniformRand, G4HadProjectile::Get4Momentum(), G4Nucleus::GetA_asInt(), G4ReactionProduct::GetDefinition(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4Nucleus::GetZ_asInt(), GeV, G4FastVector< Type, N >::Initialize(), G4INCL::Math::max(), MeV, G4INCL::Math::min(), G4RPGReaction::NuclearReaction(), pi, G4InuclParticleNames::pp, G4DynamicParticle::SetDefinition(), G4HadFinalState::SetEnergyChange(), G4ReactionProduct::SetKineticEnergy(), G4ReactionProduct::SetMomentum(), G4DynamicParticle::SetMomentum(), G4HadFinalState::SetStatusChange(), G4ReactionProduct::SetTotalEnergy(), stopAndKill, G4HadronicInteraction::theParticleChange, G4RPGInelastic::twoBody, and twopi.
Referenced by ApplyYourself().