Geant4  10.00.p02
G4ReactionDynamics Class Reference

#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 &currentParticle, 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 &currentParticle, G4ReactionProduct &targetParticle, const G4Nucleus &targetNucleus, G4bool &incidentHasChanged, G4bool &targetHasChanged)
 
G4bool 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)
 
void TwoBody (G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen, G4ReactionProduct &modifiedOriginal, const G4DynamicParticle *originalTarget, G4ReactionProduct &currentParticle, 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 &currentParticle, 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 &currentParticle, G4ReactionProduct &targetParticle, G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen)
 
void Defs1 (const G4ReactionProduct &modifiedOriginal, G4ReactionProduct &currentParticle, 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, G4intGetFinalStateNucleons (const G4DynamicParticle *originalTarget, const G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, const G4int &vecLen)
 
void MomentumCheck (const G4ReactionProduct &modifiedOriginal, G4ReactionProduct &currentParticle, G4ReactionProduct &targetParticle, G4FastVector< G4ReactionProduct, GHADLISTSIZE > &vec, G4int &vecLen)
 
G4double normal ()
 
G4int Poisson (G4double x)
 

Detailed Description

Definition at line 48 of file G4ReactionDynamics.hh.

Constructor & Destructor Documentation

G4ReactionDynamics::G4ReactionDynamics ( )
inline

Definition at line 52 of file G4ReactionDynamics.hh.

virtual G4ReactionDynamics::~G4ReactionDynamics ( )
inlinevirtual

Definition at line 54 of file G4ReactionDynamics.hh.

Member Function Documentation

void G4ReactionDynamics::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 
)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ReactionDynamics::Defs1 ( const G4ReactionProduct modifiedOriginal,
G4ReactionProduct currentParticle,
G4ReactionProduct targetParticle,
G4FastVector< G4ReactionProduct, GHADLISTSIZE > &  vec,
G4int vecLen 
)
private

Definition at line 2752 of file G4ReactionDynamics.cc.

References G4ReactionProduct::GetMomentum(), MeV, and G4ReactionProduct::SetMomentum().

Referenced by Rotate(), and TwoBody().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4ReactionDynamics::Factorial ( G4int  n)

Definition at line 2743 of file G4ReactionDynamics.cc.

References G4INCL::Math::min().

Referenced by Poisson().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

virtual G4double G4ReactionDynamics::FindInelasticity ( )
inlinevirtual

Definition at line 56 of file G4ReactionDynamics.hh.

virtual G4double G4ReactionDynamics::FindTimeDelay ( )
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

+ Here is the call graph for this function:

std::pair< G4int, G4int > G4ReactionDynamics::GetFinalStateNucleons ( const G4DynamicParticle originalTarget,
const G4FastVector< G4ReactionProduct, GHADLISTSIZE > &  vec,
const G4int vecLen 
)
private

Definition at line 3314 of file G4ReactionDynamics.cc.

References G4DynamicParticle::GetDefinition(), and G4ParticleDefinition::GetParticleName().

Referenced by GenerateXandPt(), TwoBody(), and TwoCluster().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ReactionDynamics::MomentumCheck ( const G4ReactionProduct modifiedOriginal,
G4ReactionProduct currentParticle,
G4ReactionProduct targetParticle,
G4FastVector< G4ReactionProduct, GHADLISTSIZE > &  vec,
G4int vecLen 
)
private

Definition at line 3346 of file G4ReactionDynamics.cc.

References G4ReactionProduct::GetMass(), G4ReactionProduct::GetMomentum(), G4ReactionProduct::GetTotalMomentum(), MeV, G4ReactionProduct::SetMomentum(), and G4ReactionProduct::SetTotalEnergy().

+ Here is the call graph for this function:

G4double G4ReactionDynamics::normal ( )
private

Definition at line 2685 of file G4ReactionDynamics.cc.

References G4UniformRand.

Referenced by AddBlackTrackParticles(), GenerateXandPt(), Poisson(), Rotate(), and TwoBody().

+ Here is the caller graph for this function:

G4int G4ReactionDynamics::Poisson ( G4double  x)
private

Definition at line 2693 of file G4ReactionDynamics.cc.

References Factorial(), G4UniformRand, G4INCL::Math::max(), and normal().

Referenced by GenerateXandPt(), TwoBody(), and TwoCluster().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4ReactionDynamics::Rotate ( const G4double  numberofFinalStateNucleons,
const G4ThreeVector temp,
const G4ReactionProduct modifiedOriginal,
const G4HadProjectile originalIncident,
const G4Nucleus targetNucleus,
G4ReactionProduct currentParticle,
G4ReactionProduct targetParticle,
G4FastVector< G4ReactionProduct, GHADLISTSIZE > &  vec,
G4int vecLen 
)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

+ Here is the call graph for this function:


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