Geant4  10.00.p02
G4CascadeInterface Class Reference

#include <G4CascadeInterface.hh>

+ Inheritance diagram for G4CascadeInterface:
+ Collaboration diagram for G4CascadeInterface:

Public Member Functions

 G4CascadeInterface (const G4String &name="BertiniCascade")
 
virtual ~G4CascadeInterface ()
 
G4ReactionProductVectorPropagate (G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus)
 
G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &theNucleus)
 
void SetVerboseLevel (G4int verbose)
 
G4bool IsApplicable (const G4HadProjectile &aTrack, G4Nucleus &theNucleus)
 
G4bool IsApplicable (const G4ParticleDefinition *aPD) const
 
void useCascadeDeexcitation ()
 
void usePreCompoundDeexcitation ()
 
virtual void ModelDescription (std::ostream &outFile) const
 
virtual void DumpConfiguration (std::ostream &outFile) const
 
- Public Member Functions inherited from G4VIntraNuclearTransportModel
 G4VIntraNuclearTransportModel (const G4String &modelName="CascadeModel", G4VPreCompoundModel *ptr=0)
 
virtual ~G4VIntraNuclearTransportModel ()
 
virtual G4ReactionProductVectorPropagateNuclNucl (G4KineticTrackVector *theSecondaries, G4V3DNucleus *theNucleus, G4V3DNucleus *theProjectileNucleus)
 
void SetDeExcitation (G4VPreCompoundModel *ptr)
 
void Set3DNucleus (G4V3DNucleus *const value)
 
void SetPrimaryProjectile (const G4HadProjectile &aPrimary)
 
const G4StringGetModelName () const
 
virtual void PropagateModelDescription (std::ostream &outFile) const
 
- 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)
 
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)
 
const G4HadronicInteractionGetMyPointer () const
 
virtual G4int GetVerboseLevel () const
 
const G4StringGetModelName () 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
 
G4bool operator== (const G4HadronicInteraction &right) const
 
G4bool operator!= (const G4HadronicInteraction &right) const
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 

Static Public Member Functions

static void Initialize ()
 

Protected Member Functions

void clear ()
 
G4bool createBullet (const G4HadProjectile &aTrack)
 
G4bool createTarget (G4Nucleus &theNucleus)
 
G4bool createTarget (G4V3DNucleus *theNucleus)
 
G4bool createTarget (G4int A, G4int Z)
 
G4bool coulombBarrierViolation () const
 
G4bool retryInelasticProton () const
 
G4bool retryInelasticNucleus () const
 
void copyOutputToHadronicResult ()
 
G4ReactionProductVectorcopyOutputToReactionProducts ()
 
G4HadFinalStateNoInteraction (const G4HadProjectile &aTrack, G4Nucleus &theNucleus)
 
void checkFinalResult ()
 
void throwNonConservationFailure ()
 
G4DynamicParticlemakeDynamicParticle (const G4InuclElementaryParticle &iep) const
 
G4DynamicParticlemakeDynamicParticle (const G4InuclNuclei &inuc) const
 
- Protected Member Functions inherited from G4VIntraNuclearTransportModel
G4V3DNucleusGet3DNucleus () const
 
G4VPreCompoundModelGetDeExcitation () const
 
const G4HadProjectileGetPrimaryProjectile () const
 
- Protected Member Functions inherited from G4HadronicInteraction
void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 

Private Member Functions

G4int operator== (const G4CascadeInterface &right) const
 
G4int operator!= (const G4CascadeInterface &right) const
 
 G4CascadeInterface (const G4CascadeInterface &)
 
G4CascadeInterfaceoperator= (const G4CascadeInterface &)
 

Private Attributes

G4int numberOfTries
 
G4InuclCollidercollider
 
G4CascadeCheckBalancebalance
 
G4InuclParticlebullet
 
G4InuclParticletarget
 
G4CollisionOutputoutput
 
G4InuclElementaryParticle hadronBullet
 
G4InuclNuclei nucleusBullet
 
G4InuclElementaryParticle hadronTarget
 
G4InuclNuclei nucleusTarget
 
G4LorentzRotation bulletInLabFrame
 

Static Private Attributes

static const G4String randomFile = G4CascadeParameters::randomFile()
 
static const G4int maximumTries = 20
 

Additional Inherited Members

- Protected Attributes inherited from G4VIntraNuclearTransportModel
G4String theTransportModelName
 
G4V3DNucleusthe3DNucleus
 
G4VPreCompoundModeltheDeExcitation
 
const G4HadProjectilethePrimaryProjectile
 
- Protected Attributes inherited from G4HadronicInteraction
G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Detailed Description

Definition at line 86 of file G4CascadeInterface.hh.

Constructor & Destructor Documentation

G4CascadeInterface::G4CascadeInterface ( const G4String name = "BertiniCascade")

Definition at line 149 of file G4CascadeInterface.cc.

References balance, GeV, MeV, perCent, G4HadronicInteraction::SetEnergyMomentumCheckLevels(), G4CascadeCheckBalance::setLimits(), SetVerboseLevel(), G4CascadeParameters::usePreCompound(), usePreCompoundDeexcitation(), and G4CascadeParameters::verbose().

+ Here is the call graph for this function:

G4CascadeInterface::~G4CascadeInterface ( )
virtual

Definition at line 161 of file G4CascadeInterface.cc.

References balance, clear(), collider, and output.

+ Here is the call graph for this function:

G4CascadeInterface::G4CascadeInterface ( const G4CascadeInterface )
private

Member Function Documentation

void G4CascadeInterface::checkFinalResult ( )
protected

Definition at line 621 of file G4CascadeInterface.cc.

References balance, G4CascadeCheckBalance::baryonOkay(), bullet, G4CascadeCheckBalance::chargeOkay(), G4CascadeCheckBalance::collide(), G4CascadeCheckBalance::deltaB(), G4CascadeCheckBalance::deltaE(), G4CascadeCheckBalance::deltaKE(), G4CascadeCheckBalance::deltaQ(), G4cerr, G4cout, G4endl, G4InuclParticle::getEnergy(), GeV, output, target, and G4HadronicInteraction::verboseLevel.

Referenced by ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeInterface::clear ( void  )
protected

Definition at line 186 of file G4CascadeInterface.cc.

References bullet, and target.

Referenced by ApplyYourself(), Propagate(), and ~G4CascadeInterface().

+ Here is the caller graph for this function:

void G4CascadeInterface::copyOutputToHadronicResult ( )
protected

Definition at line 552 of file G4CascadeInterface.cc.

References G4HadFinalState::AddSecondary(), G4cout, G4endl, G4CollisionOutput::getOutgoingNuclei(), G4CollisionOutput::getOutgoingParticles(), makeDynamicParticle(), output, G4HadFinalState::SetEnergyChange(), G4HadFinalState::SetStatusChange(), stopAndKill, G4HadronicInteraction::theParticleChange, and G4HadronicInteraction::verboseLevel.

Referenced by ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4ReactionProductVector * G4CascadeInterface::copyOutputToReactionProducts ( )
protected

Definition at line 579 of file G4CascadeInterface.cc.

References G4cout, G4endl, G4CollisionOutput::getOutgoingNuclei(), G4CollisionOutput::getOutgoingParticles(), makeDynamicParticle(), output, and G4HadronicInteraction::verboseLevel.

Referenced by Propagate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CascadeInterface::coulombBarrierViolation ( ) const
protected

Definition at line 657 of file G4CascadeInterface.cc.

References G4CollisionOutput::getOutgoingParticles(), GeV, MeV, output, and G4InuclParticleNames::proton.

Referenced by retryInelasticNucleus().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CascadeInterface::createBullet ( const G4HadProjectile aTrack)
protected

Definition at line 439 of file G4CascadeInterface.cc.

References bullet, bulletInLabFrame, G4InuclElementaryParticle::fill(), G4InuclNuclei::fill(), G4cerr, G4cout, G4endl, G4HadProjectile::Get4Momentum(), G4ParticleDefinition::GetAtomicMass(), G4ParticleDefinition::GetAtomicNumber(), G4HadProjectile::GetDefinition(), G4ParticleDefinition::GetParticleName(), GeV, hadronBullet, nucleusBullet, G4InuclElementaryParticle::type(), G4InuclElementaryParticle::valid(), and G4HadronicInteraction::verboseLevel.

Referenced by ApplyYourself(), and Propagate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CascadeInterface::createTarget ( G4Nucleus theNucleus)
protected

Definition at line 488 of file G4CascadeInterface.cc.

References G4Nucleus::GetA_asInt(), and G4Nucleus::GetZ_asInt().

Referenced by ApplyYourself(), createTarget(), and Propagate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CascadeInterface::createTarget ( G4V3DNucleus theNucleus)
protected

Definition at line 492 of file G4CascadeInterface.cc.

References createTarget(), G4V3DNucleus::GetCharge(), and G4V3DNucleus::GetMassNumber().

+ Here is the call graph for this function:

G4bool G4CascadeInterface::createTarget ( G4int  A,
G4int  Z 
)
protected

Definition at line 496 of file G4CascadeInterface.cc.

References G4InuclElementaryParticle::fill(), G4InuclNuclei::fill(), G4cout, G4endl, hadronTarget, neutron, nucleusTarget, G4InuclParticleNames::proton, target, and G4HadronicInteraction::verboseLevel.

+ Here is the call graph for this function:

void G4CascadeInterface::DumpConfiguration ( std::ostream &  outFile) const
virtual

Definition at line 182 of file G4CascadeInterface.cc.

References G4CascadeParameters::DumpConfiguration().

+ Here is the call graph for this function:

void G4CascadeInterface::Initialize ( )
static

Definition at line 194 of file G4CascadeInterface.cc.

References G4UnboundPN::Definition(), G4Dineutron::Definition(), G4Diproton::Definition(), G4CascadeChannelTables::GetTable(), G4InuclParticleNames::nn, G4InuclParticleNames::pn, and G4InuclParticleNames::pp.

Referenced by G4MTRunManager::InitializePhysics().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CascadeInterface::IsApplicable ( const G4HadProjectile aTrack,
G4Nucleus theNucleus 
)
virtual

Reimplemented from G4HadronicInteraction.

Definition at line 227 of file G4CascadeInterface.cc.

References G4HadProjectile::GetDefinition().

Referenced by ApplyYourself(), and G4HadronicAbsorptionBertini::IsApplicable().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CascadeInterface::IsApplicable ( const G4ParticleDefinition aPD) const

Definition at line 232 of file G4CascadeInterface.cc.

References G4ParticleDefinition::GetAtomicMass(), G4CascadeChannelTables::GetTable(), and G4InuclElementaryParticle::type().

+ Here is the call graph for this function:

G4DynamicParticle * G4CascadeInterface::makeDynamicParticle ( const G4InuclElementaryParticle iep) const
protected

Definition at line 514 of file G4CascadeInterface.cc.

References G4KaonZeroShort::Definition(), G4KaonZeroLong::Definition(), G4cerr, G4endl, G4UniformRand, G4InuclParticle::getDynamicParticle(), G4InuclParticle::getKineticEnergy(), G4InuclParticle::getMomentum(), GeV, G4InuclParticleNames::kaonZero, G4InuclParticleNames::kaonZeroBar, G4InuclElementaryParticle::quasi_deutron(), and G4InuclElementaryParticle::type().

Referenced by copyOutputToHadronicResult(), and copyOutputToReactionProducts().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4DynamicParticle * G4CascadeInterface::makeDynamicParticle ( const G4InuclNuclei inuc) const
protected

Definition at line 540 of file G4CascadeInterface.cc.

References G4cout, G4endl, G4InuclParticle::getDynamicParticle(), and G4HadronicInteraction::verboseLevel.

+ Here is the call graph for this function:

void G4CascadeInterface::ModelDescription ( std::ostream &  outFile) const
virtual

Reimplemented from G4VIntraNuclearTransportModel.

Definition at line 168 of file G4CascadeInterface.cc.

G4HadFinalState * G4CascadeInterface::NoInteraction ( const G4HadProjectile aTrack,
G4Nucleus theNucleus 
)
protected

Definition at line 422 of file G4CascadeInterface.cc.

References G4HadFinalState::Clear(), G4cout, G4endl, G4HadProjectile::GetKineticEnergy(), isAlive, G4HadFinalState::SetEnergyChange(), G4HadFinalState::SetStatusChange(), G4HadronicInteraction::theParticleChange, and G4HadronicInteraction::verboseLevel.

Referenced by ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4int G4CascadeInterface::operator!= ( const G4CascadeInterface right) const
inlineprivate

Definition at line 156 of file G4CascadeInterface.hh.

G4CascadeInterface& G4CascadeInterface::operator= ( const G4CascadeInterface )
private
G4int G4CascadeInterface::operator== ( const G4CascadeInterface right) const
inlineprivate

Definition at line 152 of file G4CascadeInterface.hh.

G4bool G4CascadeInterface::retryInelasticNucleus ( ) const
protected

Definition at line 708 of file G4CascadeInterface.cc.

References balance, bullet, coulombBarrierViolation(), G4cout, G4endl, G4InuclParticle::getDefinition(), G4CollisionOutput::getOutgoingParticles(), maximumTries, G4CollisionOutput::numberOfOutgoingNuclei(), G4CollisionOutput::numberOfOutgoingParticles(), numberOfTries, G4CascadeCheckBalance::okay(), and output.

Referenced by ApplyYourself(), and Propagate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4bool G4CascadeInterface::retryInelasticProton ( ) const
protected

Definition at line 676 of file G4CascadeInterface.cc.

References bullet, G4cout, G4endl, G4InuclParticle::getDefinition(), G4CollisionOutput::getOutgoingParticles(), maximumTries, numberOfTries, and output.

Referenced by ApplyYourself().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeInterface::SetVerboseLevel ( G4int  verbose)
virtual

Reimplemented from G4HadronicInteraction.

Definition at line 217 of file G4CascadeInterface.cc.

References balance, collider, output, G4VCascadeCollider::setVerboseLevel(), G4CollisionOutput::setVerboseLevel(), G4InuclCollider::setVerboseLevel(), and G4HadronicInteraction::SetVerboseLevel().

Referenced by G4CascadeInterface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeInterface::throwNonConservationFailure ( )
protected

Definition at line 756 of file G4CascadeInterface.cc.

References balance, G4CascadeCheckBalance::baryonOkay(), bullet, G4CascadeCheckBalance::chargeOkay(), G4CascadeCheckBalance::deltaB(), G4CascadeCheckBalance::deltaE(), G4CascadeCheckBalance::deltaP(), G4CascadeCheckBalance::deltaQ(), G4CascadeCheckBalance::energyOkay(), G4cerr, G4endl, G4CascadeCheckBalance::momentumOkay(), numberOfTries, output, G4CollisionOutput::printCollisionOutput(), G4CascadeCheckBalance::relativeE(), G4CascadeCheckBalance::relativeP(), and target.

Referenced by ApplyYourself(), and Propagate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeInterface::useCascadeDeexcitation ( )

Definition at line 206 of file G4CascadeInterface.cc.

References collider, and G4InuclCollider::useCascadeDeexcitation().

+ Here is the call graph for this function:

void G4CascadeInterface::usePreCompoundDeexcitation ( )

Definition at line 210 of file G4CascadeInterface.cc.

References collider, and G4InuclCollider::usePreCompoundDeexcitation().

Referenced by G4CascadeInterface(), and G4HadronicAbsorptionBertini::G4HadronicAbsorptionBertini().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

G4LorentzRotation G4CascadeInterface::bulletInLabFrame
private

Definition at line 179 of file G4CascadeInterface.hh.

Referenced by ApplyYourself(), and createBullet().

G4InuclElementaryParticle G4CascadeInterface::hadronBullet
private

Definition at line 173 of file G4CascadeInterface.hh.

Referenced by createBullet().

G4InuclElementaryParticle G4CascadeInterface::hadronTarget
private

Definition at line 176 of file G4CascadeInterface.hh.

Referenced by createTarget().

const G4int G4CascadeInterface::maximumTries = 20
staticprivate
G4InuclNuclei G4CascadeInterface::nucleusBullet
private

Definition at line 174 of file G4CascadeInterface.hh.

Referenced by createBullet().

G4InuclNuclei G4CascadeInterface::nucleusTarget
private

Definition at line 177 of file G4CascadeInterface.hh.

Referenced by createTarget().

G4int G4CascadeInterface::numberOfTries
private
const G4String G4CascadeInterface::randomFile = G4CascadeParameters::randomFile()
staticprivate

Definition at line 160 of file G4CascadeInterface.hh.

Referenced by ApplyYourself(), and Propagate().

G4InuclParticle* G4CascadeInterface::target
private

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