Geant4.10
|
#include <G4NucleiModel.hh>
Public Types | |
typedef std::pair< std::vector < G4CascadParticle > , std::vector < G4InuclElementaryParticle > > | modelLists |
Static Public Member Functions | |
static G4bool | useQuasiDeuteron (G4int ptype, G4int qdtype=0) |
Protected Types | |
typedef std::pair < G4InuclElementaryParticle, G4double > | partner |
Static Protected Member Functions | |
static G4bool | sortPartners (const partner &p1, const partner &p2) |
Protected Attributes | |
std::vector< partner > | thePartners |
Definition at line 91 of file G4NucleiModel.hh.
typedef std::pair<std::vector<G4CascadParticle>, std::vector<G4InuclElementaryParticle> > G4NucleiModel::modelLists |
Definition at line 161 of file G4NucleiModel.hh.
|
protected |
Definition at line 203 of file G4NucleiModel.hh.
G4NucleiModel::G4NucleiModel | ( | ) |
Definition at line 252 of file G4NucleiModel.cc.
Definition at line 259 of file G4NucleiModel.cc.
References generateModel().
|
explicit |
Definition at line 268 of file G4NucleiModel.cc.
References generateModel().
|
virtual |
Definition at line 277 of file G4NucleiModel.cc.
Definition at line 1872 of file G4NucleiModel.cc.
References G4cerr, G4cout, G4endl, G4CascadeInterpolator< NBINS >::interpolate(), G4InuclParticleNames::muonMinus, photon, G4InuclParticleNames::pionMinus, G4InuclParticleNames::pionPlus, G4InuclParticleNames::pionZero, and useQuasiDeuteron().
Referenced by inverseMeanFreePath().
|
protected |
Definition at line 1097 of file G4NucleiModel.cc.
References CLHEP::Hep3Vector::dot(), CLHEP::HepLorentzVector::e(), G4cerr, G4cout, G4endl, G4CascadParticle::getCurrentZone(), G4CascadParticle::getMomentum(), G4CascadParticle::getParticle(), G4CascadParticle::getPosition(), getPotential(), G4CascadParticle::incrementReflectionCounter(), CLHEP::Hep3Vector::mag(), G4CascadParticle::movingInsideNuclei(), G4InuclParticleNames::pos, gammaraytel::pr, G4CascadParticle::resetReflection(), CLHEP::HepLorentzVector::setVect(), G4InuclElementaryParticle::type(), G4CascadParticle::updateParticleMomentum(), G4CascadParticle::updateZone(), CLHEP::HepLorentzVector::vect(), CLHEP::Hep3Vector::x(), CLHEP::Hep3Vector::y(), and CLHEP::Hep3Vector::z().
Referenced by generateParticleFate().
|
protected |
Definition at line 1163 of file G4NucleiModel.cc.
References CLHEP::Hep3Vector::angle(), CLHEP::Hep3Vector::cross(), python.hepunit::deg, G4cout, G4endl, G4Exp(), G4UniformRand, G4CascadParticle::getCurrentZone(), G4CascadParticle::getMomentum(), G4CascadParticle::getPosition(), getZone(), inverseMeanFreePath(), iz, CLHEP::Hep3Vector::mag(), CLHEP::Hep3Vector::mag2(), python.hepunit::pi, G4InuclParticleNames::pos, CLHEP::Hep3Vector::rotate(), CLHEP::Hep3Vector::set(), CLHEP::Hep3Vector::unit(), G4CascadParticle::updatePosition(), G4CascadParticle::updateZone(), and CLHEP::HepLorentzVector::vect().
Referenced by initializeCascad().
|
inline |
Definition at line 150 of file G4NucleiModel.hh.
|
protected |
Definition at line 377 of file G4NucleiModel.cc.
References G4InuclSpecialFunctions::bindingEnergy(), G4cout, G4endl, and python.hepunit::GeV.
Referenced by generateModel().
Definition at line 466 of file G4NucleiModel.cc.
References G4InuclSpecialFunctions::G4cbrt(), G4cout, G4endl, G4InuclElementaryParticle::getParticleMass(), neutron, and G4InuclParticleNames::proton.
Referenced by generateModel().
Definition at line 391 of file G4NucleiModel.cc.
References G4cout, G4endl, G4Exp(), and G4Log().
Referenced by generateModel().
Definition at line 431 of file G4NucleiModel.cc.
References G4cout, G4endl, zoneIntegralGaussian(), and zoneIntegralWoodsSaxon().
Referenced by generateModel().
G4bool G4NucleiModel::forceFirst | ( | const G4CascadParticle & | cparticle | ) | const |
Definition at line 1289 of file G4NucleiModel.cc.
References G4CascadParticle::getParticle(), G4InuclElementaryParticle::isMuon(), G4InuclElementaryParticle::isPhoton(), and isProjectile().
Referenced by generateInteractionLength(), and initializeCascad().
|
protected |
Definition at line 1840 of file G4NucleiModel.cc.
References forceFirst(), G4cout, G4endl, G4Exp(), G4Log(), G4InuclSpecialFunctions::inuclRndm(), and G4CascadParticle::young().
Referenced by generateInteractionPartners().
|
protected |
Definition at line 681 of file G4NucleiModel.cc.
References G4cerr, G4cout, G4endl, generateInteractionLength(), generateNucleon(), generateQuasiDeuteron(), G4CascadParticle::getCurrentZone(), G4CascadParticle::getMomentum(), G4CascadParticle::getParticle(), G4CascadParticle::getPathToTheNextZone(), G4InuclSpecialFunctions::inuclRndm(), inverseMeanFreePath(), isProjectile(), CLHEP::Hep3Vector::mag(), G4InuclParticleNames::mum, G4InuclParticleNames::muonMinus, G4InuclParticleNames::neu, neutron, G4InuclParticleNames::pim, G4InuclParticleNames::pip, G4InuclParticleNames::pro, G4InuclParticleNames::proton, sort(), sortPartners(), thePartners, G4InuclElementaryParticle::type(), useQuasiDeuteron(), and CLHEP::HepLorentzVector::vect().
Referenced by generateParticleFate().
void G4NucleiModel::generateModel | ( | G4InuclNuclei * | nuclei | ) |
Definition at line 298 of file G4NucleiModel.cc.
References G4InuclNuclei::getA(), and G4InuclNuclei::getZ().
Referenced by G4NucleiModel().
Definition at line 302 of file G4NucleiModel.cc.
References test::a, fillBindingEnergies(), fillPotentials(), fillZoneRadii(), fillZoneVolumes(), G4InuclSpecialFunctions::G4cbrt(), G4cout, G4endl, neutron, printModel(), G4InuclParticleNames::proton, reset(), and z.
G4InuclElementaryParticle G4NucleiModel::generateNucleon | ( | G4int | type, |
G4int | zone | ||
) | const |
Definition at line 644 of file G4NucleiModel.cc.
References G4cout, G4endl, and generateNucleonMomentum().
Referenced by generateInteractionPartners().
G4LorentzVector G4NucleiModel::generateNucleonMomentum | ( | G4int | type, |
G4int | zone | ||
) | const |
Definition at line 635 of file G4NucleiModel.cc.
References G4InuclSpecialFunctions::G4cbrt(), G4InuclSpecialFunctions::generateWithRandomAngles(), getFermiMomentum(), G4InuclElementaryParticle::getParticleMass(), and G4InuclSpecialFunctions::inuclRndm().
Referenced by generateNucleon(), and generateQuasiDeuteron().
void G4NucleiModel::generateParticleFate | ( | G4CascadParticle & | cparticle, |
G4ElementaryParticleCollider * | theEPCollider, | ||
std::vector< G4CascadParticle > & | cascade | ||
) |
Definition at line 852 of file G4NucleiModel.cc.
References boundaryTransition(), G4ElementaryParticleCollider::collide(), G4CascadeCheckBalance::collide(), G4cerr, G4cout, G4endl, G4ThreadLocal, generateInteractionPartners(), G4InuclParticle::getCharge(), G4CascadParticle::getCurrentZone(), G4CascadParticle::getGeneration(), G4CollisionOutput::getOutgoingParticles(), G4CascadParticle::getParticle(), G4CascadParticle::getPosition(), G4CascadParticle::incrementCurrentPath(), G4InuclElementaryParticle::nucleon(), G4CollisionOutput::numberOfOutgoingParticles(), G4CascadeCheckBalance::okay(), passFermi(), passTrailing(), G4CollisionOutput::printCollisionOutput(), G4CascadParticle::propagateAlongThePath(), G4InuclElementaryParticle::quasi_deutron(), G4CollisionOutput::reset(), python.hepunit::second, G4VCascadeCollider::setVerboseLevel(), sort(), thePartners, G4InuclElementaryParticle::type(), and G4CascadParticle::updatePosition().
|
protected |
Definition at line 655 of file G4NucleiModel.cc.
References G4cout, G4endl, generateNucleonMomentum(), G4InuclParticleNames::neu, and G4InuclParticleNames::pro.
Referenced by generateInteractionPartners().
Definition at line 1348 of file G4NucleiModel.cc.
References G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, getDensity(), getRatio(), getVolume(), neutron, G4InuclParticleNames::proton, and G4InuclParticleNames::unboundPN.
Referenced by inverseMeanFreePath().
Definition at line 110 of file G4NucleiModel.hh.
Referenced by getCurrentDensity(), and printModel().
Definition at line 621 of file G4NucleiModel.cc.
References G4InuclElementaryParticle::getParticleMass().
Referenced by worthToPropagate().
Definition at line 114 of file G4NucleiModel.hh.
Referenced by generateNucleonMomentum(), and printModel().
|
inline |
Definition at line 147 of file G4NucleiModel.hh.
|
inline |
Definition at line 148 of file G4NucleiModel.hh.
|
inline |
Definition at line 141 of file G4NucleiModel.hh.
Definition at line 120 of file G4NucleiModel.hh.
Referenced by boundaryTransition(), and printModel().
|
inline |
Definition at line 131 of file G4NucleiModel.hh.
Definition at line 132 of file G4NucleiModel.hh.
|
inline |
Definition at line 129 of file G4NucleiModel.hh.
Definition at line 1331 of file G4NucleiModel.cc.
References G4InuclParticleNames::dineutron, G4InuclParticleNames::diproton, G4cout, G4endl, neutron, G4InuclParticleNames::proton, and G4InuclParticleNames::unboundPN.
Referenced by getCurrentDensity().
Definition at line 167 of file G4NucleiModel.hh.
Definition at line 136 of file G4NucleiModel.hh.
Referenced by getCurrentDensity().
Definition at line 142 of file G4NucleiModel.hh.
References iz.
Referenced by choosePointAlongTraj().
G4CascadParticle G4NucleiModel::initializeCascad | ( | G4InuclElementaryParticle * | particle | ) |
Definition at line 1376 of file G4NucleiModel.cc.
References choosePointAlongTraj(), forceFirst(), G4cout, G4endl, G4InuclSpecialFunctions::generateWithFixedTheta(), G4InuclParticle::getKineticEnergy(), G4InuclSpecialFunctions::inuclRndm(), and G4InuclParticleNames::pos.
void G4NucleiModel::initializeCascad | ( | G4InuclNuclei * | bullet, |
G4InuclNuclei * | target, | ||
modelLists & | output | ||
) |
Definition at line 1401 of file G4NucleiModel.cc.
References test::b, G4LorentzConvertor::backToTheLab(), G4InuclSpecialFunctions::bindingEnergy(), CLHEP::Hep3Vector::dot(), G4cout, G4endl, G4Exp(), G4Log(), G4InuclSpecialFunctions::generateWithRandomAngles(), G4InuclNuclei::getA(), G4InuclParticle::getEnergy(), G4InuclParticle::getKineticEnergy(), G4InuclParticle::getMass(), G4InuclNuclei::getZ(), python.hepunit::GeV, G4InuclSpecialFunctions::inuclRndm(), CLHEP::Hep3Vector::mag(), G4InuclSpecialFunctions::randomPHI(), CLHEP::HepLorentzVector::rho(), CLHEP::Hep3Vector::set(), CLHEP::HepLorentzVector::setE(), CLHEP::HepLorentzVector::setVect(), plottest35::t1, G4LorentzConvertor::toTheTargetRestFrame(), CLHEP::HepLorentzVector::vect(), test::x, z, and CLHEP::HepLorentzVector::z().
|
protected |
Definition at line 1801 of file G4NucleiModel.cc.
References absorptionCrossSection(), G4cout, G4endl, getCurrentDensity(), G4CascadParticle::getCurrentZone(), G4LorentzConvertor::getKinEnergyInTheTRS(), G4CascadParticle::getParticle(), G4InuclElementaryParticle::isNeutrino(), G4InuclParticleNames::muonMinus, neutron, G4LorentzConvertor::setBullet(), G4LorentzConvertor::setTarget(), totalCrossSection(), G4LorentzConvertor::toTheCenterOfMass(), and G4InuclElementaryParticle::type().
Referenced by choosePointAlongTraj(), and generateInteractionPartners().
G4bool G4NucleiModel::isProjectile | ( | const G4CascadParticle & | cparticle | ) | const |
Definition at line 1296 of file G4NucleiModel.cc.
References G4CascadParticle::getGeneration().
Referenced by forceFirst(), and generateInteractionPartners().
|
protected |
Definition at line 1051 of file G4NucleiModel.cc.
References G4cout, G4endl, and G4InuclParticleNames::nucleon().
Referenced by generateParticleFate().
|
protected |
Definition at line 1080 of file G4NucleiModel.cc.
References G4cout, and G4endl.
Referenced by generateParticleFate().
void G4NucleiModel::printModel | ( | ) | const |
Definition at line 599 of file G4NucleiModel.cc.
References G4cout, G4endl, getDensity(), getFermiMomentum(), and getPotential().
Referenced by generateModel().
void G4NucleiModel::reset | ( | G4int | nHitNeutrons = 0 , |
G4int | nHitProtons = 0 , |
||
const std::vector< G4ThreeVector > * | hitPoints = 0 |
||
) |
Definition at line 285 of file G4NucleiModel.cc.
Referenced by generateModel().
Definition at line 99 of file G4NucleiModel.hh.
|
inlinestaticprotected |
Definition at line 209 of file G4NucleiModel.hh.
Referenced by generateInteractionPartners().
|
inline |
Definition at line 1905 of file G4NucleiModel.cc.
References G4cerr, G4endl, G4CascadeChannel::getCrossSection(), and G4CascadeChannelTables::GetTable().
Referenced by inverseMeanFreePath().
Definition at line 1039 of file G4NucleiModel.cc.
References G4InuclParticleNames::gam, G4InuclParticleNames::mum, G4InuclParticleNames::nn, G4InuclParticleNames::pi0, G4InuclParticleNames::pim, G4InuclParticleNames::pip, G4InuclParticleNames::pn, and G4InuclParticleNames::pp.
Referenced by absorptionCrossSection(), G4ElementaryParticleCollider::collide(), and generateInteractionPartners().
G4bool G4NucleiModel::worthToPropagate | ( | const G4CascadParticle & | cparticle | ) | const |
Definition at line 1300 of file G4NucleiModel.cc.
References G4cout, G4endl, G4CascadParticle::getCurrentZone(), getFermiKinetic(), G4InuclParticle::getKineticEnergy(), G4CascadParticle::getParticle(), G4InuclElementaryParticle::nucleon(), G4CascadParticle::reflectedNow(), and G4InuclElementaryParticle::type().
|
protected |
Definition at line 551 of file G4NucleiModel.cc.
References G4cerr, G4cout, G4endl, and G4Exp().
Referenced by fillZoneVolumes().
|
protected |
Definition at line 498 of file G4NucleiModel.cc.
References G4cout, G4endl, G4Exp(), and G4Log().
Referenced by fillZoneVolumes().
|
protected |
Definition at line 205 of file G4NucleiModel.hh.
Referenced by generateInteractionPartners(), and generateParticleFate().