Geant4
10.00.p02
|
INCL++ intra-nuclear cascade. More...
#include <G4INCLXXInterface.hh>
Private Member Functions | |
G4bool | AccurateProjectile (const G4HadProjectile &aTrack, const G4Nucleus &theTargetNucleus) const |
G4INCLXXInterface (const G4INCLXXInterface &rhs) | |
Dummy copy constructor to shut up Coverity warnings. More... | |
G4INCLXXInterface & | operator= (G4INCLXXInterface const &rhs) |
Dummy assignment operator to shut up Coverity warnings. More... | |
G4INCL::ParticleType | toINCLParticleType (G4ParticleDefinition const *const) const |
Convert G4ParticleDefinition to corresponding INCL particle type. More... | |
G4INCL::ParticleSpecies | toINCLParticleSpecies (G4HadProjectile const &) const |
Convert G4HadProjectile to corresponding INCL particle species. More... | |
G4double | toINCLKineticEnergy (G4HadProjectile const &) const |
Convert G4HadProjectile to corresponding INCL particle kinetic energy. More... | |
G4DynamicParticle * | toG4Particle (G4int A, G4int Z, G4double kinE, G4double px, G4double py, G4double pz) const |
Convert an INCL particle to a G4DynamicParticle. More... | |
G4ParticleDefinition * | toG4ParticleDefinition (G4int A, G4int Z) const |
Convert A and Z to a G4ParticleDefinition. More... | |
G4double | remnant4MomentumScaling (G4double mass, G4double kineticE, G4double px, G4double py, G4double pz) const |
Rescale remnant momentum if necessary. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from G4VIntraNuclearTransportModel | |
G4V3DNucleus * | Get3DNucleus () const |
G4VPreCompoundModel * | GetDeExcitation () const |
const G4HadProjectile * | GetPrimaryProjectile () const |
Protected Member Functions inherited from G4HadronicInteraction | |
void | SetModelName (const G4String &nam) |
G4bool | IsBlocked () const |
void | Block () |
Protected Attributes inherited from G4VIntraNuclearTransportModel | |
G4String | theTransportModelName |
G4V3DNucleus * | the3DNucleus |
G4VPreCompoundModel * | theDeExcitation |
const G4HadProjectile * | thePrimaryProjectile |
Protected Attributes inherited from G4HadronicInteraction | |
G4HadFinalState | theParticleChange |
G4int | verboseLevel |
G4double | theMinEnergy |
G4double | theMaxEnergy |
G4bool | isBlocked |
INCL++ intra-nuclear cascade.
Interface for INCL++. This interface handles basic hadron bullet particles (protons, neutrons, pions), as well as light ions.
Example usage in case of protons:
The same setup procedure is needed for neutron, pion and generic-ion inelastic processes as well.
Definition at line 99 of file G4INCLXXInterface.hh.
G4INCLXXInterface::G4INCLXXInterface | ( | G4VPreCompoundModel *const | aPreCompound = 0 | ) |
Definition at line 53 of file G4INCLXXInterface.cc.
References dumpRemnantInfo, G4INCLXXInterfaceStore::EmitWarning(), G4HadronicInteractionRegistry::FindModel(), G4HadronicInteractionRegistry::Instance(), theBackupModel, theBackupModelNucleon, G4VIntraNuclearTransportModel::theDeExcitation, theInterfaceStore, and thePreCompoundModel.
G4INCLXXInterface::~G4INCLXXInterface | ( | ) |
Definition at line 92 of file G4INCLXXInterface.cc.
|
private |
Dummy copy constructor to shut up Coverity warnings.
|
private |
Definition at line 96 of file G4INCLXXInterface.cc.
References G4INCLXXInterfaceStore::EmitWarning(), G4Nucleus::GetA_asInt(), G4INCLXXInterfaceStore::GetAccurateProjectile(), G4ParticleDefinition::GetAtomicMass(), G4HadProjectile::GetDefinition(), G4INCLXXInterfaceStore::GetMaxProjMassINCL(), G4ParticleDefinition::GetParticleName(), G4Nucleus::GetZ_asInt(), G4Neutron::Neutron(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4Proton::Proton(), and theInterfaceStore.
Referenced by ApplyYourself().
|
virtual |
Main method to apply the INCL physics model.
aTrack | the projectile particle |
theNucleus | target nucleus |
Implements G4HadronicInteraction.
Definition at line 141 of file G4INCLXXInterface.cc.
References A, G4INCL::EventInfo::A, AccurateProjectile(), G4HadFinalState::AddSecondary(), G4HadronicInteraction::ApplyYourself(), G4VPreCompoundModel::ApplyYourself(), G4INCL::EventInfo::ARem, G4HadFinalState::Clear(), complainedAboutBackupModel, complainedAboutPreCompound, G4VPreCompoundModel::DeExcite(), dumpRemnantInfo, G4INCL::EventInfo::EKin, G4INCL::EventInfo::EKinRem, G4INCLXXInterfaceStore::EmitBigWarning(), G4INCLXXInterfaceStore::EmitWarning(), G4INCL::EventInfo::EStarRem, G4cerr, G4endl, G4HadProjectile::Get4Momentum(), G4DynamicParticle::Get4Momentum(), G4Nucleus::GetA_asInt(), G4ParticleDefinition::GetAtomicMass(), G4ParticleDefinition::GetAtomicNumber(), G4INCLXXInterfaceStore::GetCascadeMinEnergyPerNucleon(), G4HadProjectile::GetDefinition(), G4INCLXXInterfaceStore::GetINCLModel(), G4INCLXXInterfaceStore::GetInstance(), G4IonTable::GetIon(), G4IonTable::GetIonMass(), G4IonTable::GetIonName(), G4HadProjectile::GetKineticEnergy(), G4INCLXXInterfaceStore::GetMaxProjMassINCL(), G4HadronicInteraction::GetModelName(), G4NucleiProperties::GetNuclearMass(), G4HadFinalState::GetNumberOfSecondaries(), G4HadSecondary::GetParticle(), G4ParticleDefinition::GetParticleName(), G4ParticleDefinition::GetPDGMass(), G4HadFinalState::GetSecondary(), G4Nucleus::GetZ_asInt(), isAlive, G4INCL::EventInfo::jxRem, G4INCL::EventInfo::jyRem, G4INCL::EventInfo::jzRem, MeV, G4Neutron::NeutronDefinition(), G4INCL::EventInfo::nParticles, G4INCL::EventInfo::nRemnants, G4INCL::INCL::processEvent(), G4Proton::ProtonDefinition(), G4INCL::EventInfo::px, G4INCL::EventInfo::pxRem, G4INCL::EventInfo::py, G4INCL::EventInfo::pyRem, G4INCL::EventInfo::pz, G4INCL::EventInfo::pzRem, remnant4MomentumScaling(), G4DynamicParticle::Set4Momentum(), G4Fragment::SetAngularMomentum(), G4HadFinalState::SetEnergyChange(), G4HadFinalState::SetMomentumChange(), G4HadFinalState::SetStatusChange(), stopAndKill, theBackupModel, theBackupModelNucleon, G4VIntraNuclearTransportModel::theDeExcitation, theINCLModel, theInterfaceStore, theIonTable, thePreCompoundModel, theResult, toG4Particle(), toINCLKineticEnergy(), toINCLParticleSpecies(), G4INCL::EventInfo::transparent, G4INCL::EventInfo::Z, and G4INCL::EventInfo::ZRem.
|
inline |
Definition at line 124 of file G4INCLXXInterface.hh.
|
inline |
Definition at line 108 of file G4INCLXXInterface.hh.
|
private |
Dummy assignment operator to shut up Coverity warnings.
|
inline |
Definition at line 104 of file G4INCLXXInterface.hh.
|
virtual |
Implements G4VIntraNuclearTransportModel.
Definition at line 464 of file G4INCLXXInterface.cc.
|
private |
Rescale remnant momentum if necessary.
Definition at line 532 of file G4INCLXXInterface.cc.
Referenced by ApplyYourself().
|
private |
Convert an INCL particle to a G4DynamicParticle.
Definition at line 517 of file G4INCLXXInterface.cc.
References G4INCL::KinematicsUtils::energy(), MeV, and toG4ParticleDefinition().
Referenced by ApplyYourself().
|
private |
Convert A and Z to a G4ParticleDefinition.
Definition at line 500 of file G4INCLXXInterface.cc.
References G4Alpha::Alpha(), G4Deuteron::Deuteron(), G4IonTable::GetIon(), G4He3::He3(), G4Neutron::Neutron(), G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4Proton::Proton(), theIonTable, and G4Triton::Triton().
Referenced by toG4Particle().
|
private |
Convert G4HadProjectile to corresponding INCL particle kinetic energy.
Definition at line 496 of file G4INCLXXInterface.cc.
References G4HadProjectile::GetKineticEnergy().
Referenced by ApplyYourself().
|
private |
Convert G4HadProjectile to corresponding INCL particle species.
Definition at line 482 of file G4INCLXXInterface.cc.
References G4INCL::Composite, G4ParticleDefinition::GetBaryonNumber(), G4HadProjectile::GetDefinition(), G4ParticleDefinition::GetPDGCharge(), G4INCL::ParticleSpecies::theA, G4INCL::ParticleSpecies::theType, G4INCL::ParticleSpecies::theZ, and toINCLParticleType().
Referenced by ApplyYourself().
|
private |
Convert G4ParticleDefinition to corresponding INCL particle type.
Definition at line 468 of file G4INCLXXInterface.cc.
References G4Alpha::Alpha(), G4INCL::Composite, G4Deuteron::Deuteron(), G4GenericIon::GenericIon(), G4ParticleDefinition::GetParticleType(), G4He3::He3(), G4INCL::Neutron, G4Neutron::Neutron(), G4INCL::PiMinus, G4PionMinus::PionMinus(), G4PionPlus::PionPlus(), G4PionZero::PionZero(), G4INCL::PiPlus, G4INCL::PiZero, G4INCL::Proton, G4Proton::Proton(), G4Triton::Triton(), and G4INCL::UnknownParticle.
Referenced by toINCLParticleSpecies().
|
private |
Definition at line 169 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself().
|
private |
Definition at line 170 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself().
|
private |
Definition at line 174 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself(), and G4INCLXXInterface().
|
private |
Definition at line 164 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself(), and G4INCLXXInterface().
|
private |
Definition at line 165 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself(), and G4INCLXXInterface().
|
private |
Definition at line 158 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself().
|
private |
Definition at line 167 of file G4INCLXXInterface.hh.
Referenced by AccurateProjectile(), ApplyYourself(), and G4INCLXXInterface().
|
private |
Definition at line 172 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself(), and toG4ParticleDefinition().
|
private |
Definition at line 160 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself(), and G4INCLXXInterface().
|
private |
Definition at line 162 of file G4INCLXXInterface.hh.
Referenced by ApplyYourself().