Geant4
10.00.p01
|
#include <G4ReactionDynamics.hh>
Public Member Functions | |
G4ReactionDynamics () | |
virtual | ~G4ReactionDynamics () |
virtual G4double | FindInelasticity () |
virtual G4double | FindTimeDelay () |
G4bool | GenerateXandPt (G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen, G4ReactionProduct &modifiedOriginal, const G4HadProjectile *originalIncident, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, const G4DynamicParticle *originalTarget, const G4Nucleus &targetNucleus, G4bool &incidentHasChanged, G4bool &targetHasChanged, G4bool leadFlag, G4ReactionProduct &leadingStrangeParticle) |
void | SuppressChargedPions (G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen, const G4ReactionProduct &modifiedOriginal, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, const G4Nucleus &targetNucleus, G4bool &incidentHasChanged, G4bool &targetHasChanged) |
G4bool | TwoCluster (G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen, G4ReactionProduct &modifiedOriginal, const G4HadProjectile *originalIncident, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, const G4DynamicParticle *originalTarget, const G4Nucleus &targetNucleus, G4bool &incidentHasChanged, G4bool &targetHasChanged, G4bool leadFlag, G4ReactionProduct &leadingStrangeParticle) |
void | TwoBody (G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen, G4ReactionProduct &modifiedOriginal, const G4DynamicParticle *originalTarget, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, const G4Nucleus &targetNucleus, G4bool &targetHasChanged) |
G4int | Factorial (G4int n) |
G4double | GenerateNBodyEvent (const G4double totalEnergy, const G4bool constantCrossSection, G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen) |
void | ProduceStrangeParticlePairs (G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen, const G4ReactionProduct &modifiedOriginal, const G4DynamicParticle *originalTarget, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4bool &incidentHasChanged, G4bool &targetHasChanged) |
void | NuclearReaction (G4FastVector< G4ReactionProduct, 4 > &vec, G4int &vecLen, const G4HadProjectile *originalIncident, const G4Nucleus &aNucleus, const G4double theAtomicMass, const G4double *massVec) |
Private Member Functions | |
void | Rotate (const G4double numberofFinalStateNucleons, const G4ThreeVector &temp, const G4ReactionProduct &modifiedOriginal, const G4HadProjectile *originalIncident, const G4Nucleus &targetNucleus, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen) |
void | Defs1 (const G4ReactionProduct &modifiedOriginal, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen) |
void | AddBlackTrackParticles (const G4double epnb, const G4int npnb, const G4double edta, const G4int ndta, const G4double sprob, const G4double kineticMinimum, const G4double kineticFactor, const G4ReactionProduct &modifiedOriginal, G4int PinNucleus, G4int NinNucleus, const G4Nucleus &aNucleus, G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen) |
std::pair< G4int, G4int > | GetFinalStateNucleons (const G4DynamicParticle *originalTarget, const G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, const G4int &vecLen) |
void | MomentumCheck (const G4ReactionProduct &modifiedOriginal, G4ReactionProduct ¤tParticle, G4ReactionProduct &targetParticle, G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen) |
G4double | normal () |
G4int | Poisson (G4double x) |
Definition at line 48 of file G4ReactionDynamics.hh.
|
inline |
Definition at line 52 of file G4ReactionDynamics.hh.
|
inlinevirtual |
Definition at line 54 of file G4ReactionDynamics.hh.
|
private |
Definition at line 3071 of file G4ReactionDynamics.cc.
References G4Alpha::Alpha(), G4Deuteron::Deuteron(), G4UniformRand, G4Nucleus::GetA_asInt(), G4ReactionProduct::GetKineticEnergy(), G4Nucleus::GetZ_asInt(), GeV, G4INCL::Math::max(), MeV, G4Neutron::Neutron(), normal(), G4InuclParticleNames::pp, G4Proton::Proton(), G4ReactionProduct::SetDefinition(), G4FastVector< Type, N >::SetElement(), and G4Triton::Triton().
Referenced by GenerateXandPt(), TwoBody(), and TwoCluster().
|
private |
Definition at line 2752 of file G4ReactionDynamics.cc.
References G4ReactionProduct::GetMomentum(), MeV, and G4ReactionProduct::SetMomentum().
Referenced by Rotate(), and TwoBody().
Definition at line 2743 of file G4ReactionDynamics.cc.
References G4INCL::Math::min().
Referenced by Poisson().
|
inlinevirtual |
Definition at line 56 of file G4ReactionDynamics.hh.
|
inlinevirtual |
Definition at line 59 of file G4ReactionDynamics.hh.
G4double G4ReactionDynamics::GenerateNBodyEvent | ( | const G4double | totalEnergy, |
const G4bool | constantCrossSection, | ||
G4FastVector< G4ReactionProduct, GHADLISTSIZE > & | vec, | ||
G4int & | vecLen | ||
) |
Definition at line 2491 of file G4ReactionDynamics.cc.
References a, G4INCL::KinematicsUtils::energy(), G4cerr, G4endl, G4UniformRand, GeV, G4INCL::Math::max(), G4INCL::Math::min(), G4InuclParticleNames::s0, and G4InuclParticleNames::sm.
Referenced by GenerateXandPt(), NuclearReaction(), and TwoCluster().
G4bool G4ReactionDynamics::GenerateXandPt | ( | G4FastVector< G4ReactionProduct, GHADLISTSIZE > & | vec, |
G4int & | vecLen, | ||
G4ReactionProduct & | modifiedOriginal, | ||
const G4HadProjectile * | originalIncident, | ||
G4ReactionProduct & | currentParticle, | ||
G4ReactionProduct & | targetParticle, | ||
const G4DynamicParticle * | originalTarget, | ||
const G4Nucleus & | targetNucleus, | ||
G4bool & | incidentHasChanged, | ||
G4bool & | targetHasChanged, | ||
G4bool | leadFlag, | ||
G4ReactionProduct & | leadingStrangeParticle | ||
) |
Definition at line 105 of file G4ReactionDynamics.cc.
References AddBlackTrackParticles(), FatalException, G4cerr, G4endl, G4Exception(), G4UniformRand, GenerateNBodyEvent(), G4Nucleus::GetA_asInt(), G4Nucleus::GetAnnihilationDTABlackTrackEnergy(), G4Nucleus::GetAnnihilationPNBlackTrackEnergy(), G4ParticleDefinition::GetBaryonNumber(), G4HadProjectile::GetDefinition(), G4ReactionProduct::GetDefinition(), G4Nucleus::GetDTABlackTrackEnergy(), GetFinalStateNucleons(), G4HadProjectile::GetKineticEnergy(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4Nucleus::GetN_asInt(), G4ParticleDefinition::GetParticleSubType(), G4ParticleDefinition::GetPDGMass(), G4Nucleus::GetPNBlackTrackEnergy(), G4ReactionProduct::GetSide(), G4ReactionProduct::GetTotalEnergy(), G4ReactionProduct::GetTotalMomentum(), G4Nucleus::GetZ_asInt(), GeV, G4FastVector< Type, N >::Initialize(), G4Lambda::Lambda(), G4ReactionProduct::Lorentz(), G4INCL::Math::max(), MeV, G4INCL::Math::min(), G4Neutron::Neutron(), normal(), G4INCL::Math::pi, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), Poisson(), G4InuclParticleNames::pp, G4Proton::Proton(), Rotate(), G4ReactionProduct::SetDefinition(), G4ReactionProduct::SetDefinitionAndUpdateE(), G4FastVector< Type, N >::SetElement(), G4ReactionProduct::SetKineticEnergy(), G4ReactionProduct::SetMass(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetNewlyAdded(), G4ReactionProduct::SetSide(), G4ReactionProduct::SetTotalEnergy(), G4ReactionProduct::SetZero(), and sqr().
|
private |
Definition at line 3314 of file G4ReactionDynamics.cc.
References G4DynamicParticle::GetDefinition(), and G4ParticleDefinition::GetParticleName().
Referenced by GenerateXandPt(), TwoBody(), and TwoCluster().
|
private |
Definition at line 3346 of file G4ReactionDynamics.cc.
References G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4ReactionProduct::GetTotalMomentum(), MeV, G4ReactionProduct::SetMomentum(), and G4ReactionProduct::SetTotalEnergy().
|
private |
Definition at line 2685 of file G4ReactionDynamics.cc.
References G4UniformRand.
Referenced by AddBlackTrackParticles(), GenerateXandPt(), Poisson(), Rotate(), and TwoBody().
void G4ReactionDynamics::NuclearReaction | ( | G4FastVector< G4ReactionProduct, 4 > & | vec, |
G4int & | vecLen, | ||
const G4HadProjectile * | originalIncident, | ||
const G4Nucleus & | aNucleus, | ||
const G4double | theAtomicMass, | ||
const G4double * | massVec | ||
) |
Definition at line 3777 of file G4ReactionDynamics.cc.
References A, G4Alpha::Alpha(), G4Deuteron::Deuteron(), G4UniformRand, G4Gamma::Gamma(), GenerateNBodyEvent(), G4Nucleus::GetA_asInt(), G4ReactionProduct::GetDefinition(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4ParticleDefinition::GetPDGMass(), G4ReactionProduct::GetTotalMomentum(), GeV, G4FastVector< Type, N >::Initialize(), G4ReactionProduct::Lorentz(), G4INCL::Math::max(), MeV, G4INCL::Math::min(), G4Neutron::Neutron(), G4InuclParticleNames::pp, G4Proton::Proton(), G4ReactionProduct::SetDefinition(), G4FastVector< Type, N >::SetElement(), G4ReactionProduct::SetKineticEnergy(), G4ReactionProduct::SetMass(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetTotalEnergy(), and G4Triton::Triton().
Definition at line 2693 of file G4ReactionDynamics.cc.
References Factorial(), G4UniformRand, G4INCL::Math::max(), and normal().
Referenced by GenerateXandPt(), TwoBody(), and TwoCluster().
void G4ReactionDynamics::ProduceStrangeParticlePairs | ( | G4FastVector< G4ReactionProduct, GHADLISTSIZE > & | vec, |
G4int & | vecLen, | ||
const G4ReactionProduct & | modifiedOriginal, | ||
const G4DynamicParticle * | originalTarget, | ||
G4ReactionProduct & | currentParticle, | ||
G4ReactionProduct & | targetParticle, | ||
G4bool & | incidentHasChanged, | ||
G4bool & | targetHasChanged | ||
) |
Definition at line 3386 of file G4ReactionDynamics.cc.
References G4AntiLambda::AntiLambda(), G4AntiNeutron::AntiNeutron(), G4AntiProton::AntiProton(), G4AntiSigmaMinus::AntiSigmaMinus(), G4AntiSigmaPlus::AntiSigmaPlus(), G4AntiSigmaZero::AntiSigmaZero(), G4UniformRand, G4ReactionProduct::GetDefinition(), G4DynamicParticle::GetDefinition(), G4ReactionProduct::GetMass(), G4ParticleDefinition::GetPDGMass(), G4ReactionProduct::GetTotalEnergy(), GeV, G4KaonMinus::KaonMinus(), G4KaonPlus::KaonPlus(), G4KaonZeroLong::KaonZeroLong(), G4KaonZeroShort::KaonZeroShort(), G4Lambda::Lambda(), G4INCL::Math::max(), G4Neutron::Neutron(), G4Proton::Proton(), G4ReactionProduct::SetDefinition(), G4ReactionProduct::SetDefinitionAndUpdateE(), G4FastVector< Type, N >::SetElement(), G4ReactionProduct::SetMayBeKilled(), G4ReactionProduct::SetSide(), G4SigmaMinus::SigmaMinus(), G4SigmaPlus::SigmaPlus(), and G4SigmaZero::SigmaZero().
|
private |
Definition at line 2809 of file G4ReactionDynamics.cc.
References a1, Defs1(), G4UniformRand, G4Nucleus::GetA_asInt(), G4ReactionProduct::GetDefinition(), G4HadProjectile::GetKineticEnergy(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMomentum(), G4ParticleDefinition::GetParticleSubType(), G4ReactionProduct::GetTotalMomentum(), GeV, G4INCL::Math::max(), MeV, normal(), G4INCL::Math::pi, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4InuclParticleNames::pp, G4ReactionProduct::SetKineticEnergy(), and G4ReactionProduct::SetMomentum().
Referenced by GenerateXandPt(), and TwoCluster().
void G4ReactionDynamics::SuppressChargedPions | ( | G4FastVector< G4ReactionProduct, GHADLISTSIZE > & | vec, |
G4int & | vecLen, | ||
const G4ReactionProduct & | modifiedOriginal, | ||
G4ReactionProduct & | currentParticle, | ||
G4ReactionProduct & | targetParticle, | ||
const G4Nucleus & | targetNucleus, | ||
G4bool & | incidentHasChanged, | ||
G4bool & | targetHasChanged | ||
) |
Definition at line 1339 of file G4ReactionDynamics.cc.
References G4AntiLambda::AntiLambda(), G4AntiNeutron::AntiNeutron(), G4AntiOmegaMinus::AntiOmegaMinus(), G4AntiProton::AntiProton(), G4AntiSigmaMinus::AntiSigmaMinus(), G4AntiSigmaPlus::AntiSigmaPlus(), G4AntiXiMinus::AntiXiMinus(), G4AntiXiZero::AntiXiZero(), G4UniformRand, G4Nucleus::GetA_asInt(), G4ReactionProduct::GetDefinition(), G4ReactionProduct::GetMass(), G4ParticleDefinition::GetPDGMass(), G4ReactionProduct::GetTotalEnergy(), G4ReactionProduct::GetTotalMomentum(), G4Nucleus::GetZ_asInt(), GeV, G4Neutron::Neutron(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4Proton::Proton(), and G4ReactionProduct::SetDefinitionAndUpdateE().
void G4ReactionDynamics::TwoBody | ( | G4FastVector< G4ReactionProduct, GHADLISTSIZE > & | vec, |
G4int & | vecLen, | ||
G4ReactionProduct & | modifiedOriginal, | ||
const G4DynamicParticle * | originalTarget, | ||
G4ReactionProduct & | currentParticle, | ||
G4ReactionProduct & | targetParticle, | ||
const G4Nucleus & | targetNucleus, | ||
G4bool & | targetHasChanged | ||
) |
Definition at line 2243 of file G4ReactionDynamics.cc.
References AddBlackTrackParticles(), b1, b2, Defs1(), G4UniformRand, G4Nucleus::GetA_asInt(), G4ReactionProduct::GetDefinition(), G4Nucleus::GetDTABlackTrackEnergy(), GetFinalStateNucleons(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4Nucleus::GetN_asInt(), G4ParticleDefinition::GetParticleSubType(), G4ParticleDefinition::GetPDGMass(), G4Nucleus::GetPNBlackTrackEnergy(), G4ReactionProduct::GetTotalEnergy(), G4ReactionProduct::GetTotalMomentum(), G4Nucleus::GetZ_asInt(), GeV, G4ReactionProduct::Lorentz(), G4INCL::Math::max(), MeV, G4INCL::Math::min(), normal(), Poisson(), G4InuclParticleNames::pp, G4ReactionProduct::SetKineticEnergy(), G4ReactionProduct::SetMass(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetTOF(), and G4ReactionProduct::SetTotalEnergy().
G4bool G4ReactionDynamics::TwoCluster | ( | G4FastVector< G4ReactionProduct, GHADLISTSIZE > & | vec, |
G4int & | vecLen, | ||
G4ReactionProduct & | modifiedOriginal, | ||
const G4HadProjectile * | originalIncident, | ||
G4ReactionProduct & | currentParticle, | ||
G4ReactionProduct & | targetParticle, | ||
const G4DynamicParticle * | originalTarget, | ||
const G4Nucleus & | targetNucleus, | ||
G4bool & | incidentHasChanged, | ||
G4bool & | targetHasChanged, | ||
G4bool | leadFlag, | ||
G4ReactionProduct & | leadingStrangeParticle | ||
) |
Definition at line 1434 of file G4ReactionDynamics.cc.
References a, AddBlackTrackParticles(), b1, b2, G4UniformRand, GenerateNBodyEvent(), G4Nucleus::GetA_asInt(), G4Nucleus::GetAnnihilationDTABlackTrackEnergy(), G4Nucleus::GetAnnihilationPNBlackTrackEnergy(), G4ParticleDefinition::GetBaryonNumber(), G4HadProjectile::GetDefinition(), G4ReactionProduct::GetDefinition(), G4Nucleus::GetDTABlackTrackEnergy(), GetFinalStateNucleons(), G4HadProjectile::GetKineticEnergy(), G4ReactionProduct::GetKineticEnergy(), G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4Nucleus::GetN_asInt(), G4ParticleDefinition::GetPDGMass(), G4Nucleus::GetPNBlackTrackEnergy(), G4ReactionProduct::GetSide(), G4ReactionProduct::GetTotalEnergy(), G4ReactionProduct::GetTotalMomentum(), G4Nucleus::GetZ_asInt(), GeV, G4FastVector< Type, N >::Initialize(), G4Lambda::Lambda(), G4ReactionProduct::Lorentz(), G4INCL::Math::max(), MeV, G4INCL::Math::min(), G4Neutron::Neutron(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), Poisson(), G4InuclParticleNames::pp, G4Proton::Proton(), Rotate(), G4ReactionProduct::SetDefinition(), G4FastVector< Type, N >::SetElement(), G4ReactionProduct::SetKineticEnergy(), G4ReactionProduct::SetMass(), G4ReactionProduct::SetMomentum(), G4ReactionProduct::SetNewlyAdded(), G4ReactionProduct::SetSide(), G4ReactionProduct::SetTOF(), and G4ReactionProduct::SetTotalEnergy().