Geant4  10.03
G4IntraNucleiCascader Class Reference

#include <G4IntraNucleiCascader.hh>

+ Inheritance diagram for G4IntraNucleiCascader:
+ Collaboration diagram for G4IntraNucleiCascader:

Public Member Functions

 G4IntraNucleiCascader ()
 
virtual ~G4IntraNucleiCascader ()
 
void collide (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &globalOutput)
 
void rescatter (G4InuclParticle *bullet, G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus, G4CollisionOutput &globalOutput)
 
void setVerboseLevel (G4int verbose=0)
 
- Public Member Functions inherited from G4CascadeColliderBase
 G4CascadeColliderBase (const G4String &name, G4int verbose=0)
 
virtual ~G4CascadeColliderBase ()
 
- Public Member Functions inherited from G4VCascadeCollider
 G4VCascadeCollider (const G4String &name, G4int verbose=0)
 
virtual ~G4VCascadeCollider ()
 

Protected Member Functions

G4bool initialize (G4InuclParticle *bullet, G4InuclParticle *target)
 
void newCascade (G4int itry)
 
void setupCascade ()
 
void generateCascade ()
 
G4bool finishCascade ()
 
void finalize (G4int itry, G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &globalOutput)
 
G4InuclParticlecreateTarget (G4V3DNucleus *theNucleus)
 
void preloadCascade (G4V3DNucleus *theNucleus, G4KineticTrackVector *theSecondaries)
 
void copyWoundedNucleus (G4V3DNucleus *theNucleus)
 
void copySecondaries (G4KineticTrackVector *theSecondaries)
 
void processSecondary (const G4KineticTrack *aSecondary)
 
void releaseSecondary (const G4KineticTrack *aSecondary)
 
void processTrappedParticle (const G4CascadParticle &trapped)
 
void decayTrappedParticle (const G4CascadParticle &trapped)
 
G4bool particleCanInteract (const G4CascadParticle &cpart) const
 
- Protected Member Functions inherited from G4CascadeColliderBase
virtual G4bool useEPCollider (G4InuclParticle *bullet, G4InuclParticle *target) const
 
virtual G4bool inelasticInteractionPossible (G4InuclParticle *bullet, G4InuclParticle *target, G4double ekin) const
 
virtual G4bool validateOutput (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output)
 
virtual G4bool validateOutput (const G4Fragment &fragment, G4CollisionOutput &output)
 
virtual G4bool validateOutput (G4InuclParticle *bullet, G4InuclParticle *target, const std::vector< G4InuclElementaryParticle > &particles)
 
- Protected Member Functions inherited from G4VCascadeCollider
virtual void setName (const G4String &name)
 

Private Member Functions

 G4IntraNucleiCascader (const G4IntraNucleiCascader &)
 
G4IntraNucleiCascaderoperator= (const G4IntraNucleiCascader &)
 

Private Attributes

G4NucleiModelmodel
 
G4ElementaryParticleCollidertheElementaryParticleCollider
 
G4CascadeRecoilMakertheRecoilMaker
 
G4CascadeCoalescencetheClusterMaker
 
G4CascadeHistorytheCascadeHistory
 
G4InuclNucleitnuclei
 
G4InuclNucleibnuclei
 
G4InuclElementaryParticlebparticle
 
G4double minimum_recoil_A
 
G4double coulombBarrier
 
G4InuclNucleinucleusTarget
 
G4InuclElementaryParticleprotonTarget
 
G4CollisionOutput output
 
std::vector< G4CascadParticlecascad_particles
 
std::vector< G4CascadParticlenew_cascad_particles
 
G4ExitonConfiguration theExitonConfiguration
 
std::vector< G4ThreeVectorhitNucleons
 

Static Private Attributes

static const G4int itry_max = 100
 
static const G4int reflection_cut = 50
 
static const G4double small_ekin = 0.001*MeV
 
static const G4double quasielast_cut = 1*MeV
 

Additional Inherited Members

- Protected Attributes inherited from G4CascadeColliderBase
G4InteractionCase interCase
 
G4CascadeCheckBalancebalance
 
- Protected Attributes inherited from G4VCascadeCollider
G4String theName
 
G4int verboseLevel
 

Detailed Description

Definition at line 89 of file G4IntraNucleiCascader.hh.

Constructor & Destructor Documentation

G4IntraNucleiCascader::G4IntraNucleiCascader ( )

Definition at line 167 of file G4IntraNucleiCascader.cc.

References G4CascadeParameters::doCoalescence(), G4CascadeParameters::showHistory(), theCascadeHistory, and theClusterMaker.

+ Here is the call graph for this function:

G4IntraNucleiCascader::~G4IntraNucleiCascader ( )
virtual
G4IntraNucleiCascader::G4IntraNucleiCascader ( const G4IntraNucleiCascader )
private

Member Function Documentation

void G4IntraNucleiCascader::collide ( G4InuclParticle bullet,
G4InuclParticle target,
G4CollisionOutput globalOutput 
)
virtual

Implements G4VCascadeCollider.

Definition at line 205 of file G4IntraNucleiCascader.cc.

References finalize(), finishCascade(), G4cout, G4endl, generateCascade(), initialize(), itry_max, newCascade(), G4CascadeHistory::Print(), setupCascade(), theCascadeHistory, and G4VCascadeCollider::verboseLevel.

Referenced by G4InuclCollider::collide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::copySecondaries ( G4KineticTrackVector theSecondaries)
protected

Definition at line 739 of file G4IntraNucleiCascader.cc.

References cascad_particles, G4cout, G4endl, G4CollisionOutput::numberOfOutgoingNuclei(), G4CollisionOutput::numberOfOutgoingParticles(), output, processSecondary(), and G4VCascadeCollider::verboseLevel.

Referenced by preloadCascade().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::copyWoundedNucleus ( G4V3DNucleus theNucleus)
protected

Definition at line 708 of file G4IntraNucleiCascader.cc.

References G4Nucleon::AreYouHit(), G4ExitonConfiguration::clear(), G4cout, G4endl, G4V3DNucleus::GetNextNucleon(), G4Nucleon::GetParticleType(), G4Nucleon::GetPosition(), hitNucleons, G4ExitonConfiguration::incrementHoles(), model, G4ExitonConfiguration::neutronHoles, G4ExitonConfiguration::protonHoles, G4NucleiModel::reset(), G4V3DNucleus::StartLoop(), theExitonConfiguration, G4InuclElementaryParticle::type(), and G4VCascadeCollider::verboseLevel.

Referenced by preloadCascade().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4InuclParticle * G4IntraNucleiCascader::createTarget ( G4V3DNucleus theNucleus)
protected

Definition at line 679 of file G4IntraNucleiCascader.cc.

References G4InuclElementaryParticle::fill(), G4InuclNuclei::fill(), G4V3DNucleus::GetCharge(), G4V3DNucleus::GetMassNumber(), neutron, nucleusTarget, G4InuclParticleNames::proton, and protonTarget.

Referenced by rescatter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::decayTrappedParticle ( const G4CascadParticle trapped)
protected
void G4IntraNucleiCascader::finalize ( G4int  itry,
G4InuclParticle bullet,
G4InuclParticle target,
G4CollisionOutput globalOutput 
)
protected

Definition at line 657 of file G4IntraNucleiCascader.cc.

References G4CollisionOutput::add(), G4cout, G4endl, itry_max, output, G4CollisionOutput::trivialise(), and G4VCascadeCollider::verboseLevel.

Referenced by collide(), and rescatter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4IntraNucleiCascader::finishCascade ( )
protected

Definition at line 508 of file G4IntraNucleiCascader.cc.

References G4CollisionOutput::acceptable(), G4CascadeRecoilMaker::addExcitonConfiguration(), G4CollisionOutput::addOutgoingParticle(), G4CollisionOutput::addOutgoingParticles(), G4CollisionOutput::addRecoilFragment(), cascad_particles, G4CascadeRecoilMaker::collide(), G4CascadeCoalescence::FindClusters(), G4cerr, G4cout, G4endl, G4InteractionCase::getBullet(), G4CollisionOutput::getOutgoingParticles(), G4InuclElementaryParticle::getParticleMass(), G4CascadeRecoilMaker::getRecoilA(), G4CascadeRecoilMaker::getRecoilExcitation(), G4CascadeRecoilMaker::getRecoilMomentum(), G4CascadeRecoilMaker::getRecoilZ(), G4InteractionCase::getTarget(), G4CascadeRecoilMaker::goodFragment(), G4CascadeRecoilMaker::goodNucleus(), G4InuclParticle::INCascader, G4CascadeColliderBase::interCase, G4CascadeRecoilMaker::makeRecoilFragment(), minimum_recoil_A, G4CollisionOutput::numberOfOutgoingParticles(), output, G4CollisionOutput::printCollisionOutput(), quasielast_cut, G4CollisionOutput::setOnShell(), G4CascadeRecoilMaker::setRecoilExcitation(), G4CascadeCoalescence::setVerboseLevel(), G4CollisionOutput::setVerboseLevel(), small_ekin, theClusterMaker, theExitonConfiguration, theRecoilMaker, G4VCascadeCollider::verboseLevel, and G4CascadeRecoilMaker::wholeEvent().

Referenced by collide(), and rescatter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::generateCascade ( )
protected

Definition at line 362 of file G4IntraNucleiCascader.cc.

References G4CascadeHistory::AddEntry(), G4CollisionOutput::addOutgoingParticle(), G4CascadeHistory::AddVertex(), cascad_particles, G4CascadeRecoilMaker::collide(), coulombBarrier, G4NucleiModel::empty(), G4cout, G4endl, G4Exp(), G4UniformRand, G4NucleiModel::generateParticleFate(), G4InteractionCase::getBullet(), G4InuclParticle::getCharge(), G4InuclParticle::getKineticEnergy(), G4InuclParticle::getMass(), G4NucleiModel::getNumberOfNeutrons(), G4NucleiModel::getNumberOfProtons(), G4CascadParticle::getNumberOfReflections(), G4CollisionOutput::getOutgoingParticles(), G4CascadParticle::getParticle(), G4CascadeRecoilMaker::getRecoilA(), G4InteractionCase::getTarget(), G4NucleiModel::getTypesOfNucleonsInvolved(), G4InuclNuclei::getZ(), G4ExitonConfiguration::incrementHoles(), G4CascadeColliderBase::interCase, minimum_recoil_A, model, new_cascad_particles, output, particleCanInteract(), processTrappedParticle(), Q, reflection_cut, G4NucleiModel::stillInside(), theCascadeHistory, theElementaryParticleCollider, theExitonConfiguration, theRecoilMaker, tnuclei, G4VCascadeCollider::verboseLevel, and G4NucleiModel::worthToPropagate().

Referenced by collide(), and rescatter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4IntraNucleiCascader::initialize ( G4InuclParticle bullet,
G4InuclParticle target 
)
protected

Definition at line 252 of file G4IntraNucleiCascader.cc.

References bnuclei, bparticle, coulombBarrier, G4InuclSpecialFunctions::G4cbrt(), G4cerr, G4cout, G4endl, G4NucleiModel::generateModel(), G4InuclNuclei::getA(), G4InteractionCase::getBullet(), G4InuclParticle::getMomentum(), G4InteractionCase::getTarget(), G4InuclNuclei::getZ(), G4CascadeColliderBase::interCase, minimum_recoil_A, model, G4InteractionCase::set(), G4CascadeRecoilMaker::setTolerance(), small_ekin, theRecoilMaker, tnuclei, and G4VCascadeCollider::verboseLevel.

Referenced by collide(), and rescatter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::newCascade ( G4int  itry)
protected

Definition at line 304 of file G4IntraNucleiCascader.cc.

References cascad_particles, G4CascadeHistory::Clear(), G4ExitonConfiguration::clear(), G4InteractionCase::code(), G4cout, G4endl, G4CascadeColliderBase::interCase, model, new_cascad_particles, output, G4CollisionOutput::reset(), G4NucleiModel::reset(), theCascadeHistory, theExitonConfiguration, and G4VCascadeCollider::verboseLevel.

Referenced by collide(), and rescatter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4IntraNucleiCascader& G4IntraNucleiCascader::operator= ( const G4IntraNucleiCascader )
private
G4bool G4IntraNucleiCascader::particleCanInteract ( const G4CascadParticle cpart) const
protected

Definition at line 931 of file G4IntraNucleiCascader.cc.

References G4CascadParticle::getParticle(), G4CascadeChannelTables::GetTable(), and G4InuclElementaryParticle::type().

Referenced by generateCascade().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::preloadCascade ( G4V3DNucleus theNucleus,
G4KineticTrackVector theSecondaries 
)
protected

Definition at line 699 of file G4IntraNucleiCascader.cc.

References copySecondaries(), copyWoundedNucleus(), G4cout, G4endl, and G4VCascadeCollider::verboseLevel.

Referenced by rescatter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::processSecondary ( const G4KineticTrack aSecondary)
protected
void G4IntraNucleiCascader::processTrappedParticle ( const G4CascadParticle trapped)
protected

Definition at line 839 of file G4IntraNucleiCascader.cc.

References G4CollisionOutput::addOutgoingParticle(), decayTrappedParticle(), G4CascadeHistory::DropEntry(), G4cout, G4endl, G4CascadParticle::getParticle(), G4InuclElementaryParticle::hyperon(), G4ExitonConfiguration::incrementQP(), G4InuclElementaryParticle::nucleon(), output, theCascadeHistory, theExitonConfiguration, G4InuclElementaryParticle::type(), and G4VCascadeCollider::verboseLevel.

Referenced by generateCascade().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::releaseSecondary ( const G4KineticTrack aSecondary)
protected

Definition at line 805 of file G4IntraNucleiCascader.cc.

References G4InuclElementaryParticle::fill(), G4InuclNuclei::fill(), G4cout, G4endl, G4KineticTrack::Get4Momentum(), G4ParticleDefinition::GetAtomicMass(), G4ParticleDefinition::GetAtomicNumber(), G4KineticTrack::GetDefinition(), G4CollisionOutput::getOutgoingNuclei(), G4CollisionOutput::getOutgoingParticles(), G4ParticleDefinition::GetParticleName(), GeV, G4CollisionOutput::numberOfOutgoingNuclei(), G4CollisionOutput::numberOfOutgoingParticles(), output, and G4VCascadeCollider::verboseLevel.

Referenced by processSecondary().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::rescatter ( G4InuclParticle bullet,
G4KineticTrackVector theSecondaries,
G4V3DNucleus theNucleus,
G4CollisionOutput globalOutput 
)
virtual

Reimplemented from G4CascadeColliderBase.

Definition at line 228 of file G4IntraNucleiCascader.cc.

References createTarget(), finalize(), finishCascade(), G4cout, G4endl, generateCascade(), initialize(), itry_max, newCascade(), preloadCascade(), G4CascadeHistory::Print(), theCascadeHistory, and G4VCascadeCollider::verboseLevel.

Referenced by G4InuclCollider::rescatter().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::setupCascade ( )
protected

Definition at line 322 of file G4IntraNucleiCascader.cc.

References ab, G4CollisionOutput::addOutgoingParticles(), G4InuclElementaryParticle::baryon(), bnuclei, bparticle, cascad_particles, G4cout, G4endl, G4InuclNuclei::getA(), G4InuclParticle::getCharge(), G4InuclNuclei::getZ(), G4InteractionCase::hadNucleus(), G4ExitonConfiguration::incrementHoles(), G4ExitonConfiguration::incrementQP(), G4NucleiModel::initializeCascad(), G4CascadeColliderBase::interCase, G4InuclSpecialFunctions::inuclRndm(), model, output, theExitonConfiguration, tnuclei, and G4VCascadeCollider::verboseLevel.

Referenced by collide().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4IntraNucleiCascader::setVerboseLevel ( G4int  verbose = 0)
virtual

Reimplemented from G4CascadeColliderBase.

Definition at line 192 of file G4IntraNucleiCascader.cc.

References model, G4CascadeHistory::setVerboseLevel(), G4VCascadeCollider::setVerboseLevel(), G4CascadeCoalescence::setVerboseLevel(), G4CascadeColliderBase::setVerboseLevel(), G4NucleiModel::setVerboseLevel(), theCascadeHistory, theClusterMaker, theElementaryParticleCollider, and theRecoilMaker.

Referenced by G4InuclCollider::setVerboseLevel().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4InuclNuclei* G4IntraNucleiCascader::bnuclei
private

Definition at line 147 of file G4IntraNucleiCascader.hh.

Referenced by initialize(), and setupCascade().

G4InuclElementaryParticle* G4IntraNucleiCascader::bparticle
private

Definition at line 148 of file G4IntraNucleiCascader.hh.

Referenced by initialize(), and setupCascade().

std::vector<G4CascadParticle> G4IntraNucleiCascader::cascad_particles
private
G4double G4IntraNucleiCascader::coulombBarrier
private

Definition at line 151 of file G4IntraNucleiCascader.hh.

Referenced by generateCascade(), and initialize().

std::vector<G4ThreeVector> G4IntraNucleiCascader::hitNucleons
private

Definition at line 163 of file G4IntraNucleiCascader.hh.

Referenced by copyWoundedNucleus().

const G4int G4IntraNucleiCascader::itry_max = 100
staticprivate

Definition at line 104 of file G4IntraNucleiCascader.hh.

Referenced by collide(), finalize(), and rescatter().

G4double G4IntraNucleiCascader::minimum_recoil_A
private

Definition at line 150 of file G4IntraNucleiCascader.hh.

Referenced by finishCascade(), generateCascade(), and initialize().

std::vector<G4CascadParticle> G4IntraNucleiCascader::new_cascad_particles
private

Definition at line 160 of file G4IntraNucleiCascader.hh.

Referenced by generateCascade(), and newCascade().

G4InuclNuclei* G4IntraNucleiCascader::nucleusTarget
private

Definition at line 154 of file G4IntraNucleiCascader.hh.

Referenced by createTarget(), and ~G4IntraNucleiCascader().

G4InuclElementaryParticle* G4IntraNucleiCascader::protonTarget
private

Definition at line 155 of file G4IntraNucleiCascader.hh.

Referenced by createTarget(), and ~G4IntraNucleiCascader().

const G4double G4IntraNucleiCascader::quasielast_cut = 1*MeV
staticprivate

Definition at line 107 of file G4IntraNucleiCascader.hh.

Referenced by finishCascade().

const G4int G4IntraNucleiCascader::reflection_cut = 50
staticprivate

Definition at line 105 of file G4IntraNucleiCascader.hh.

Referenced by generateCascade().

const G4double G4IntraNucleiCascader::small_ekin = 0.001*MeV
staticprivate

Definition at line 106 of file G4IntraNucleiCascader.hh.

Referenced by finishCascade(), and initialize().

G4CascadeCoalescence* G4IntraNucleiCascader::theClusterMaker
private
G4ElementaryParticleCollider* G4IntraNucleiCascader::theElementaryParticleCollider
private
G4ExitonConfiguration G4IntraNucleiCascader::theExitonConfiguration
private
G4CascadeRecoilMaker* G4IntraNucleiCascader::theRecoilMaker
private
G4InuclNuclei* G4IntraNucleiCascader::tnuclei
private

Definition at line 146 of file G4IntraNucleiCascader.hh.

Referenced by generateCascade(), initialize(), and setupCascade().


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