42 verboseLevel(0), theMinEnergy(0.0),
43 isBlocked(false), recoilEnergyThreshold(0.0), theModelName(modelName),
88 if( anElement == elmlist.second )
89 {
return elmlist.first; }
94 if( aMaterial == matlist.second )
95 {
return matlist.first; }
107 if( anElement == elmlist.second ) {
108 elmlist.first = anEnergy;
122 if( aMaterial == matlist.second ) {
123 matlist.first = anEnergy;
128 theMinEnergyList.push_back(std::pair<G4double, const G4Material *>(anEnergy, aMaterial));
138 if( anElement == elmlist.second )
139 {
return elmlist.first; }
144 if( aMaterial == matlist.second )
145 {
return matlist.first; }
157 if( anElement == elmlist.second ) {
158 elmlist.first = anEnergy;
171 if( aMaterial == matlist.second ) {
172 matlist.first = anEnergy;
177 theMaxEnergyList.push_back(std::pair<G4double, const G4Material *>(anEnergy, aMaterial));
196 if (aMaterial == mat)
return true;
205 if (anElement == elm)
return true;
213 return std::pair<G4double, G4double>(2.*
perCent, 1. *
GeV);
216std::pair<G4double, G4double>
224 outFile <<
"The description for this model has not been written yet.\n";
static constexpr double perCent
static constexpr double GeV
void RegisterMe(G4HadronicInteraction *aModel)
void RemoveMe(G4HadronicInteraction *aModel)
static G4HadronicInteractionRegistry * Instance()
virtual G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
void DeActivateFor(const G4Material *aMaterial)
virtual ~G4HadronicInteraction()
std::pair< G4double, G4double > epCheckLevels
std::vector< std::pair< G4double, const G4Material * > > theMaxEnergyList
virtual void InitialiseModel()
virtual const std::pair< G4double, G4double > GetFatalEnergyCheckLevels() const
std::vector< std::pair< G4double, const G4Element * > > theMinEnergyListElements
void SetMinEnergy(G4double anEnergy)
std::vector< std::pair< G4double, const G4Element * > > theMaxEnergyListElements
virtual void BuildPhysicsTable(const G4ParticleDefinition &)
virtual std::pair< G4double, G4double > GetEnergyMomentumCheckLevels() const
G4HadronicInteraction(const G4String &modelName="HadronicModel")
virtual void ModelDescription(std::ostream &outFile) const
std::vector< const G4Element * > theBlockedListElements
G4double GetMinEnergy() const
virtual G4bool IsApplicable(const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)
std::vector< const G4Material * > theBlockedList
G4HadronicInteractionRegistry * registry
void SetMaxEnergy(const G4double anEnergy)
virtual G4double SampleInvariantT(const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
G4double GetMaxEnergy() const
std::vector< std::pair< G4double, const G4Material * > > theMinEnergyList
static G4HadronicParameters * Instance()
G4double GetMaxEnergy() const
G4bool isBlocked(ParticleList const &p, Nucleus const *const n)
Check Pauli blocking.