55 if ( sInstance ==
nullptr ) {
57 if ( sInstance ==
nullptr ) {
59 sInstance = &theHadronicParametersObject;
72G4HadronicParameters::G4HadronicParameters() {
73 fMaxEnergy = 100.0*CLHEP::TeV;
74 fMinEnergyTransitionFTF_Cascade = 3.0*CLHEP::GeV;
75 fMaxEnergyTransitionFTF_Cascade = 6.0*CLHEP::GeV;
76 fMinEnergyTransitionQGS_FTF = 12.0*CLHEP::GeV;
77 fMaxEnergyTransitionQGS_FTF = 25.0*CLHEP::GeV;
78 fEnergyThresholdForHeavyHadrons = 1.1*CLHEP::GeV;
83G4bool G4HadronicParameters::IsLocked()
const {
90 if ( ! IsLocked() && val > 0.0 ) {
97 if ( ! IsLocked() && val > 0.0 ) {
98 fMinEnergyTransitionFTF_Cascade = val;
104 if ( ! IsLocked() && val > fMinEnergyTransitionFTF_Cascade ) {
105 fMaxEnergyTransitionFTF_Cascade = val;
111 if ( ! IsLocked() && val > 0.0 ) {
112 fMinEnergyTransitionQGS_FTF = val;
117 if ( ! IsLocked() && val > fMinEnergyTransitionQGS_FTF ) {
118 fMaxEnergyTransitionQGS_FTF = val;
123 if ( ! IsLocked() ) fEnableBC = val;
128 if ( ! IsLocked() ) fEnableHyperNuclei = val;
133 if ( ! IsLocked() && val >= 0 ) fVerboseLevel = val;
138 if ( ! IsLocked() && val >= 0 && val < 5*CLHEP::GeV ) {
139 fEnergyThresholdForHeavyHadrons = val;
145 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
146 fXSFactorNucleonInelastic = val;
152 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
153 fXSFactorNucleonElastic = val;
159 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
160 fXSFactorPionInelastic = val;
166 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
167 fXSFactorPionElastic = val;
173 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
174 fXSFactorHadronInelastic = val;
180 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
181 fXSFactorHadronElastic = val;
187 if ( ! IsLocked() && std::abs(val - 1.0) < fXSFactorLimit ) {
194 if ( ! IsLocked() ) fApplyFactorXS = val;
199 if ( ! IsLocked() ) fEnableCRCoalescence = val;
204 if ( ! IsLocked() ) fEnableIntegralInelasticXS = val;
209 if ( ! IsLocked() ) fEnableIntegralElasticXS = val;
214 if ( ! IsLocked() ) fEnableDiffDissociationForBGreater10 = val;
219 if ( ! IsLocked() ) fNeutronGeneral = val;
#define G4MUTEX_INITIALIZER
void SetEnableIntegralElasticXS(G4bool val)
void SetEnableDiffDissociationForBGreater10(G4bool val)
static G4HadronicParameters * Instance()
void SetXSFactorNucleonInelastic(G4double val)
void SetEnableIntegralInelasticXS(G4bool val)
void SetXSFactorPionInelastic(G4double val)
void SetVerboseLevel(const G4int val)
void SetXSFactorPionElastic(G4double val)
void SetEnableHyperNuclei(G4bool 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 SetEnableNeutronGeneralProcess(G4bool val)
void SetXSFactorNucleonElastic(G4double val)
void SetMaxEnergyTransitionFTF_Cascade(const G4double val)
static G4StateManager * GetStateManager()