Geant4  10.03
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 &mName="CascadeModel", G4VPreCompoundModel *ptr=nullptr)
 
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)
 
G4int GetVerboseLevel () const
 
void SetVerboseLevel (G4int value)
 
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
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void BuildPhysicsTable (const G4ParticleDefinition &)
 
virtual void InitialiseModel ()
 

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

const G4String randomFile
 
const G4int maximumTries
 
G4int numberOfTries
 
G4InuclCollidercollider
 
G4CascadeCheckBalancebalance
 
G4InuclParticlebullet
 
G4InuclParticletarget
 
G4CollisionOutputoutput
 
G4InuclElementaryParticle hadronBullet
 
G4InuclNuclei nucleusBullet
 
G4InuclElementaryParticle hadronTarget
 
G4InuclNuclei nucleusTarget
 
G4LorentzRotation bulletInLabFrame
 

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 88 of file G4CascadeInterface.hh.

Constructor & Destructor Documentation

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

Definition at line 146 of file G4CascadeInterface.cc.

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

+ Here is the call graph for this function:

G4CascadeInterface::~G4CascadeInterface ( )
virtual

Definition at line 165 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 626 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 190 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 557 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 584 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 662 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 444 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 493 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 497 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 501 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 186 of file G4CascadeInterface.cc.

References G4CascadeParameters::DumpConfiguration().

+ Here is the call graph for this function:

void G4CascadeInterface::Initialize ( )
static

Definition at line 198 of file G4CascadeInterface.cc.

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

Referenced by G4CascadeInterface().

+ 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 231 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 236 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 519 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 545 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 172 of file G4CascadeInterface.cc.

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

Definition at line 427 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 158 of file G4CascadeInterface.hh.

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

Definition at line 154 of file G4CascadeInterface.hh.

G4bool G4CascadeInterface::retryInelasticNucleus ( ) const
protected

Definition at line 713 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 681 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)

Definition at line 221 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 762 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 210 of file G4CascadeInterface.cc.

References collider, and G4InuclCollider::useCascadeDeexcitation().

Referenced by G4CascadeInterface().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4CascadeInterface::usePreCompoundDeexcitation ( )

Definition at line 214 of file G4CascadeInterface.cc.

References collider, and G4InuclCollider::usePreCompoundDeexcitation().

Referenced by G4HadronInelasticQBBC::ConstructProcess(), 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 181 of file G4CascadeInterface.hh.

Referenced by ApplyYourself(), and createBullet().

G4InuclElementaryParticle G4CascadeInterface::hadronBullet
private

Definition at line 175 of file G4CascadeInterface.hh.

Referenced by createBullet().

G4InuclElementaryParticle G4CascadeInterface::hadronTarget
private

Definition at line 178 of file G4CascadeInterface.hh.

Referenced by createTarget().

const G4int G4CascadeInterface::maximumTries
private
G4InuclNuclei G4CascadeInterface::nucleusBullet
private

Definition at line 176 of file G4CascadeInterface.hh.

Referenced by createBullet().

G4InuclNuclei G4CascadeInterface::nucleusTarget
private

Definition at line 179 of file G4CascadeInterface.hh.

Referenced by createTarget().

G4int G4CascadeInterface::numberOfTries
private
const G4String G4CascadeInterface::randomFile
private

Definition at line 162 of file G4CascadeInterface.hh.

Referenced by ApplyYourself(), and Propagate().

G4InuclParticle* G4CascadeInterface::target
private

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