Geant4
10.03
|
#include <G4ElementaryParticleCollider.hh>
Public Member Functions | |
G4ElementaryParticleCollider () | |
virtual | ~G4ElementaryParticleCollider () |
void | collide (G4InuclParticle *bullet, G4InuclParticle *target, G4CollisionOutput &output) |
void | setNucleusState (G4int a, G4int z) |
Public Member Functions inherited from G4CascadeColliderBase | |
G4CascadeColliderBase (const G4String &name, G4int verbose=0) | |
virtual | ~G4CascadeColliderBase () |
virtual void | rescatter (G4InuclParticle *, G4KineticTrackVector *, G4V3DNucleus *, G4CollisionOutput &) |
virtual void | setVerboseLevel (G4int verbose=0) |
Public Member Functions inherited from G4VCascadeCollider | |
G4VCascadeCollider (const G4String &name, G4int verbose=0) | |
virtual | ~G4VCascadeCollider () |
Private Member Functions | |
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 | generateSCMpionAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2) |
void | generateSCMmuonAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2) |
void | generateSCMpionNAbsorption (G4double etot_scm, G4InuclElementaryParticle *particle1, G4InuclElementaryParticle *particle2) |
G4bool | pionNucleonAbsorption (G4double ekin) const |
G4bool | splitQuasiDeuteron (G4int qdtype) |
void | fillOutgoingMasses () |
G4ElementaryParticleCollider (const G4ElementaryParticleCollider &) | |
G4ElementaryParticleCollider & | operator= (const G4ElementaryParticleCollider &) |
Private Attributes | |
G4CascadeFinalStateGenerator | fsGenerator |
std::vector < G4InuclElementaryParticle > | particles |
std::vector< G4LorentzVector > | scm_momentums |
std::vector< G4double > | modules |
std::vector< G4double > | masses |
std::vector< G4double > | masses2 |
std::vector< G4int > | particle_kinds |
G4int | nucleusA |
G4int | nucleusZ |
Additional Inherited Members | |
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) |
Protected Attributes inherited from G4CascadeColliderBase | |
G4InteractionCase | interCase |
G4CascadeCheckBalance * | balance |
Protected Attributes inherited from G4VCascadeCollider | |
G4String | theName |
G4int | verboseLevel |
Definition at line 74 of file G4ElementaryParticleCollider.hh.
G4ElementaryParticleCollider::G4ElementaryParticleCollider | ( | ) |
Definition at line 138 of file G4ElementaryParticleCollider.cc.
|
inlinevirtual |
Definition at line 77 of file G4ElementaryParticleCollider.hh.
|
private |
|
virtual |
Implements G4VCascadeCollider.
Definition at line 144 of file G4ElementaryParticleCollider.cc.
References G4CollisionOutput::addOutgoingParticles(), G4LorentzConvertor::backToTheLab(), G4cerr, G4cout, G4endl, generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), generateSCMpionNAbsorption(), G4InuclParticle::getDefinition(), G4LorentzConvertor::getKinEnergyInTheTRS(), G4InuclParticle::getMomModule(), G4ParticleDefinition::GetParticleName(), 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(), and G4NucleiModel::generateParticleFate().
|
private |
Definition at line 384 of file G4ElementaryParticleCollider.cc.
References G4InuclElementaryParticle::getParticleMass(), masses, masses2, and particle_kinds.
Referenced by generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
Definition at line 269 of file G4ElementaryParticleCollider.cc.
References G4cerr, G4cout, G4endl, G4CascadeChannel::getMultiplicity(), G4CascadeChannelTables::GetTable(), and G4VCascadeCollider::verboseLevel.
Referenced by generateSCMfinalState().
|
private |
Definition at line 292 of file G4ElementaryParticleCollider.cc.
References G4cerr, G4endl, G4CascadeChannel::getOutgoingParticleTypes(), G4CascadeChannelTables::GetTable(), and particle_kinds.
Referenced by generateSCMfinalState().
|
private |
Definition at line 311 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 446 of file G4ElementaryParticleCollider.cc.
References G4InuclParticle::EPCollider, fillOutgoingMasses(), G4cerr, G4cout, G4endl, G4InuclParticle::getDefinition(), G4ParticleDefinition::GetParticleName(), G4GDecay3::GetThreeBodyMomenta(), masses, G4InuclParticleNames::mnu, G4InuclParticleNames::muonMinus, particle_kinds, particles, scm_momentums, splitQuasiDeuteron(), G4InuclElementaryParticle::type(), G4NucleiModel::useQuasiDeuteron(), and G4VCascadeCollider::verboseLevel.
Referenced by collide().
|
private |
Definition at line 401 of file G4ElementaryParticleCollider.cc.
References a, G4InuclParticle::EPCollider, fillOutgoingMasses(), G4cerr, G4cout, G4endl, G4InuclSpecialFunctions::generateWithRandomAngles(), G4InuclParticle::getDefinition(), G4ParticleDefinition::GetParticleName(), masses, masses2, particle_kinds, particles, splitQuasiDeuteron(), G4InuclElementaryParticle::type(), G4NucleiModel::useQuasiDeuteron(), and G4VCascadeCollider::verboseLevel.
Referenced by collide().
|
private |
Definition at line 504 of file G4ElementaryParticleCollider.cc.
References a, G4InuclParticle::EPCollider, fillOutgoingMasses(), G4cerr, G4cout, G4endl, G4InuclSpecialFunctions::generateWithRandomAngles(), G4InuclParticle::getDefinition(), G4InuclParticle::getMomentum(), G4InuclNuclei::getNucleiMass(), G4ParticleDefinition::GetParticleName(), masses, masses2, G4InuclParticleNames::neu, G4InuclElementaryParticle::nucleon(), nucleusA, nucleusZ, particle_kinds, particles, G4InuclParticleNames::pim, G4InuclParticleNames::pip, G4InuclParticleNames::pro, G4InuclElementaryParticle::type(), and G4VCascadeCollider::verboseLevel.
Referenced by collide().
|
private |
Definition at line 574 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().
Definition at line 82 of file G4ElementaryParticleCollider.hh.
References a, nucleusA, and nucleusZ.
Referenced by G4NucleiModel::generateParticleFate().
Definition at line 594 of file G4ElementaryParticleCollider.cc.
References G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, G4cerr, G4endl, particle_kinds, and G4InuclParticleNames::unboundPN.
Referenced by generateSCMmuonAbsorption(), and generateSCMpionAbsorption().
|
private |
Definition at line 117 of file G4ElementaryParticleCollider.hh.
Referenced by generateSCMfinalState().
|
private |
Definition at line 123 of file G4ElementaryParticleCollider.hh.
Referenced by fillOutgoingMasses(), generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
|
private |
Definition at line 124 of file G4ElementaryParticleCollider.hh.
Referenced by fillOutgoingMasses(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
|
private |
Definition at line 122 of file G4ElementaryParticleCollider.hh.
|
private |
Definition at line 128 of file G4ElementaryParticleCollider.hh.
Referenced by generateSCMpionNAbsorption(), and setNucleusState().
|
private |
Definition at line 128 of file G4ElementaryParticleCollider.hh.
Referenced by generateSCMpionNAbsorption(), and setNucleusState().
|
private |
Definition at line 125 of file G4ElementaryParticleCollider.hh.
Referenced by fillOutgoingMasses(), generateOutgoingPartTypes(), generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), generateSCMpionNAbsorption(), and splitQuasiDeuteron().
|
private |
Definition at line 120 of file G4ElementaryParticleCollider.hh.
Referenced by collide(), generateSCMfinalState(), generateSCMmuonAbsorption(), generateSCMpionAbsorption(), and generateSCMpionNAbsorption().
|
private |
Definition at line 121 of file G4ElementaryParticleCollider.hh.
Referenced by generateSCMfinalState(), and generateSCMmuonAbsorption().