53 if ( sInstance ==
nullptr ) {
54 #ifdef G4MULTITHREADED
56 if ( sInstance ==
nullptr ) {
59 sInstance = &theHadronicParametersObject;
60 #ifdef G4MULTITHREADED
74G4HadronicParameters::G4HadronicParameters() {
75 fMaxEnergy = 100.0*CLHEP::TeV;
76 fMinEnergyTransitionFTF_Cascade = 3.0*CLHEP::GeV;
77 fMaxEnergyTransitionFTF_Cascade = 6.0*CLHEP::GeV;
78 fMinEnergyTransitionQGS_FTF = 12.0*CLHEP::GeV;
79 fMaxEnergyTransitionQGS_FTF = 25.0*CLHEP::GeV;
80 fEnergyThresholdForHeavyHadrons = 1.1*CLHEP::GeV;
85G4bool G4HadronicParameters::IsLocked()
const {
92 if ( ! IsLocked() && val > 0.0 ) {
99 if ( ! IsLocked() && val > 0.0 ) {
100 fMinEnergyTransitionFTF_Cascade = val;
105 if ( ! IsLocked() && val > fMinEnergyTransitionFTF_Cascade ) {
106 fMaxEnergyTransitionFTF_Cascade = val;
112 if ( ! IsLocked() && val > 0.0 ) {
113 fMinEnergyTransitionQGS_FTF = val;
118 if ( ! IsLocked() && val > fMinEnergyTransitionQGS_FTF ) {
119 fMaxEnergyTransitionQGS_FTF = val;
125 if ( ! IsLocked() ) fEnableBC = val;
130 if ( ! IsLocked() && val >= 0 ) fVerboseLevel = val;
135 if ( ! IsLocked() && val >= 0 && val < 5*CLHEP::GeV ) {
136 fEnergyThresholdForHeavyHadrons = val;
142 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
143 fXSFactorNucleonInelastic = val;
149 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
150 fXSFactorNucleonElastic = val;
156 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
157 fXSFactorPionInelastic = val;
163 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
164 fXSFactorPionElastic = val;
170 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
171 fXSFactorHadronInelastic = val;
177 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
178 fXSFactorHadronElastic = val;
184 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
191 if ( ! IsLocked() ) fApplyFactorXS = val;
196 if ( ! IsLocked() ) fEnableCRCoalescence = val;
#define G4MUTEX_INITIALIZER
#define G4MUTEXLOCK(mutex)
#define G4MUTEXUNLOCK(mutex)
static G4HadronicParameters * Instance()
void SetXSFactorNucleonInelastic(G4double val)
void SetXSFactorPionInelastic(G4double val)
void SetVerboseLevel(const G4int val)
void SetXSFactorPionElastic(G4double val)
void SetMaxEnergy(const G4double val)
void SetApplyFactorXS(G4bool val)
void SetEnergyThresholdForHeavyHadrons(G4double val)
void SetMinEnergyTransitionQGS_FTF(const G4double val)
void SetMinEnergyTransitionFTF_Cascade(const G4double val)
void SetEnableBCParticles(G4bool val)
void SetXSFactorHadronElastic(G4double val)
void SetXSFactorEM(G4double val)
void SetEnableCRCoalescence(G4bool val)
void SetMaxEnergyTransitionQGS_FTF(const G4double val)
void SetXSFactorHadronInelastic(G4double val)
void SetXSFactorNucleonElastic(G4double val)
void SetMaxEnergyTransitionFTF_Cascade(const G4double val)
static G4StateManager * GetStateManager()