Geant4-11
|
#include <G4ElementaryParticleCollider.hh>
Public Member Functions | |
void | collide (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output) |
G4ElementaryParticleCollider () | |
virtual void | rescatter (G4InuclParticle *, G4KineticTrackVector *, G4V3DNucleus *, G4CollisionOutput &) |
void | setNucleusState (G4int a, G4int z) |
virtual void | setVerboseLevel (G4int verbose=0) |
virtual | ~G4ElementaryParticleCollider () |
Protected Member Functions | |
virtual G4bool | inelasticInteractionPossible (G4InuclParticle *bullet, G4InuclParticle *target, G4double ekin) const |
virtual void | setName (const G4String &name) |
virtual G4bool | useEPCollider (G4InuclParticle *bullet, G4InuclParticle *target) const |
virtual G4bool | validateOutput (const G4Fragment &fragment, G4CollisionOutput &output) |
virtual G4bool | validateOutput (G4InuclParticle *bullet, G4InuclParticle *target, const std::vector< G4InuclElementaryParticle > &particles) |
virtual G4bool | validateOutput (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output) |
Protected Attributes | |
G4CascadeCheckBalance * | balance |
G4InteractionCase | interCase |
G4String | theName |
G4int | verboseLevel |
Private Member Functions | |
void | fillOutgoingMasses () |
G4ElementaryParticleCollider (const G4ElementaryParticleCollider &) | |
G4int | generateMultiplicity (G4int is, G4double ekin) const |
void | generateOutgoingPartTypes (G4int is, G4int mult, G4double ekin) |
void | generateSCMfinalState (G4double ekin, G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2) |
void | generateSCMmuonAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2) |
void | generateSCMpionAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2) |
void | generateSCMpionNAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2) |
G4ElementaryParticleCollider & | operator= (const G4ElementaryParticleCollider &) |
G4bool | pionNucleonAbsorption (G4double ekin) const |
Private Attributes | |
G4CascadeFinalStateGenerator | fsGenerator |
std::vector< G4double > | masses |
std::vector< G4double > | masses2 |
std::vector< G4double > | modules |
G4int | nucleusA |
G4int | nucleusZ |
std::vector< G4int > | particle_kinds |
std::vector< G4InuclElementaryParticle > | particles |
std::vector< G4LorentzVector > | scm_momentums |
Definition at line 73 of file G4ElementaryParticleCollider.hh.
G4ElementaryParticleCollider::G4ElementaryParticleCollider | ( | ) |
Definition at line 137 of file G4ElementaryParticleCollider.cc.
|
inlinevirtual |
Definition at line 76 of file G4ElementaryParticleCollider.hh.
|
private |
|
virtual |
Implements G4VCascadeCollider.
Definition at line 143 of file G4ElementaryParticleCollider.cc.
References G4CollisionOutput::addOutgoingParticles(), G4LorentzConvertor::backToTheLab(), G4cerr, G4cout, G4endl, generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), generateSCMpionNAbsorption(), G4ParticleDefinition::GetAntiQuarkContent(), G4ParticleDefinition::GetBaryonNumber(), G4InuclParticle::getCharge(), G4InuclParticle::getDefinition(), G4LorentzConvertor::getKinEnergyInTheTRS(), G4InuclParticle::getMomModule(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetQuarkContent(), G4CascadeChannelTables::GetTable(), G4LorentzConvertor::getTotalSCMEnergy(), G4InteractionCase::hadrons(), G4CascadeColliderBase::interCase, G4InuclElementaryParticle::isMuon(), G4InuclElementaryParticle::isNeutrino(), G4InuclElementaryParticle::nucleon(), particles, pionNucleonAbsorption(), G4CascadeChannelTables::Print(), G4InuclElementaryParticle::quasi_deutron(), G4InteractionCase::set(), G4LorentzConvertor::setBullet(), G4LorentzConvertor::setTarget(), G4LorentzConvertor::setVerbose(), G4LorentzConvertor::toTheCenterOfMass(), G4InuclElementaryParticle::type(), G4CascadeColliderBase::useEPCollider(), G4NucleiModel::useQuasiDeuteron(), G4CascadeColliderBase::validateOutput(), and G4VCascadeCollider::verboseLevel.
Referenced by G4InuclCollider::collide(), G4LightTargetCollider::collide(), and G4NucleiModel::generateParticleFate().
|
private |
Definition at line 425 of file G4ElementaryParticleCollider.cc.
References G4InuclElementaryParticle::getParticleMass(), masses, masses2, and particle_kinds.
Referenced by generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
Definition at line 310 of file G4ElementaryParticleCollider.cc.
References G4cerr, G4cout, G4endl, G4CascadeChannel::getMultiplicity(), G4CascadeChannelTables::GetTable(), and G4VCascadeCollider::verboseLevel.
Referenced by generateSCMfinalState().
|
private |
Definition at line 333 of file G4ElementaryParticleCollider.cc.
References G4cerr, G4endl, G4CascadeChannel::getOutgoingParticleTypes(), G4CascadeChannelTables::GetTable(), and particle_kinds.
Referenced by generateSCMfinalState().
|
private |
Definition at line 352 of file G4ElementaryParticleCollider.cc.
References G4CascadeFinalStateGenerator::Configure(), G4InuclParticle::EPCollider, fillOutgoingMasses(), fsGenerator, G4cout, G4endl, G4INCL::PhaseSpaceGenerator::generate(), G4HadDecayGenerator::Generate(), generateMultiplicity(), generateOutgoingPartTypes(), masses, particle_kinds, particles, scm_momentums, G4HadDecayGenerator::SetVerboseLevel(), G4InuclElementaryParticle::type(), and G4VCascadeCollider::verboseLevel.
Referenced by collide().
|
private |
Definition at line 499 of file G4ElementaryParticleCollider.cc.
References G4InuclParticleNames::diproton, G4InuclParticle::EPCollider, fillOutgoingMasses(), G4cerr, G4cout, G4endl, G4InuclParticle::getDefinition(), G4ParticleDefinition::GetParticleName(), G4GDecay3::GetThreeBodyMomenta(), masses, G4InuclParticleNames::mnu, G4InuclParticleNames::mum, G4InuclParticleNames::neu, particle_kinds, particles, G4InuclParticleNames::pro, scm_momentums, G4InuclElementaryParticle::type(), G4InuclParticleNames::unboundPN, and G4VCascadeCollider::verboseLevel.
Referenced by collide().
|
private |
Definition at line 442 of file G4ElementaryParticleCollider.cc.
References G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, G4InuclParticle::EPCollider, fillOutgoingMasses(), G4cerr, G4cout, G4endl, G4InuclParticleNames::gam, G4InuclSpecialFunctions::generateWithRandomAngles(), G4InuclParticle::getDefinition(), G4ParticleDefinition::GetParticleName(), masses, masses2, G4InuclParticleNames::neu, particle_kinds, particles, G4InuclParticleNames::pi0, G4InuclParticleNames::pim, G4InuclParticleNames::pip, G4InuclParticleNames::pro, CLHEP::HepLorentzVector::setVectM(), G4InuclElementaryParticle::type(), G4InuclParticleNames::unboundPN, CLHEP::HepLorentzVector::vect(), and G4VCascadeCollider::verboseLevel.
Referenced by collide().
|
private |
Definition at line 557 of file G4ElementaryParticleCollider.cc.
References CLHEP::HepLorentzVector::boost(), CLHEP::HepLorentzVector::boostVector(), CLHEP::HepLorentzVector::e(), G4InuclParticle::EPCollider, fillOutgoingMasses(), G4cerr, G4cout, G4endl, G4InuclSpecialFunctions::generateWithRandomAngles(), G4InuclParticle::getDefinition(), G4InuclParticle::getMomentum(), G4InuclNuclei::getNucleiMass(), G4ParticleDefinition::GetParticleName(), CLHEP::HepLorentzVector::m2(), masses, masses2, G4InuclParticleNames::neu, G4InuclElementaryParticle::nucleon(), nucleusA, nucleusZ, particle_kinds, particles, G4InuclParticleNames::pim, G4InuclParticleNames::pip, G4InuclParticleNames::pro, CLHEP::HepLorentzVector::rho(), G4InuclElementaryParticle::type(), and G4VCascadeCollider::verboseLevel.
Referenced by collide().
|
protectedvirtualinherited |
Definition at line 85 of file G4CascadeColliderBase.cc.
References ab, G4InuclSpecialFunctions::G4cbrt(), G4cout, G4endl, G4InuclNuclei::getA(), G4InuclParticle::getCharge(), G4InuclNuclei::getZ(), G4VCascadeCollider::theName, G4CascadeColliderBase::useEPCollider(), and G4VCascadeCollider::verboseLevel.
Referenced by G4InuclCollider::collide().
|
private |
Definition at line 626 of file G4ElementaryParticleCollider.cc.
References G4cout, G4endl, G4UniformRand, G4InteractionCase::hadrons(), G4CascadeColliderBase::interCase, G4InuclParticleNames::neu, G4InuclParticleNames::pim, G4CascadeParameters::piNAbsorption(), G4InuclParticleNames::pip, G4InuclParticleNames::pro, and G4VCascadeCollider::verboseLevel.
Referenced by collide().
|
inlinevirtualinherited |
Reimplemented in G4IntraNucleiCascader, and G4InuclCollider.
Definition at line 68 of file G4CascadeColliderBase.hh.
|
inlineprotectedvirtualinherited |
Definition at line 55 of file G4VCascadeCollider.hh.
References G4InuclParticleNames::name(), and G4VCascadeCollider::theName.
Referenced by G4CascadeCheckBalance::setOwner().
Definition at line 81 of file G4ElementaryParticleCollider.hh.
References nucleusA, and nucleusZ.
Referenced by G4NucleiModel::generateParticleFate().
|
virtualinherited |
Reimplemented from G4VCascadeCollider.
Reimplemented in G4IntraNucleiCascader, G4InuclCollider, and G4LightTargetCollider.
Definition at line 67 of file G4CascadeColliderBase.cc.
References G4CascadeColliderBase::balance, and G4VCascadeCollider::setVerboseLevel().
Referenced by G4IntraNucleiCascader::setVerboseLevel(), G4InuclCollider::setVerboseLevel(), and G4LightTargetCollider::setVerboseLevel().
|
protectedvirtualinherited |
Definition at line 75 of file G4CascadeColliderBase.cc.
Referenced by G4InuclCollider::collide(), collide(), and G4CascadeColliderBase::inelasticInteractionPossible().
|
protectedvirtualinherited |
Definition at line 139 of file G4CascadeColliderBase.cc.
References G4CascadeColliderBase::balance, G4CascadeCheckBalance::collide(), G4cout, G4endl, G4CascadeCheckBalance::okay(), G4VCascadeCollider::setVerboseLevel(), G4VCascadeCollider::theName, and G4VCascadeCollider::verboseLevel.
|
protectedvirtualinherited |
Definition at line 151 of file G4CascadeColliderBase.cc.
References G4CascadeColliderBase::balance, G4CascadeCheckBalance::collide(), G4cout, G4endl, G4CascadeCheckBalance::okay(), G4VCascadeCollider::setVerboseLevel(), G4VCascadeCollider::theName, and G4VCascadeCollider::verboseLevel.
|
protectedvirtualinherited |
Definition at line 123 of file G4CascadeColliderBase.cc.
References G4CascadeColliderBase::balance, G4CascadeCheckBalance::collide(), G4cout, G4endl, G4CascadeCheckBalance::okay(), G4CollisionOutput::printCollisionOutput(), G4VCascadeCollider::setVerboseLevel(), G4VCascadeCollider::theName, and G4VCascadeCollider::verboseLevel.
Referenced by collide(), and G4InuclCollider::deexcite().
|
protectedinherited |
Definition at line 88 of file G4CascadeColliderBase.hh.
Referenced by G4CascadeColliderBase::G4CascadeColliderBase(), G4CascadeColliderBase::setVerboseLevel(), G4CascadeColliderBase::validateOutput(), and G4CascadeColliderBase::~G4CascadeColliderBase().
|
private |
Definition at line 114 of file G4ElementaryParticleCollider.hh.
Referenced by generateSCMfinalState().
|
protectedinherited |
Definition at line 76 of file G4CascadeColliderBase.hh.
Referenced by G4InuclCollider::collide(), collide(), G4IntraNucleiCascader::finishCascade(), G4IntraNucleiCascader::generateCascade(), G4IntraNucleiCascader::initialize(), G4IntraNucleiCascader::newCascade(), G4InuclCollider::photonuclearOkay(), pionNucleonAbsorption(), and G4IntraNucleiCascader::setupCascade().
|
private |
Definition at line 120 of file G4ElementaryParticleCollider.hh.
Referenced by fillOutgoingMasses(), generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
|
private |
Definition at line 121 of file G4ElementaryParticleCollider.hh.
Referenced by fillOutgoingMasses(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
|
private |
Definition at line 119 of file G4ElementaryParticleCollider.hh.
|
private |
Definition at line 125 of file G4ElementaryParticleCollider.hh.
Referenced by generateSCMpionNAbsorption(), and setNucleusState().
|
private |
Definition at line 125 of file G4ElementaryParticleCollider.hh.
Referenced by generateSCMpionNAbsorption(), and setNucleusState().
|
private |
Definition at line 122 of file G4ElementaryParticleCollider.hh.
Referenced by fillOutgoingMasses(), generateOutgoingPartTypes(), generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
|
private |
Definition at line 117 of file G4ElementaryParticleCollider.hh.
Referenced by collide(), generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
|
private |
Definition at line 118 of file G4ElementaryParticleCollider.hh.
Referenced by generateSCMfinalState(), and generateSCMmuonAbsorption().
|
protectedinherited |
Definition at line 52 of file G4VCascadeCollider.hh.
Referenced by G4CascadeCheckBalance::baryonOkay(), G4CascadeCheckBalance::chargeOkay(), G4VCascadeDeexcitation::collide(), G4CascadeCheckBalance::collide(), G4CascadeCheckBalance::ekinOkay(), G4CascadeCheckBalance::energyOkay(), G4CascadeDeexciteBase::explosion(), G4CascadeRecoilMaker::G4CascadeRecoilMaker(), G4VCascadeCollider::G4VCascadeCollider(), G4CascadeColliderBase::inelasticInteractionPossible(), G4CascadeDeexciteBase::makeFragment(), G4CascadeRecoilMaker::makeRecoilFragment(), G4CascadeRecoilMaker::makeRecoilNuclei(), G4CascadeCheckBalance::momentumOkay(), G4VCascadeCollider::setName(), G4CascadeCheckBalance::strangeOkay(), G4CascadeDeexciteBase::validateOutput(), and G4CascadeColliderBase::validateOutput().
|
protectedinherited |
Definition at line 53 of file G4VCascadeCollider.hh.
Referenced by G4CascadeCheckBalance::baryonOkay(), G4CascadeCheckBalance::chargeOkay(), G4IntraNucleiCascader::collide(), G4InuclCollider::collide(), G4LightTargetCollider::collide(), G4VCascadeDeexcitation::collide(), G4CascadeCheckBalance::collide(), G4CascadeRecoilMaker::collide(), collide(), G4IntraNucleiCascader::copySecondaries(), G4IntraNucleiCascader::copyWoundedNucleus(), G4IntraNucleiCascader::decayTrappedParticle(), G4CascadeDeexcitation::deExcite(), G4InuclCollider::deexcite(), G4PreCompoundDeexcitation::deExcite(), G4BigBanger::deExcite(), G4EquilibriumEvaporator::deExcite(), G4EvaporationInuclCollider::deExcite(), G4Fissioner::deExcite(), G4NonEquilibriumEvaporator::deExcite(), G4CascadeCheckBalance::ekinOkay(), G4CascadeCheckBalance::energyOkay(), G4EquilibriumEvaporator::explosion(), G4CascadeDeexciteBase::explosion(), G4CascadeRecoilMaker::fillRecoil(), G4IntraNucleiCascader::finalize(), G4IntraNucleiCascader::finishCascade(), G4VCascadeCollider::G4VCascadeCollider(), G4BigBanger::generateBangInSCM(), G4IntraNucleiCascader::generateCascade(), G4BigBanger::generateMomentumModules(), generateMultiplicity(), generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), generateSCMpionNAbsorption(), G4BigBanger::generateX(), G4EquilibriumEvaporator::getAF(), G4Fissioner::getC2(), G4EquilibriumEvaporator::getE0(), G4NonEquilibriumEvaporator::getE0(), G4NonEquilibriumEvaporator::getMatrixElement(), G4NonEquilibriumEvaporator::getParLev(), G4EquilibriumEvaporator::getPARLEVDEN(), G4EquilibriumEvaporator::getQF(), G4Fissioner::getZopt(), G4CascadeRecoilMaker::goodNucleus(), G4EquilibriumEvaporator::goodRemnant(), G4CascadeColliderBase::inelasticInteractionPossible(), G4IntraNucleiCascader::initialize(), G4CascadeDeexciteBase::makeFragment(), G4CascadeRecoilMaker::makeRecoilFragment(), G4CascadeRecoilMaker::makeRecoilNuclei(), G4BigBanger::maxProbability(), G4CascadeCheckBalance::momentumOkay(), G4IntraNucleiCascader::newCascade(), G4InuclCollider::photonuclearOkay(), pionNucleonAbsorption(), G4Fissioner::potentialMinimization(), G4IntraNucleiCascader::preloadCascade(), G4IntraNucleiCascader::processSecondary(), G4IntraNucleiCascader::processTrappedParticle(), G4IntraNucleiCascader::releaseSecondary(), G4IntraNucleiCascader::rescatter(), G4InuclCollider::rescatter(), G4IntraNucleiCascader::setupCascade(), G4InuclCollider::setVerboseLevel(), G4LightTargetCollider::setVerboseLevel(), G4VCascadeCollider::setVerboseLevel(), G4CascadeCheckBalance::strangeOkay(), G4InuclCollider::useCascadeDeexcitation(), G4InuclCollider::usePreCompoundDeexcitation(), G4CascadeDeexciteBase::validateOutput(), G4CascadeColliderBase::validateOutput(), G4CascadeRecoilMaker::wholeEvent(), and G4BigBanger::xProbability().