Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes
G4HadronicInteraction Class Referenceabstract

#include <G4HadronicInteraction.hh>

Inheritance diagram for G4HadronicInteraction:
CexmcChargeExchangeProductionModel< OutputParticle > G4BinaryLightIonReaction G4ChargeExchange G4DPMJET2_5Model G4ElectroVDNuclearModel G4EmCaptureCascade G4EMDissociation G4EventGenerator G4FissLib G4HadronElastic G4LENDModel G4LEnp G4LEpp G4LFission G4LowEIonFragmentation G4MuMinusCapturePrecompound G4MuonMinusBoundDecay G4MuonVDNuclearModel G4NeutronHPCapture G4NeutronHPElastic G4NeutronHPFission G4NeutronHPInelastic G4NeutronHPThermalScattering G4NeutronRadCapture G4ParaFissionModel G4QMDReaction G4RPGInelastic G4TheoFSGenerator G4VIntraNuclearTransportModel G4VPreCompoundModel G4WilsonAbrasionModel

Public Member Functions

 G4HadronicInteraction (const G4String &modelName="HadronicModel")
 
virtual ~G4HadronicInteraction ()
 
virtual G4HadFinalStateApplyYourself (const G4HadProjectile &aTrack, G4Nucleus &targetNucleus)=0
 
virtual G4double SampleInvariantT (const G4ParticleDefinition *p, G4double plab, G4int Z, G4int A)
 
virtual G4bool IsApplicable (const G4HadProjectile &, G4Nucleus &)
 
G4double GetMinEnergy () const
 
G4double GetMinEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMinEnergy (G4double anEnergy)
 
void SetMinEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMinEnergy (G4double anEnergy, const G4Material *aMaterial)
 
G4double GetMaxEnergy () const
 
G4double GetMaxEnergy (const G4Material *aMaterial, const G4Element *anElement) const
 
void SetMaxEnergy (const G4double anEnergy)
 
void SetMaxEnergy (G4double anEnergy, const G4Element *anElement)
 
void SetMaxEnergy (G4double anEnergy, const G4Material *aMaterial)
 
const G4HadronicInteractionGetMyPointer () const
 
virtual G4int GetVerboseLevel () const
 
virtual void SetVerboseLevel (G4int value)
 
const G4StringGetModelName () const
 
void DeActivateFor (const G4Material *aMaterial)
 
void ActivateFor (const G4Material *aMaterial)
 
void DeActivateFor (const G4Element *anElement)
 
void ActivateFor (const G4Element *anElement)
 
G4bool IsBlocked (const G4Material *aMaterial) const
 
G4bool IsBlocked (const G4Element *anElement) const
 
void SetRecoilEnergyThreshold (G4double val)
 
G4double GetRecoilEnergyThreshold () const
 
G4bool operator== (const G4HadronicInteraction &right) const
 
G4bool operator!= (const G4HadronicInteraction &right) const
 
virtual const std::pair
< G4double, G4double
GetFatalEnergyCheckLevels () const
 
virtual std::pair< G4double,
G4double
GetEnergyMomentumCheckLevels () const
 
void SetEnergyMomentumCheckLevels (G4double relativeLevel, G4double absoluteLevel)
 
virtual void ModelDescription (std::ostream &outFile) const
 

Protected Member Functions

void SetModelName (const G4String &nam)
 
G4bool IsBlocked () const
 
void Block ()
 

Protected Attributes

G4HadFinalState theParticleChange
 
G4int verboseLevel
 
G4double theMinEnergy
 
G4double theMaxEnergy
 
G4bool isBlocked
 

Detailed Description

Definition at line 63 of file G4HadronicInteraction.hh.

Constructor & Destructor Documentation

G4HadronicInteraction::G4HadronicInteraction ( const G4String modelName = "HadronicModel")

Definition at line 42 of file G4HadronicInteraction.cc.

References G4HadronicInteractionRegistry::Instance(), and G4HadronicInteractionRegistry::RegisterMe().

42  :
43  verboseLevel(0), theMinEnergy(0.0), theMaxEnergy(25.0*GeV),
44  isBlocked(false), recoilEnergyThreshold(0.0), theModelName(modelName),
45  epCheckLevels(DBL_MAX, DBL_MAX)
46 {
48 }
void RegisterMe(G4HadronicInteraction *aModel)
static G4HadronicInteractionRegistry * Instance()
#define DBL_MAX
Definition: templates.hh:83
G4HadronicInteraction::~G4HadronicInteraction ( )
virtual

Member Function Documentation

void G4HadronicInteraction::ActivateFor ( const G4Material aMaterial)
inline

Definition at line 124 of file G4HadronicInteraction.hh.

References Block(), GetMaxEnergy(), GetMinEnergy(), SetMaxEnergy(), and SetMinEnergy().

125  {
126  Block();
127  SetMaxEnergy(GetMaxEnergy(), aMaterial);
128  SetMinEnergy(GetMinEnergy(), aMaterial);
129  }
G4double GetMinEnergy() const
G4double GetMaxEnergy() const
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
void G4HadronicInteraction::ActivateFor ( const G4Element anElement)
inline

Definition at line 132 of file G4HadronicInteraction.hh.

References Block(), GetMaxEnergy(), GetMinEnergy(), SetMaxEnergy(), and SetMinEnergy().

133  {
134  Block();
135  SetMaxEnergy(GetMaxEnergy(), anElement);
136  SetMinEnergy(GetMinEnergy(), anElement);
137  }
G4double GetMinEnergy() const
G4double GetMaxEnergy() const
void SetMinEnergy(G4double anEnergy)
void SetMaxEnergy(const G4double anEnergy)
virtual G4HadFinalState* G4HadronicInteraction::ApplyYourself ( const G4HadProjectile aTrack,
G4Nucleus targetNucleus 
)
pure virtual

Implemented in G4FissLib, G4INCLXXInterface, G4DPMJET2_5Model, G4CascadeInterface, G4NeutronHPInelastic, G4UrQMD1_3Model, G4WilsonAbrasionModel, G4EMDissociation, G4HIJING_Model, G4VPreCompoundModel, G4MuonMinusBoundDecay, G4BinaryCascade, G4EmCaptureCascade, G4MuMinusCapturePrecompound, G4LFission, G4NeutronHPThermalScattering, G4PreCompoundModel, CexmcChargeExchangeProductionModel< OutputParticle >, G4QMDReaction, G4GeneratorPrecompoundInterface, G4LEnp, G4TheoFSGenerator, G4LENDFission, G4ElectroVDNuclearModel, G4LEpp, G4LENDCapture, G4LENDElastic, G4LENDInelastic, G4MuonVDNuclearModel, G4LowEIonFragmentation, G4ChargeExchange, G4NeutronHPFission, G4HadronElastic, G4NeutronRadCapture, G4RPGKLongInelastic, G4LENDModel, G4RPGAntiKZeroInelastic, G4RPGKShortInelastic, G4RPGXiZeroInelastic, G4AblaInterface, G4ParaFissionModel, G4RPGAntiXiZeroInelastic, G4RPGKPlusInelastic, G4RPGKZeroInelastic, G4RPGLambdaInelastic, G4RPGSigmaMinusInelastic, G4NeutronHPCapture, G4NeutronHPElastic, G4RPGAntiNeutronInelastic, G4RPGAntiOmegaMinusInelastic, G4RPGAntiSigmaMinusInelastic, G4RPGAntiXiMinusInelastic, G4RPGOmegaMinusInelastic, G4RPGAntiLambdaInelastic, G4RPGAntiProtonInelastic, G4RPGAntiSigmaPlusInelastic, G4RPGSigmaPlusInelastic, G4RPGXiMinusInelastic, G4RPGKMinusInelastic, G4RPGNeutronInelastic, G4RPGProtonInelastic, G4RPGPiMinusInelastic, G4RPGPiPlusInelastic, and G4BinaryLightIonReaction.

Referenced by G4HadronicInteractionWrapper::ApplyInteraction(), G4INCLXXInterface::ApplyYourself(), G4HadronStoppingProcess::AtRestDoIt(), G4HadronElasticProcess::PostStepDoIt(), CexmcHadronicProcess::PostStepDoIt(), and G4HadronicProcess::PostStepDoIt().

void G4HadronicInteraction::Block ( )
inlineprotected

Definition at line 175 of file G4HadronicInteraction.hh.

References isBlocked.

Referenced by ActivateFor().

175 { isBlocked = true; }
void G4HadronicInteraction::DeActivateFor ( const G4Material aMaterial)

Definition at line 204 of file G4HadronicInteraction.cc.

205 {
206  theBlockedList.push_back(aMaterial);
207 }
void G4HadronicInteraction::DeActivateFor ( const G4Element anElement)

Definition at line 209 of file G4HadronicInteraction.cc.

210 {
211  theBlockedListElements.push_back(anElement);
212 }
std::pair< G4double, G4double > G4HadronicInteraction::GetEnergyMomentumCheckLevels ( ) const
virtual

Reimplemented in G4TheoFSGenerator.

Definition at line 239 of file G4HadronicInteraction.cc.

Referenced by G4HadronicProcess::CheckEnergyMomentumConservation().

240 {
241  return epCheckLevels;
242 }
const std::pair< G4double, G4double > G4HadronicInteraction::GetFatalEnergyCheckLevels ( ) const
virtual

Reimplemented in G4DPMJET2_5Model, G4NeutronHPInelastic, G4LFission, G4NeutronHPThermalScattering, G4NeutronHPFission, G4NeutronHPCapture, and G4NeutronHPElastic.

Definition at line 232 of file G4HadronicInteraction.cc.

References python.hepunit::GeV, and python.hepunit::perCent.

Referenced by G4HadronicProcess::CheckResult().

233 {
234  // default level of Check
235  return std::pair<G4double, G4double>(2.*perCent, 1. * GeV);
236 }
float perCent
Definition: hepunit.py:239
G4double G4HadronicInteraction::GetMaxEnergy ( ) const
inline
G4double G4HadronicInteraction::GetMaxEnergy ( const G4Material aMaterial,
const G4Element anElement 
) const

Definition at line 134 of file G4HadronicInteraction.cc.

References G4cout, G4endl, G4Material::GetName(), IsBlocked(), python.hepunit::second, theMaxEnergy, and verboseLevel.

136 {
137  if( IsBlocked(aMaterial) ) { return 0.0; }
138  if( IsBlocked(anElement) ) { return 0.0; }
139  size_t length = theMaxEnergyListElements.size();
140  if(0 < length) {
141  for(size_t i=0; i<length; ++i ) {
142  if( anElement == theMaxEnergyListElements[i].second )
143  { return theMaxEnergyListElements[i].first; }
144  }
145  }
146  length = theMaxEnergyList.size();
147  if(0 < length) {
148  for(size_t i=0; i<length; ++i ) {
149  if( aMaterial == theMaxEnergyList[i].second )
150  { return theMaxEnergyList[i].first; }
151  }
152  }
153  if(IsBlocked()) { return 0.0; }
154  if( verboseLevel > 1 ) {
155  G4cout << "*** Warning from HadronicInteraction::GetMaxEnergy" << G4endl
156  << " material " << aMaterial->GetName()
157  << " not found in min energy List" << G4endl;
158  }
159  return theMaxEnergy;
160 }
const G4String & GetName() const
Definition: G4Material.hh:176
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
G4double G4HadronicInteraction::GetMinEnergy ( ) const
inline
G4double G4HadronicInteraction::GetMinEnergy ( const G4Material aMaterial,
const G4Element anElement 
) const

Definition at line 64 of file G4HadronicInteraction.cc.

References G4cout, G4endl, G4Material::GetName(), IsBlocked(), python.hepunit::second, theMinEnergy, and verboseLevel.

66 {
67  if( IsBlocked(aMaterial) ) { return 0.0; }
68  if( IsBlocked(anElement) ) { return 0.0; }
69  size_t length = theMinEnergyListElements.size();
70  if(0 < length) {
71  for(size_t i=0; i<length; ++i ) {
72  if( anElement == theMinEnergyListElements[i].second )
73  { return theMinEnergyListElements[i].first; }
74  }
75  }
76  length = theMinEnergyList.size();
77  if(0 < length) {
78  for(size_t i=0; i<length; ++i ) {
79  if( aMaterial == theMinEnergyList[i].second )
80  { return theMinEnergyList[i].first; }
81  }
82  }
83  if(IsBlocked()) { return 0.0; }
84  if( verboseLevel > 1 ) {
85  G4cout << "*** Warning from HadronicInteraction::GetMinEnergy" << G4endl
86  << " material " << aMaterial->GetName()
87  << " not found in min energy List" << G4endl;
88  }
89  return theMinEnergy;
90 }
const G4String & GetName() const
Definition: G4Material.hh:176
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
const G4String& G4HadronicInteraction::GetModelName ( ) const
inline
const G4HadronicInteraction* G4HadronicInteraction::GetMyPointer ( ) const
inline

Definition at line 110 of file G4HadronicInteraction.hh.

111  { return this; }
G4double G4HadronicInteraction::GetRecoilEnergyThreshold ( ) const
inline

Definition at line 145 of file G4HadronicInteraction.hh.

Referenced by G4HadronElastic::ApplyYourself().

146  { return recoilEnergyThreshold;}
virtual G4int G4HadronicInteraction::GetVerboseLevel ( ) const
inlinevirtual
virtual G4bool G4HadronicInteraction::IsApplicable ( const G4HadProjectile ,
G4Nucleus  
)
inlinevirtual

Reimplemented in G4DPMJET2_5Model, and G4CascadeInterface.

Definition at line 80 of file G4HadronicInteraction.hh.

82  { return true;}
G4bool G4HadronicInteraction::IsBlocked ( const G4Material aMaterial) const

Definition at line 215 of file G4HadronicInteraction.cc.

216 {
217  for (size_t i=0; i<theBlockedList.size(); ++i) {
218  if (aMaterial == theBlockedList[i]) return true;
219  }
220  return false;
221 }
G4bool G4HadronicInteraction::IsBlocked ( const G4Element anElement) const

Definition at line 224 of file G4HadronicInteraction.cc.

225 {
226  for (size_t i=0; i<theBlockedListElements.size(); ++i) {
227  if (anElement == theBlockedListElements[i]) return true;
228  }
229  return false;
230 }
G4bool G4HadronicInteraction::IsBlocked ( ) const
inlineprotected

Definition at line 174 of file G4HadronicInteraction.hh.

References isBlocked.

Referenced by GetMaxEnergy(), GetMinEnergy(), SetMaxEnergy(), and SetMinEnergy().

174 { return isBlocked;}
void G4HadronicInteraction::ModelDescription ( std::ostream &  outFile) const
virtual
G4bool G4HadronicInteraction::operator!= ( const G4HadronicInteraction right) const
inline

Definition at line 151 of file G4HadronicInteraction.hh.

152  { return ( this != (G4HadronicInteraction *) &right ); }
G4bool G4HadronicInteraction::operator== ( const G4HadronicInteraction right) const
inline

Definition at line 148 of file G4HadronicInteraction.hh.

149  { return ( this == (G4HadronicInteraction *) &right ); }
G4double G4HadronicInteraction::SampleInvariantT ( const G4ParticleDefinition p,
G4double  plab,
G4int  Z,
G4int  A 
)
virtual

Reimplemented in G4ElasticHadrNucleusHE, G4DiffuseElastic, G4NuclNuclDiffuseElastic, G4HadronElastic, G4ChipsElasticModel, and G4AntiNuclElastic.

Definition at line 58 of file G4HadronicInteraction.cc.

60 {
61  return 0.0;
62 }
void G4HadronicInteraction::SetEnergyMomentumCheckLevels ( G4double  relativeLevel,
G4double  absoluteLevel 
)
inline

Definition at line 158 of file G4HadronicInteraction.hh.

Referenced by G4BinaryCascade::G4BinaryCascade(), and G4CascadeInterface::G4CascadeInterface().

159  { epCheckLevels.first = relativeLevel;
160  epCheckLevels.second = absoluteLevel; }
void G4HadronicInteraction::SetMaxEnergy ( const G4double  anEnergy)
inline

Definition at line 103 of file G4HadronicInteraction.hh.

References theMaxEnergy.

Referenced by ActivateFor(), G4NeutronHPBuilder::Build(), G4NeutronLENDBuilder::Build(), G4BertiniElectroNuclearBuilder::Build(), G4BinaryPionBuilder::Build(), G4PrecoProtonBuilder::Build(), G4BinaryProtonBuilder::Build(), G4BertiniKaonBuilder::Build(), G4BertiniProtonBuilder::Build(), G4BertiniPiKBuilder::Build(), G4BinaryPiKBuilder::Build(), G4BertiniNeutronBuilder::Build(), G4BertiniPionBuilder::Build(), G4BinaryNeutronBuilder::Build(), G4INCLXXPiKBuilder::Build(), G4PrecoNeutronBuilder::Build(), G4INCLXXNeutronBuilder::Build(), G4FTFBinaryPionBuilder::Build(), G4FTFBinaryKaonBuilder::Build(), G4FTFBinaryProtonBuilder::Build(), G4FTFPKaonBuilder::Build(), G4QGSBinaryKaonBuilder::Build(), G4QGSPPionBuilder::Build(), G4FTFPPionBuilder::Build(), G4FTFPProtonBuilder::Build(), G4QGSBinaryPionBuilder::Build(), G4QGSBinaryProtonBuilder::Build(), G4QGSPPiKBuilder::Build(), G4QGSPProtonBuilder::Build(), G4FTFPAntiBarionBuilder::Build(), G4FTFPNeutronBuilder::Build(), G4FTFPPiKBuilder::Build(), G4QGSPNeutronBuilder::Build(), G4FTFBinaryNeutronBuilder::Build(), G4QGSBinaryNeutronBuilder::Build(), G4QGSBinaryPiKBuilder::Build(), G4INCLXXProtonBuilder::Build(), G4VHadronPhysics::BuildModel(), DicomPhysicsList::ConstructHad(), B03PhysicsList::ConstructHad(), DMXPhysicsList::ConstructHad(), GammaPhysics::ConstructProcess(), G4HadronDElasticPhysics::ConstructProcess(), G4HadronHElasticPhysics::ConstructProcess(), exrdmPhysListHadron::ConstructProcess(), G4IonPhysics::ConstructProcess(), G4HadronElasticPhysics::ConstructProcess(), G4IonBinaryCascadePhysics::ConstructProcess(), GammaRayTelIonPhysics::ConstructProcess(), GammaRayTelHadronPhysics::ConstructProcess(), G4BertiniKaonBuilder::G4BertiniKaonBuilder(), G4BertiniPiKBuilder::G4BertiniPiKBuilder(), G4BertiniPionBuilder::G4BertiniPionBuilder(), G4BinaryCascade::G4BinaryCascade(), G4BinaryPiKBuilder::G4BinaryPiKBuilder(), G4BinaryPionBuilder::G4BinaryPionBuilder(), G4ChargeExchange::G4ChargeExchange(), G4DiffuseElastic::G4DiffuseElastic(), G4ElectroVDNuclearModel::G4ElectroVDNuclearModel(), G4EMDissociation::G4EMDissociation(), G4EventGenerator::G4EventGenerator(), G4FissLib::G4FissLib(), G4FTFBinaryKaonBuilder::G4FTFBinaryKaonBuilder(), G4FTFBinaryNeutronBuilder::G4FTFBinaryNeutronBuilder(), G4FTFBinaryPiKBuilder::G4FTFBinaryPiKBuilder(), G4FTFBinaryPionBuilder::G4FTFBinaryPionBuilder(), G4FTFBinaryProtonBuilder::G4FTFBinaryProtonBuilder(), G4FTFPAntiBarionBuilder::G4FTFPAntiBarionBuilder(), G4FTFPKaonBuilder::G4FTFPKaonBuilder(), G4FTFPNeutronBuilder::G4FTFPNeutronBuilder(), G4FTFPPiKBuilder::G4FTFPPiKBuilder(), G4FTFPPionBuilder::G4FTFPPionBuilder(), G4FTFPProtonBuilder::G4FTFPProtonBuilder(), G4HadronElastic::G4HadronElastic(), G4HadronicAbsorptionFritiof::G4HadronicAbsorptionFritiof(), G4HyperonFTFPBuilder::G4HyperonFTFPBuilder(), G4INCLXXPiKBuilder::G4INCLXXPiKBuilder(), G4LENDModel::G4LENDModel(), G4LEnp::G4LEnp(), G4LEpp::G4LEpp(), G4LFission::G4LFission(), G4MuonVDNuclearModel::G4MuonVDNuclearModel(), G4NeutronHPCapture::G4NeutronHPCapture(), G4NeutronHPElastic::G4NeutronHPElastic(), G4NeutronHPFission::G4NeutronHPFission(), G4NeutronHPInelastic::G4NeutronHPInelastic(), G4NeutronHPThermalScattering::G4NeutronHPThermalScattering(), G4NeutronRadCapture::G4NeutronRadCapture(), G4NuclNuclDiffuseElastic::G4NuclNuclDiffuseElastic(), G4ParaFissionModel::G4ParaFissionModel(), G4RPGAntiKZeroInelastic::G4RPGAntiKZeroInelastic(), G4RPGAntiLambdaInelastic::G4RPGAntiLambdaInelastic(), G4RPGAntiNeutronInelastic::G4RPGAntiNeutronInelastic(), G4RPGAntiOmegaMinusInelastic::G4RPGAntiOmegaMinusInelastic(), G4RPGAntiProtonInelastic::G4RPGAntiProtonInelastic(), G4RPGAntiSigmaMinusInelastic::G4RPGAntiSigmaMinusInelastic(), G4RPGAntiSigmaPlusInelastic::G4RPGAntiSigmaPlusInelastic(), G4RPGAntiXiMinusInelastic::G4RPGAntiXiMinusInelastic(), G4RPGAntiXiZeroInelastic::G4RPGAntiXiZeroInelastic(), G4RPGKLongInelastic::G4RPGKLongInelastic(), G4RPGKMinusInelastic::G4RPGKMinusInelastic(), G4RPGKPlusInelastic::G4RPGKPlusInelastic(), G4RPGKShortInelastic::G4RPGKShortInelastic(), G4RPGKZeroInelastic::G4RPGKZeroInelastic(), G4RPGLambdaInelastic::G4RPGLambdaInelastic(), G4RPGNucleonInelastic::G4RPGNucleonInelastic(), G4RPGOmegaMinusInelastic::G4RPGOmegaMinusInelastic(), G4RPGPionInelastic::G4RPGPionInelastic(), G4RPGSigmaMinusInelastic::G4RPGSigmaMinusInelastic(), G4RPGSigmaPlusInelastic::G4RPGSigmaPlusInelastic(), G4RPGXiMinusInelastic::G4RPGXiMinusInelastic(), G4RPGXiZeroInelastic::G4RPGXiZeroInelastic(), G4WilsonAbrasionModel::G4WilsonAbrasionModel(), G4VHadronPhysics::NewModel(), and G4LEpp::SetCoulombEffects().

104  { theMaxEnergy = anEnergy; }
void G4HadronicInteraction::SetMaxEnergy ( G4double  anEnergy,
const G4Element anElement 
)

Definition at line 162 of file G4HadronicInteraction.cc.

References G4cout, G4endl, G4Element::GetName(), IsBlocked(), and python.hepunit::second.

164 {
165  if( IsBlocked(anElement) ) {
166  G4cout << "*** Warning from HadronicInteraction::SetMaxEnergy" << G4endl
167  << "Warning: The model is not active for the Element "
168  << anElement->GetName() << "." << G4endl;
169  }
170  size_t length = theMaxEnergyListElements.size();
171  if(0 < length) {
172  for(size_t i=0; i<length; ++i ) {
173  if( anElement == theMaxEnergyListElements[i].second )
174  {
175  theMaxEnergyListElements[i].first = anEnergy;
176  return;
177  }
178  }
179  }
180  theMaxEnergyListElements.push_back(std::pair<G4double, const G4Element *>(anEnergy, anElement));
181 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
const G4String & GetName() const
Definition: G4Element.hh:127
void G4HadronicInteraction::SetMaxEnergy ( G4double  anEnergy,
const G4Material aMaterial 
)

Definition at line 183 of file G4HadronicInteraction.cc.

References G4cout, G4endl, G4Material::GetName(), IsBlocked(), and python.hepunit::second.

185 {
186  if( IsBlocked(aMaterial) ) {
187  G4cout << "*** Warning from HadronicInteraction::SetMaxEnergy" << G4endl
188  << "Warning: The model is not active for the Material "
189  << aMaterial->GetName() << "." << G4endl;
190  }
191  size_t length = theMaxEnergyList.size();
192  if(0 < length) {
193  for(size_t i=0; i<length; ++i ) {
194  if( aMaterial == theMaxEnergyList[i].second )
195  {
196  theMaxEnergyList[i].first = anEnergy;
197  return;
198  }
199  }
200  }
201  theMaxEnergyList.push_back(std::pair<G4double, const G4Material *>(anEnergy, aMaterial));
202 }
const G4String & GetName() const
Definition: G4Material.hh:176
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void G4HadronicInteraction::SetMinEnergy ( G4double  anEnergy)
inline

Definition at line 90 of file G4HadronicInteraction.hh.

References theMinEnergy.

Referenced by ActivateFor(), G4NeutronHPBuilder::Build(), G4NeutronLENDBuilder::Build(), G4BertiniElectroNuclearBuilder::Build(), G4BinaryPionBuilder::Build(), G4BinaryProtonBuilder::Build(), G4PrecoProtonBuilder::Build(), G4BertiniProtonBuilder::Build(), G4BertiniKaonBuilder::Build(), G4BertiniPiKBuilder::Build(), G4BinaryPiKBuilder::Build(), G4BertiniNeutronBuilder::Build(), G4BertiniPionBuilder::Build(), G4BinaryNeutronBuilder::Build(), G4INCLXXPiKBuilder::Build(), G4PrecoNeutronBuilder::Build(), G4INCLXXNeutronBuilder::Build(), G4FTFBinaryPionBuilder::Build(), G4FTFBinaryKaonBuilder::Build(), G4FTFBinaryProtonBuilder::Build(), G4FTFPKaonBuilder::Build(), G4FTFPPionBuilder::Build(), G4QGSBinaryKaonBuilder::Build(), G4QGSPPionBuilder::Build(), G4FTFPProtonBuilder::Build(), G4FTFBinaryPiKBuilder::Build(), G4QGSBinaryPionBuilder::Build(), G4QGSBinaryProtonBuilder::Build(), G4QGSPPiKBuilder::Build(), G4QGSPProtonBuilder::Build(), G4FTFPAntiBarionBuilder::Build(), G4FTFPNeutronBuilder::Build(), G4FTFPPiKBuilder::Build(), G4QGSPNeutronBuilder::Build(), G4FTFBinaryNeutronBuilder::Build(), G4QGSBinaryNeutronBuilder::Build(), G4QGSBinaryPiKBuilder::Build(), G4INCLXXProtonBuilder::Build(), G4VHadronPhysics::BuildModel(), DicomPhysicsList::ConstructHad(), B03PhysicsList::ConstructHad(), DMXPhysicsList::ConstructHad(), NeutronHPphysics::ConstructProcess(), G4HadronDElasticPhysics::ConstructProcess(), G4HadronHElasticPhysics::ConstructProcess(), exrdmPhysListHadron::ConstructProcess(), G4IonElasticPhysics::ConstructProcess(), G4HadronElasticPhysicsHP::ConstructProcess(), G4HadronElasticPhysicsLEND::ConstructProcess(), G4IonPhysics::ConstructProcess(), G4HadronElasticPhysics::ConstructProcess(), G4IonBinaryCascadePhysics::ConstructProcess(), G4HadronPhysicsFTFP_BERT_HP::ConstructProcess(), G4HadronPhysicsShielding::ConstructProcess(), G4HadronPhysicsQGSP_BERT_HP::ConstructProcess(), G4HadronPhysicsQGSP_BIC_HP::ConstructProcess(), GammaRayTelIonPhysics::ConstructProcess(), G4HadronPhysicsINCLXX::ConstructProcess(), GammaRayTelHadronPhysics::ConstructProcess(), G4BertiniKaonBuilder::G4BertiniKaonBuilder(), G4BertiniPiKBuilder::G4BertiniPiKBuilder(), G4BertiniPionBuilder::G4BertiniPionBuilder(), G4BinaryCascade::G4BinaryCascade(), G4BinaryPiKBuilder::G4BinaryPiKBuilder(), G4BinaryPionBuilder::G4BinaryPionBuilder(), G4ChargeExchange::G4ChargeExchange(), G4DiffuseElastic::G4DiffuseElastic(), G4ElectroVDNuclearModel::G4ElectroVDNuclearModel(), G4EMDissociation::G4EMDissociation(), G4EventGenerator::G4EventGenerator(), G4FissLib::G4FissLib(), G4FTFBinaryKaonBuilder::G4FTFBinaryKaonBuilder(), G4FTFBinaryNeutronBuilder::G4FTFBinaryNeutronBuilder(), G4FTFBinaryPiKBuilder::G4FTFBinaryPiKBuilder(), G4FTFBinaryPionBuilder::G4FTFBinaryPionBuilder(), G4FTFBinaryProtonBuilder::G4FTFBinaryProtonBuilder(), G4FTFPAntiBarionBuilder::G4FTFPAntiBarionBuilder(), G4FTFPKaonBuilder::G4FTFPKaonBuilder(), G4FTFPNeutronBuilder::G4FTFPNeutronBuilder(), G4FTFPPiKBuilder::G4FTFPPiKBuilder(), G4FTFPPionBuilder::G4FTFPPionBuilder(), G4FTFPProtonBuilder::G4FTFPProtonBuilder(), G4HadronElastic::G4HadronElastic(), G4HadronicAbsorptionBertini::G4HadronicAbsorptionBertini(), G4HadronicAbsorptionFritiof::G4HadronicAbsorptionFritiof(), G4HyperonFTFPBuilder::G4HyperonFTFPBuilder(), G4INCLXXPiKBuilder::G4INCLXXPiKBuilder(), G4LENDModel::G4LENDModel(), G4LEnp::G4LEnp(), G4LEpp::G4LEpp(), G4LFission::G4LFission(), G4MuonVDNuclearModel::G4MuonVDNuclearModel(), G4NeutronHPCapture::G4NeutronHPCapture(), G4NeutronHPElastic::G4NeutronHPElastic(), G4NeutronHPFission::G4NeutronHPFission(), G4NeutronHPInelastic::G4NeutronHPInelastic(), G4NeutronHPThermalScattering::G4NeutronHPThermalScattering(), G4NeutronRadCapture::G4NeutronRadCapture(), G4NuclNuclDiffuseElastic::G4NuclNuclDiffuseElastic(), G4ParaFissionModel::G4ParaFissionModel(), G4RPGAntiKZeroInelastic::G4RPGAntiKZeroInelastic(), G4RPGAntiLambdaInelastic::G4RPGAntiLambdaInelastic(), G4RPGAntiNeutronInelastic::G4RPGAntiNeutronInelastic(), G4RPGAntiOmegaMinusInelastic::G4RPGAntiOmegaMinusInelastic(), G4RPGAntiProtonInelastic::G4RPGAntiProtonInelastic(), G4RPGAntiSigmaMinusInelastic::G4RPGAntiSigmaMinusInelastic(), G4RPGAntiSigmaPlusInelastic::G4RPGAntiSigmaPlusInelastic(), G4RPGAntiXiMinusInelastic::G4RPGAntiXiMinusInelastic(), G4RPGAntiXiZeroInelastic::G4RPGAntiXiZeroInelastic(), G4RPGKLongInelastic::G4RPGKLongInelastic(), G4RPGKMinusInelastic::G4RPGKMinusInelastic(), G4RPGKPlusInelastic::G4RPGKPlusInelastic(), G4RPGKShortInelastic::G4RPGKShortInelastic(), G4RPGKZeroInelastic::G4RPGKZeroInelastic(), G4RPGLambdaInelastic::G4RPGLambdaInelastic(), G4RPGNucleonInelastic::G4RPGNucleonInelastic(), G4RPGOmegaMinusInelastic::G4RPGOmegaMinusInelastic(), G4RPGPionInelastic::G4RPGPionInelastic(), G4RPGSigmaMinusInelastic::G4RPGSigmaMinusInelastic(), G4RPGSigmaPlusInelastic::G4RPGSigmaPlusInelastic(), G4RPGXiMinusInelastic::G4RPGXiMinusInelastic(), G4RPGXiZeroInelastic::G4RPGXiZeroInelastic(), G4WilsonAbrasionModel::G4WilsonAbrasionModel(), and G4VHadronPhysics::NewModel().

91  { theMinEnergy = anEnergy; }
void G4HadronicInteraction::SetMinEnergy ( G4double  anEnergy,
const G4Element anElement 
)

Definition at line 92 of file G4HadronicInteraction.cc.

References G4cout, G4endl, G4Element::GetName(), IsBlocked(), and python.hepunit::second.

94 {
95  if( IsBlocked(anElement) ) {
96  G4cout << "*** Warning from HadronicInteraction::SetMinEnergy" << G4endl
97  << " The model is not active for the Element "
98  << anElement->GetName() << "." << G4endl;
99  }
100  size_t length = theMinEnergyListElements.size();
101  if(0 < length) {
102  for(size_t i=0; i<length; ++i ) {
103  if( anElement == theMinEnergyListElements[i].second )
104  {
105  theMinEnergyListElements[i].first = anEnergy;
106  return;
107  }
108  }
109  }
110  theMinEnergyListElements.push_back(std::pair<G4double, const G4Element *>(anEnergy, anElement));
111 }
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
const G4String & GetName() const
Definition: G4Element.hh:127
void G4HadronicInteraction::SetMinEnergy ( G4double  anEnergy,
const G4Material aMaterial 
)

Definition at line 113 of file G4HadronicInteraction.cc.

References G4cout, G4endl, G4Material::GetName(), IsBlocked(), and python.hepunit::second.

115 {
116  if( IsBlocked(aMaterial) ) {
117  G4cout << "*** Warning from HadronicInteraction::SetMinEnergy" << G4endl
118  << " The model is not active for the Material "
119  << aMaterial->GetName() << "." << G4endl;
120  }
121  size_t length = theMinEnergyList.size();
122  if(0 < length) {
123  for(size_t i=0; i<length; ++i ) {
124  if( aMaterial == theMinEnergyList[i].second )
125  {
126  theMinEnergyList[i].first = anEnergy;
127  return;
128  }
129  }
130  }
131  theMinEnergyList.push_back(std::pair<G4double, const G4Material *>(anEnergy, aMaterial));
132 }
const G4String & GetName() const
Definition: G4Material.hh:176
G4GLOB_DLL std::ostream G4cout
#define G4endl
Definition: G4ios.hh:61
void G4HadronicInteraction::SetModelName ( const G4String nam)
inlineprotected

Definition at line 171 of file G4HadronicInteraction.hh.

172  { theModelName = nam; }
void G4HadronicInteraction::SetRecoilEnergyThreshold ( G4double  val)
inline

Definition at line 142 of file G4HadronicInteraction.hh.

Referenced by G4HadronElasticProcess::PostStepDoIt().

143  { recoilEnergyThreshold = val; }
virtual void G4HadronicInteraction::SetVerboseLevel ( G4int  value)
inlinevirtual

Field Documentation

G4bool G4HadronicInteraction::isBlocked
protected
G4double G4HadronicInteraction::theMaxEnergy
protected
G4double G4HadronicInteraction::theMinEnergy
protected
G4HadFinalState G4HadronicInteraction::theParticleChange
protected

Definition at line 177 of file G4HadronicInteraction.hh.

Referenced by G4RPGPiMinusInelastic::ApplyYourself(), G4RPGPiPlusInelastic::ApplyYourself(), G4RPGKMinusInelastic::ApplyYourself(), G4RPGNeutronInelastic::ApplyYourself(), G4RPGProtonInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4NeutronRadCapture::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4LENDCapture::ApplyYourself(), G4MuonVDNuclearModel::ApplyYourself(), G4LENDElastic::ApplyYourself(), G4LENDInelastic::ApplyYourself(), G4LEpp::ApplyYourself(), G4LENDFission::ApplyYourself(), G4ElectroVDNuclearModel::ApplyYourself(), G4LEnp::ApplyYourself(), G4QMDReaction::ApplyYourself(), G4LFission::ApplyYourself(), G4NeutronHPThermalScattering::ApplyYourself(), G4BinaryCascade::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4CascadeInterface::ApplyYourself(), G4CascadeInterface::copyOutputToHadronicResult(), G4CascadeInterface::NoInteraction(), G4CascadeInterface::Propagate(), G4RPGInelastic::SetUpChange(), G4LEnp::~G4LEnp(), and G4LFission::~G4LFission().

G4int G4HadronicInteraction::verboseLevel
protected

Definition at line 182 of file G4HadronicInteraction.hh.

Referenced by G4RPGKMinusInelastic::ApplyYourself(), G4RPGAntiLambdaInelastic::ApplyYourself(), G4RPGAntiSigmaPlusInelastic::ApplyYourself(), G4RPGAntiProtonInelastic::ApplyYourself(), G4RPGSigmaPlusInelastic::ApplyYourself(), G4RPGXiMinusInelastic::ApplyYourself(), G4RPGAntiOmegaMinusInelastic::ApplyYourself(), G4RPGAntiNeutronInelastic::ApplyYourself(), G4RPGAntiSigmaMinusInelastic::ApplyYourself(), G4RPGAntiXiMinusInelastic::ApplyYourself(), G4RPGOmegaMinusInelastic::ApplyYourself(), G4RPGAntiXiZeroInelastic::ApplyYourself(), G4RPGKPlusInelastic::ApplyYourself(), G4RPGKZeroInelastic::ApplyYourself(), G4RPGLambdaInelastic::ApplyYourself(), G4RPGSigmaMinusInelastic::ApplyYourself(), G4RPGXiZeroInelastic::ApplyYourself(), G4RPGAntiKZeroInelastic::ApplyYourself(), G4HadronElastic::ApplyYourself(), G4NeutronRadCapture::ApplyYourself(), G4ChargeExchange::ApplyYourself(), G4LEpp::ApplyYourself(), G4LEnp::ApplyYourself(), G4LFission::ApplyYourself(), G4MuMinusCapturePrecompound::ApplyYourself(), G4WilsonAbrasionModel::ApplyYourself(), G4CascadeInterface::ApplyYourself(), G4CascadeInterface::checkFinalResult(), G4CascadeInterface::copyOutputToHadronicResult(), G4CascadeInterface::copyOutputToReactionProducts(), G4LENDModel::create_used_target_map(), G4CascadeInterface::createBullet(), G4CascadeInterface::createTarget(), G4ElasticHadrNucleusHE::DefineHadronValues(), G4DiffuseElastic::G4DiffuseElastic(), G4ElasticHadrNucleusHE::G4ElasticHadrNucleusHE(), G4EMDissociation::G4EMDissociation(), G4NuclNuclDiffuseElastic::G4NuclNuclDiffuseElastic(), G4WilsonAbrasionModel::G4WilsonAbrasionModel(), G4ElasticHadrNucleusHE::GetFt(), G4ElasticHadrNucleusHE::GetHeavyFq2(), G4ElasticHadrNucleusHE::GetKinematics(), G4ElasticHadrNucleusHE::GetLightFq2(), GetMaxEnergy(), GetMinEnergy(), G4ElasticHadrNucleusHE::GetQ2_2(), GetVerboseLevel(), G4ElasticHadrNucleusHE::HadronNucleusQ2_2(), G4NuclNuclDiffuseElastic::Initialise(), G4DiffuseElastic::Initialise(), G4NuclNuclDiffuseElastic::InitialiseOnFly(), G4DiffuseElastic::InitialiseOnFly(), G4CascadeInterface::makeDynamicParticle(), G4CascadeInterface::NoInteraction(), G4CascadeInterface::Propagate(), G4ElasticHadrNucleusHE::SampleInvariantT(), G4AntiNuclElastic::SampleThetaCMS(), G4AntiNuclElastic::SampleThetaLab(), G4NuclNuclDiffuseElastic::SampleThetaLab(), G4DiffuseElastic::SampleThetaLab(), G4WilsonAbrasionModel::SetUseAblation(), G4WilsonAbrasionModel::SetVerboseLevel(), SetVerboseLevel(), G4DPMJET2_5Model::SetVerboseLevel(), G4NuclNuclDiffuseElastic::ThetaCMStoThetaLab(), G4DiffuseElastic::ThetaCMStoThetaLab(), G4NuclNuclDiffuseElastic::ThetaLabToThetaCMS(), and G4DiffuseElastic::ThetaLabToThetaCMS().


The documentation for this class was generated from the following files: