ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4CascadeInterface Class Reference

#include <geant4/tree/geant4-10.6-release/source/processes/hadronic/models/cascade/cascade/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

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

Private Attributes

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

Additional Inherited Members

- Protected Attributes inherited from G4VIntraNuclearTransportModel
G4String theTransportModelName
 
G4V3DNucleusthe3DNucleus
 
G4VPreCompoundModeltheDeExcitation
 
const G4HadProjectilethePrimaryProjectile
 

Detailed Description

Definition at line 88 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 88 of file G4CascadeInterface.hh

Constructor & Destructor Documentation

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

Definition at line 146 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub 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 167 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 167 of file G4CascadeInterface.cc

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

+ Here is the call graph for this function:

G4CascadeInterface::G4CascadeInterface ( const G4CascadeInterface )
private

Member Function Documentation

G4HadFinalState * G4CascadeInterface::ApplyYourself ( const G4HadProjectile aTrack,
G4Nucleus theNucleus 
)
virtual
void G4CascadeInterface::checkFinalResult ( )
protected

Definition at line 648 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 648 of file G4CascadeInterface.cc

References kdfinder::abs(), balance, G4CascadeCheckBalance::baryonOkay(), bullet, G4CascadeCheckBalance::chargeOkay(), G4CascadeCheckBalance::collide(), G4CascadeCheckBalance::deltaB(), G4CascadeCheckBalance::deltaE(), G4CascadeCheckBalance::deltaKE(), G4CascadeCheckBalance::deltaQ(), G4cerr, G4cout, G4endl, G4InuclParticle::getEnergy(), GeV, output, 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 193 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 193 of file G4CascadeInterface.cc

References bullet.

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

+ Here is the caller graph for this function:

void G4CascadeInterface::copyOutputToHadronicResult ( )
protected

Definition at line 579 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 579 of file G4CascadeInterface.cc

References G4HadFinalState::AddSecondary(), G4cout, G4endl, G4CollisionOutput::getOutgoingNuclei(), G4CollisionOutput::getOutgoingParticles(), ipart, 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 606 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 606 of file G4CascadeInterface.cc

References G4cout, G4endl, G4CollisionOutput::getOutgoingNuclei(), G4CollisionOutput::getOutgoingParticles(), ipart, 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 684 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 684 of file G4CascadeInterface.cc

References G4CollisionOutput::getOutgoingParticles(), GeV, ipart, 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 464 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 464 of file G4CascadeInterface.cc

References bullet, CLHEP::HepLorentzVector::e(), G4InuclElementaryParticle::fill(), G4InuclNuclei::fill(), G4cerr, G4cout, G4endl, G4HadProjectile::Get4Momentum(), G4ParticleDefinition::GetAtomicMass(), G4ParticleDefinition::GetAtomicNumber(), G4HadProjectile::GetDefinition(), G4ParticleDefinition::GetParticleName(), GeV, hadronBullet, nucleusBullet, CLHEP::HepLorentzVector::rho(), 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 515 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 515 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 519 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 519 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 523 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 523 of file G4CascadeInterface.cc

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

+ Here is the call graph for this function:

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

Definition at line 189 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 189 of file G4CascadeInterface.cc

References G4CascadeParameters::DumpConfiguration().

+ Here is the call graph for this function:

void G4CascadeInterface::Initialize ( )
static

Definition at line 201 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 201 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 234 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 234 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 239 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 239 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 541 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 541 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(), G4InuclElementaryParticle::type(), CLHEP::Hep3Vector::unit(), and CLHEP::HepLorentzVector::vect().

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 567 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 567 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 175 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 175 of file G4CascadeInterface.cc

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

Definition at line 447 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 447 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:

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

Definition at line 158 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 158 of file G4CascadeInterface.hh

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

Definition at line 154 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 154 of file G4CascadeInterface.hh

G4bool G4CascadeInterface::retryInelasticNucleus ( ) const
protected

Definition at line 735 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 735 of file G4CascadeInterface.cc

References balance, bullet, coulombBarrierViolation(), G4cout, G4endl, G4InuclParticle::getDefinition(), G4CollisionOutput::getOutgoingParticles(), maximumTries, npart, 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 703 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 703 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 224 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 224 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 784 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 784 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(), and G4CascadeCheckBalance::relativeP().

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 213 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 213 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 217 of file G4CascadeInterface.cc.

View newest version in sPHENIX GitHub at line 217 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

G4CascadeCheckBalance* G4CascadeInterface::balance
private
G4InuclParticle* G4CascadeInterface::bullet
private
G4InuclCollider* G4CascadeInterface::collider
private

Definition at line 167 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 167 of file G4CascadeInterface.hh

Referenced by ApplyYourself(), Propagate(), SetVerboseLevel(), useCascadeDeexcitation(), usePreCompoundDeexcitation(), and ~G4CascadeInterface().

G4InuclElementaryParticle G4CascadeInterface::hadronBullet
private

Definition at line 177 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 177 of file G4CascadeInterface.hh

Referenced by createBullet().

G4InuclElementaryParticle G4CascadeInterface::hadronTarget
private

Definition at line 180 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 180 of file G4CascadeInterface.hh

Referenced by createTarget().

G4LightTargetCollider* G4CascadeInterface::ltcollider
private

Definition at line 170 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 170 of file G4CascadeInterface.hh

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

const G4int G4CascadeInterface::maximumTries
private

Definition at line 163 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 163 of file G4CascadeInterface.hh

Referenced by ApplyYourself(), Propagate(), retryInelasticNucleus(), and retryInelasticProton().

G4InuclNuclei G4CascadeInterface::nucleusBullet
private

Definition at line 178 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 178 of file G4CascadeInterface.hh

Referenced by createBullet().

G4InuclNuclei G4CascadeInterface::nucleusTarget
private

Definition at line 181 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 181 of file G4CascadeInterface.hh

Referenced by createTarget().

G4int G4CascadeInterface::numberOfTries
private

Definition at line 165 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 165 of file G4CascadeInterface.hh

Referenced by ApplyYourself(), Propagate(), retryInelasticNucleus(), retryInelasticProton(), and throwNonConservationFailure().

const G4String G4CascadeInterface::randomFile
private

Definition at line 162 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 162 of file G4CascadeInterface.hh

Referenced by ApplyYourself(), and Propagate().

G4InuclParticle* G4CascadeInterface::target
private

Definition at line 173 of file G4CascadeInterface.hh.

View newest version in sPHENIX GitHub at line 173 of file G4CascadeInterface.hh


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