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, G4int > GetFinalStateNucleons (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: