40 : theHadronicInteractionCounter(0)
67 G4cout <<
"G4EnergyRangeManager::GetHadronicInteraction: "
68 <<
"no models defined for a process" <<
G4endl;
78 G4int cou = 0, memory = 0, memor2 = 0;
79 G4double emi1 = 0.0, ema1 = 0.0, emi2 = 0.0, ema2 = 0.0;
85 if (low <= kineticEnergy && high >= kineticEnergy) {
104 <<
", Ehigh= " << hint->
GetMaxEnergy(aMaterial,anElement)
114 if( (emi2<=emi1 && ema2>=ema1) || (emi2>=emi1 && ema2<=ema1) ) {
115 G4cout <<
"Energy ranges of two models fully overlapping " <<
G4endl;
119 <<
", Ehigh= " << hint->
GetMaxEnergy(aMaterial,anElement)
126 if( (ema1-kineticEnergy) < rand*(ema1-emi2) ) {
132 if( (ema2-kineticEnergy) < rand*(ema2-emi1) ) {
143 G4cout <<
"More than two competing models for this energy" <<
G4endl;
147 <<
", Ehigh= " << hint->
GetMaxEnergy(aMaterial,anElement)
155std::vector<G4HadronicInteraction*>&
165 G4cout <<
" HadronicModel " << i <<
":"
168 G4cout <<
" Minimum Energy "
181 hadi->BuildPhysicsTable( aParticleType );
static constexpr double GeV
G4GLOB_DLL std::ostream G4cout
std::vector< G4HadronicInteraction * > theHadronicInteraction
void RegisterMe(G4HadronicInteraction *a)
G4int theHadronicInteractionCounter
void BuildPhysicsTable(const G4ParticleDefinition &)
G4HadronicInteraction * GetHadronicInteraction(const G4HadProjectile &aHadProjectile, G4Nucleus &aTargetNucleus, const G4Material *aMaterial, const G4Element *anElement) const
void Dump(G4int verbose=0)
std::vector< G4HadronicInteraction * > & GetHadronicInteractionList()
const G4ParticleDefinition * GetDefinition() const
G4double GetKineticEnergy() const
G4double GetMinEnergy() const
const G4String & GetModelName() const
G4double GetMaxEnergy() const
G4int GetBaryonNumber() const