122 if ( sInstance ==
nullptr ) {
124 if ( sInstance ==
nullptr ) {
125 static G4FTFTunings theFTFTuningsObject;
126 sInstance = &theFTFTuningsObject;
139G4FTFTunings::G4FTFTunings() {
144G4bool G4FTFTunings::IsLocked()
const {
152 fApplicabilityOfTunes[index] = state;
213 HDP.SetDefault(
"FTF_BARYON_PROC0_A1", 13.71 );
214 HDP.SetDefault(
"FTF_BARYON_PROC0_B1", 1.75 );
215 HDP.SetDefault(
"FTF_BARYON_PROC0_A2", -30.69 );
216 HDP.SetDefault(
"FTF_BARYON_PROC0_B2", 3.0 );
217 HDP.SetDefault(
"FTF_BARYON_PROC0_A3", 0.0 );
218 HDP.SetDefault(
"FTF_BARYON_PROC0_ATOP", 1.0 );
219 HDP.SetDefault(
"FTF_BARYON_PROC0_YMIN", 0.93 );
221 HDP.SetDefault(
"FTF_BARYON_PROC1_A1", 25.0 );
222 HDP.SetDefault(
"FTF_BARYON_PROC1_B1", 1.0 );
223 HDP.SetDefault(
"FTF_BARYON_PROC1_A2", -50.34 );
224 HDP.SetDefault(
"FTF_BARYON_PROC1_B2", 1.5 );
225 HDP.SetDefault(
"FTF_BARYON_PROC1_A3", 0.0 );
226 HDP.SetDefault(
"FTF_BARYON_PROC1_ATOP", 0.0 );
227 HDP.SetDefault(
"FTF_BARYON_PROC1_YMIN", 1.4 );
235 HDP.SetDefault(
"FTF_BARYON_DIFF_DISSO_PROJ",
false );
236 HDP.SetDefault(
"FTF_BARYON_DIFF_DISSO_TGT",
false );
240 HDP.SetDefault(
"FTF_BARYON_PROC4_A1", 0.6 );
241 HDP.SetDefault(
"FTF_BARYON_PROC4_B1", 0.0 );
242 HDP.SetDefault(
"FTF_BARYON_PROC4_A2", -1.2 );
243 HDP.SetDefault(
"FTF_BARYON_PROC4_B2", 0.5 );
244 HDP.SetDefault(
"FTF_BARYON_PROC4_A3", 0.0 );
245 HDP.SetDefault(
"FTF_BARYON_PROC4_ATOP", 0.0 );
246 HDP.SetDefault(
"FTF_BARYON_PROC4_YMIN", 1.4 );
248 HDP.SetDefault(
"FTF_BARYON_DELTA_PROB_QEXCHG", 0.0 );
249 HDP.SetDefault(
"FTF_BARYON_PROB_SAME_QEXCHG", 0.0 );
250 HDP.SetDefault(
"FTF_BARYON_DIFF_M_PROJ", 1.16, 1.16, 3.0 );
252 HDP.SetDefault(
"FTF_BARYON_NONDIFF_M_PROJ", 1.16, 1.16, 3.0 );
253 HDP.SetDefault(
"FTF_BARYON_DIFF_M_TGT", 1.16, 1.16, 3.0 );
254 HDP.SetDefault(
"FTF_BARYON_NONDIFF_M_TGT", 1.16, 1.16, 3.0 );
255 HDP.SetDefault(
"FTF_BARYON_AVRG_PT2", 0.3, 0.08, 1.0 );
264 HDP.SetDefault(
"FTF_PION_PROC0_A1", 150.0 );
265 HDP.SetDefault(
"FTF_PION_PROC0_B1", 1.8 );
266 HDP.SetDefault(
"FTF_PION_PROC0_A2", -247.3 );
267 HDP.SetDefault(
"FTF_PION_PROC0_B2", 2.3 );
268 HDP.SetDefault(
"FTF_PION_PROC0_A3", 0.0 );
269 HDP.SetDefault(
"FTF_PION_PROC0_ATOP", 1.0 );
270 HDP.SetDefault(
"FTF_PION_PROC0_YMIN", 2.3 );
272 HDP.SetDefault(
"FTF_PION_PROC1_A1", 5.77 );
273 HDP.SetDefault(
"FTF_PION_PROC1_B1", 0.6 );
274 HDP.SetDefault(
"FTF_PION_PROC1_A2", -5.77 );
275 HDP.SetDefault(
"FTF_PION_PROC1_B2", 0.8 );
276 HDP.SetDefault(
"FTF_PION_PROC1_A3", 0.0 );
277 HDP.SetDefault(
"FTF_PION_PROC1_ATOP", 0.0 );
278 HDP.SetDefault(
"FTF_PION_PROC1_YMIN", 0.0 );
296 HDP.SetDefault(
"FTF_PION_PROC3_A1", 7.0 );
297 HDP.SetDefault(
"FTF_PION_PROC3_B1", 0.9 );
298 HDP.SetDefault(
"FTF_PION_PROC3_A2", -85.28 );
299 HDP.SetDefault(
"FTF_PION_PROC3_B2", 1.9 );
300 HDP.SetDefault(
"FTF_PION_PROC3_A3", 0.08 );
301 HDP.SetDefault(
"FTF_PION_PROC3_ATOP", 0.0 );
302 HDP.SetDefault(
"FTF_PION_PROC3_YMIN", 2.2 );
309 HDP.SetDefault(
"FTF_PION_DIFF_DISSO_PROJ",
false );
310 HDP.SetDefault(
"FTF_PION_DIFF_DISSO_TGT",
false );
314 HDP.SetDefault(
"FTF_PION_PROC4_A1", 1.0 );
315 HDP.SetDefault(
"FTF_PION_PROC4_B1", 0.0 );
316 HDP.SetDefault(
"FTF_PION_PROC4_A2", -11.02 );
317 HDP.SetDefault(
"FTF_PION_PROC4_B2", 1.0 );
318 HDP.SetDefault(
"FTF_PION_PROC4_A3", 0.0 );
319 HDP.SetDefault(
"FTF_PION_PROC4_ATOP", 0.0 );
320 HDP.SetDefault(
"FTF_PION_PROC4_YMIN", 2.4 );
322 HDP.SetDefault(
"FTF_PION_DELTA_PROB_QEXCHG", 0.56 );
323 HDP.SetDefault(
"FTF_PION_DIFF_M_PROJ", 1.0, 0.5, 3.0 );
324 HDP.SetDefault(
"FTF_PION_NONDIFF_M_PROJ", 1.0, 0.5, 3.0 );
325 HDP.SetDefault(
"FTF_PION_DIFF_M_TGT", 1.16, 1.16, 3.0 );
327 HDP.SetDefault(
"FTF_PION_NONDIFF_M_TGT", 1.16, 1.16, 3.0 );
328 HDP.SetDefault(
"FTF_PION_AVRG_PT2", 0.3, 0.08, 1.0 );
336 HDP.SetDefault(
"FTF_BARYON_NUCDESTR_P1_PROJ", 1.0, 0.0, 1.0 );
337 HDP.SetDefault(
"FTF_BARYON_NUCDESTR_P1_NBRN_PROJ",
false );
341 HDP.SetDefault(
"FTF_BARYON_NUCDESTR_P1_TGT", 1.0, 0.0, 1.0 );
342 HDP.SetDefault(
"FTF_BARYON_NUCDESTR_P1_ADEP_TGT",
false );
343 HDP.SetDefault(
"FTF_BARYON_NUCDESTR_P2_TGT", 4.0, 2.0, 16.0 );
344 HDP.SetDefault(
"FTF_BARYON_NUCDESTR_P3_TGT", 2.1, 0.0, 4.0 );
346 HDP.SetDefault(
"FTF_BARYON_PT2_NUCDESTR_P1", 0.035, 0.0, 0.25 );
347 HDP.SetDefault(
"FTF_BARYON_PT2_NUCDESTR_P2", 0.04, 0.0, 0.25 );
348 HDP.SetDefault(
"FTF_BARYON_PT2_NUCDESTR_P3", 4.0, 2.0, 16.0 );
349 HDP.SetDefault(
"FTF_BARYON_PT2_NUCDESTR_P4", 2.5, 0.0, 4.0 );
351 HDP.SetDefault(
"FTF_BARYON_NUCDESTR_R2", 1.5*CLHEP::fermi*CLHEP::fermi, 0.5*CLHEP::fermi*CLHEP::fermi, 2.0*CLHEP::fermi*CLHEP::fermi );
352 HDP.SetDefault(
"FTF_BARYON_EXCI_E_PER_WNDNUCLN", 40.0*CLHEP::MeV, 0.0, 100.0*CLHEP::MeV );
353 HDP.SetDefault(
"FTF_BARYON_NUCDESTR_DISP", 0.3, 0.1, 0.4 );
360 HDP.SetDefault(
"FTF_MESON_NUCDESTR_P1_TGT", 0.00481, 0.0, 1.0 );
361 HDP.SetDefault(
"FTF_MESON_NUCDESTR_P1_ADEP_TGT",
true );
362 HDP.SetDefault(
"FTF_MESON_NUCDESTR_P2_TGT", 4.0, 2.0, 16.0 );
363 HDP.SetDefault(
"FTF_MESON_NUCDESTR_P3_TGT", 2.1, 0.0, 4.0 );
365 HDP.SetDefault(
"FTF_MESON_PT2_NUCDESTR_P1", 0.035, 0.0, 0.25 );
366 HDP.SetDefault(
"FTF_MESON_PT2_NUCDESTR_P2", 0.04, 0.0, 0.25 );
367 HDP.SetDefault(
"FTF_MESON_PT2_NUCDESTR_P3", 4.0, 2.0, 16.0 );
368 HDP.SetDefault(
"FTF_MESON_PT2_NUCDESTR_P4", 2.5, 0.0, 4.0 );
370 HDP.SetDefault(
"FTF_MESON_NUCDESTR_R2", 1.5*CLHEP::fermi*CLHEP::fermi,
371 0.5*CLHEP::fermi*CLHEP::fermi,
372 2.0*CLHEP::fermi*CLHEP::fermi );
373 HDP.SetDefault(
"FTF_MESON_EXCI_E_PER_WNDNUCLN", 40.0*CLHEP::MeV, 0.0, 100.0*CLHEP::MeV );
374 HDP.SetDefault(
"FTF_MESON_NUCDESTR_DISP", 0.3, 0.1, 0.4 );
467 HDP.DeveloperGet(
"FTF_BARYON_PROC0_A1",
fProc0A1 );
468 HDP.DeveloperGet(
"FTF_BARYON_PROC0_B1",
fProc0B1 );
469 HDP.DeveloperGet(
"FTF_BARYON_PROC0_A2",
fProc0A2 );
470 HDP.DeveloperGet(
"FTF_BARYON_PROC0_B2",
fProc0B2 );
471 HDP.DeveloperGet(
"FTF_BARYON_PROC0_A3",
fProc0A3 );
475 HDP.DeveloperGet(
"FTF_BARYON_PROC1_A1",
fProc1A1 );
476 HDP.DeveloperGet(
"FTF_BARYON_PROC1_B1",
fProc1B1 );
477 HDP.DeveloperGet(
"FTF_BARYON_PROC1_A2",
fProc1A2 );
478 HDP.DeveloperGet(
"FTF_BARYON_PROC1_B2",
fProc1B2 );
479 HDP.DeveloperGet(
"FTF_BARYON_PROC1_A3",
fProc1A3 );
489 HDP.DeveloperGet(
"FTF_BARYON_PROC4_A1",
fProc4A1 );
490 HDP.DeveloperGet(
"FTF_BARYON_PROC4_B1",
fProc4B1 );
491 HDP.DeveloperGet(
"FTF_BARYON_PROC4_A2",
fProc4A2 );
492 HDP.DeveloperGet(
"FTF_BARYON_PROC4_B2",
fProc4B2 );
493 HDP.DeveloperGet(
"FTF_BARYON_PROC4_A3",
fProc4A3 );
644 switch ( tuneIndex ) {
675 ed <<
" tuneIndex= " << tuneIndex <<
G4endl;
677 "Not present corresponding SetTuneN() method !" );
G4TemplateAutoLock< G4Mutex > G4AutoLock
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::ostringstream G4ExceptionDescription
G4HadronicDeveloperParameters & HDP
G4FTFSettingDefaultHDP FTFDefaultsHDP
#define G4MUTEX_INITIALIZER
G4FTFParamCollBaryonProj()
virtual void SetTune4() override
virtual void SetTune8() override
virtual void SetTune3() override
virtual void SetTune9() override
virtual void SetTune5() override
virtual void SetTune2() override
virtual void SetTune6() override
virtual void SetTune1() override
virtual void SetTune7() override
virtual void SetTune5() override
virtual void SetTune3() override
virtual void SetTune4() override
virtual void SetTune7() override
virtual void SetTune6() override
virtual void SetTune1() override
virtual void SetTune9() override
G4FTFParamCollMesonProj()
virtual void SetTune8() override
virtual void SetTune2() override
virtual void SetTune8() override
virtual void SetTune3() override
virtual void SetTune5() override
virtual void SetTune6() override
virtual void SetTune2() override
virtual void SetTune7() override
virtual void SetTune1() override
virtual void SetTune9() override
virtual void SetTune4() override
bool fProjDiffDissociation
double fPt2NuclearDestructP1
double fR2ofNuclearDestruct
double fNuclearTgtDestructP2
double fNuclearProjDestructP3
virtual void SetTune(const G4int tuneIndex)
double fPt2NuclearDestructP4
bool fNuclearTgtDestructP1_ADEP
double fNuclearProjDestructP2
double fProbOfSameQuarkExchange
double fMaxPt2ofNuclearDestruct
double fPt2NuclearDestructP2
double fDeltaProbAtQuarkExchange
bool fNuclearProjDestructP1_NBRNDEP
double fExciEnergyPerWoundedNucleon
double fDofNuclearDestruct
bool fTgtDiffDissociation
double fPt2NuclearDestructP3
double fTgtMinNonDiffMass
double fNuclearTgtDestructP1
double fNuclearProjDestructP1
double fNuclearTgtDestructP3
double fProjMinNonDiffMass
static const G4int sNumberOfTunes
void SetTuneApplicabilityState(const G4int index, const G4int state)
G4int GetTuneApplicabilityState(const G4int index) const
static G4FTFTunings * Instance()
G4int GetIndexTune(const G4ParticleDefinition *particleDef, const G4double ekin) const
static G4HadronicDeveloperParameters & GetInstance()
static G4StateManager * GetStateManager()