39#ifndef G4HadronicParameters_h
40#define G4HadronicParameters_h 1
47class G4HadronicParameters {
50 static G4HadronicParameters*
Instance();
216 G4HadronicParameters();
220 static G4HadronicParameters* sInstance;
225 G4double fMinEnergyTransitionFTF_Cascade;
226 G4double fMaxEnergyTransitionFTF_Cascade;
227 G4double fMinEnergyTransitionQGS_FTF;
228 G4double fMaxEnergyTransitionQGS_FTF;
231 G4double fEnergyThresholdForHeavyHadrons;
232 G4double fXSFactorNucleonInelastic = 1.0;
233 G4double fXSFactorPionInelastic = 1.0;
234 G4double fXSFactorHadronInelastic = 1.0;
235 G4double fXSFactorNucleonElastic = 1.0;
236 G4double fXSFactorPionElastic = 1.0;
237 G4double fXSFactorHadronElastic = 1.0;
242 G4double fNeutronEkinThresholdForSVT = -1.0;
243 G4double fTimeThresholdForRadioactiveDecays = -1.0;
245 G4int fVerboseLevel = 1;
246 G4int fReportLevel = 0;
249 G4bool fEnableHyperNuclei =
false;
250 G4bool fApplyFactorXS =
false;
251 G4bool fEnableCRCoalescence =
false;
252 G4bool fEnableIntegralInelasticXS =
true;
253 G4bool fEnableIntegralElasticXS =
true;
254 G4bool fEnableDiffDissociationForBGreater10 =
false;
255 G4bool fEnableNUDEX =
false;
256 G4bool fNeutronGeneral =
false;
257 G4bool fChargeExchange =
false;
258 G4bool fBinaryDebug =
false;
259 G4bool fBertiniAngularEmissionsAs11_2 =
false;
260 G4bool fBertiniNucleiModelAs11_2 =
false;
261 G4bool fUseRFilesForXS =
false;
274 return fMinEnergyTransitionFTF_Cascade;
277 return fMaxEnergyTransitionFTF_Cascade;
281 return fMinEnergyTransitionQGS_FTF;
285 return fMaxEnergyTransitionQGS_FTF;
289 return fMinEnergyINCLXX_Pbar;
292 return fMaxEnergyINCLXX_Pbar;
296 return fEnergyThresholdForHeavyHadrons;
300 return fXSFactorNucleonInelastic;
304 return fXSFactorNucleonElastic;
308 return fXSFactorPionInelastic;
312 return fXSFactorPionElastic;
316 return fXSFactorHadronInelastic;
320 return fXSFactorHadronElastic;
328 return fVerboseLevel;
336 return fEnableHyperNuclei;
340 return fApplyFactorXS;
344 return fEnableCRCoalescence;
348 return fEnableIntegralInelasticXS;
352 return fEnableIntegralElasticXS;
356 return fEnableDiffDissociationForBGreater10;
360 return fNeutronGeneral;
372 return fChargeExchange;
380 return fUseRFilesForXS;
384 return fRelativeDiff;
388 return fAbsoluteDiff;
396 return fDirPARTICLEXS;
400 return fPhysListDocDir;
404 return fPhysListName;
408 return fNeutronEkinThresholdForSVT;
412 return fTimeThresholdForRadioactiveDecays;
416 return ( fBertiniAngularEmissionsAs11_2 && fBertiniNucleiModelAs11_2 );
420 return fBertiniAngularEmissionsAs11_2;
424 return fBertiniNucleiModelAs11_2;
std::ostream & operator<<(std::ostream &os, const G4HadronicParameters &p)
void SetEnableIntegralElasticXS(G4bool val)
G4bool ApplyFactorXS() const
G4bool EnableIntegralInelasticXS() const
G4double XSFactorPionElastic() const
void SetEnableDiffDissociationForBGreater10(G4bool val)
G4bool EnableNUDEX() const
const G4String & GetTypeTablePT() const
void SetEnableNUDEX(G4bool val)
void StreamInfo(std::ostream &os) const
void SetEnableCoherentChargeExchange(G4bool val)
static G4HadronicParameters * Instance()
G4bool UseRFilesForXS() const
G4bool EnableDiffDissociationForBGreater10() const
void SetBertiniAngularEmissionsAs11_2(G4bool val)
G4double GetTimeThresholdForRadioactiveDecay() const
G4int GetVerboseLevel() const
G4bool IsBertiniAs11_2() const
const G4String & GetPhysListName() const
G4double XSFactorNucleonElastic() const
G4double GetMinEnergyTransitionFTF_Cascade() const
G4double GetEPRelativeLevel() const
G4bool IsBertiniNucleiModelAs11_2() const
G4bool EnableCoherentChargeExchange() const
void SetNeutronKineticEnergyThresholdForSVT(const G4double val)
void SetXSFactorNucleonInelastic(G4double val)
void SetEnableIntegralInelasticXS(G4bool val)
G4bool EnableHyperNuclei() const
G4double GetEPAbsoluteLevel() const
G4double GetMinEnergyTransitionQGS_FTF() const
void SetXSFactorPionInelastic(G4double val)
G4bool EnableNeutronGeneralProcess() const
G4double GetMaxEnergyTransitionFTF_Cascade() const
void SetTypeTablePT(const G4String &typeTablePT)
void SetVerboseLevel(const G4int val)
const G4String & GetDirPARTICLEXS() const
G4double GetNeutronKineticEnergyThresholdForSVT() const
void SetXSFactorPionElastic(G4double val)
G4double XSFactorEM() const
G4bool EnableCRCoalescence() const
void SetTimeThresholdForRadioactiveDecay(const G4double val)
G4int GetEPReportLevel() const
G4bool EnableBCParticles() const
void SetEnableHyperNuclei(G4bool val)
G4double EnergyThresholdForHeavyHadrons() const
void SetMaxEnergyINCLXX_Pbar(const G4double val)
G4bool EnableIntegralElasticXS() const
void SetMaxEnergy(const G4double val)
G4double GetMaxEnergyINCLXX_Pbar() const
void SetApplyFactorXS(G4bool val)
void SetEnergyThresholdForHeavyHadrons(G4double val)
void SetMinEnergyTransitionQGS_FTF(const G4double val)
void SetMinEnergyTransitionFTF_Cascade(const G4double val)
G4double XSFactorHadronInelastic() const
void SetEnableBCParticles(G4bool val)
G4double GetMaxEnergyTransitionQGS_FTF() const
const G4String & GetPhysListDocDir() const
void SetXSFactorHadronElastic(G4double val)
void SetXSFactorEM(G4double val)
void SetEnableCRCoalescence(G4bool val)
void SetMaxEnergyTransitionQGS_FTF(const G4double val)
void SetMinEnergyINCLXX_Pbar(const G4double val)
void SetXSFactorHadronInelastic(G4double val)
void SetBertiniNucleiModelAs11_2(G4bool val)
void SetEnableNeutronGeneralProcess(G4bool val)
void SetXSFactorNucleonElastic(G4double val)
void SetMaxEnergyTransitionFTF_Cascade(const G4double val)
G4bool IsBertiniAngularEmissionsAs11_2() const
void SetUseRFilesForXS(G4bool val)
G4bool GetBinaryDebug() const
G4double XSFactorPionInelastic() const
G4double XSFactorHadronElastic() const
G4double GetMaxEnergy() const
G4double GetMinEnergyINCLXX_Pbar() const
void SetBertiniAs11_2(G4bool val)
G4double XSFactorNucleonInelastic() const