Geant4 Cross Reference |
1 // 1 2 // ******************************************* 3 // * License and Disclaimer 4 // * 5 // * The Geant4 software is copyright of th 6 // * the Geant4 Collaboration. It is provided 7 // * conditions of the Geant4 Software License 8 // * LICENSE and available at http://cern.ch/ 9 // * include a list of copyright holders. 10 // * 11 // * Neither the authors of this software syst 12 // * institutes,nor the agencies providing fin 13 // * work make any representation or warran 14 // * regarding this software system or assum 15 // * use. Please see the license in the file 16 // * for the full disclaimer and the limitatio 17 // * 18 // * This code implementation is the result 19 // * technical work of the GEANT4 collaboratio 20 // * By using, copying, modifying or distri 21 // * any work based on the software) you ag 22 // * use in resulting scientific publicati 23 // * acceptance of all terms of the Geant4 Sof 24 // ******************************************* 25 // 26 // 27 //-------------------------------------------- 28 // 29 // ClassName: G4FTFTunings 30 // 31 // Author: 2022 Alberto Ribon 32 // 33 // Description: Singleton to keep sets of p 34 // for the FTF model. 35 // 36 // Please NOTE that, as of now 37 // can be selected/applied; at 38 // will not results in any err 39 // down the workflow only the 40 // will be used. 41 // 42 // To use one of the tunes of 43 // change anything in this cla 44 // following two UI commands, 45 // /process/had/models/ftf 46 // or /process/had/models/ftf 47 // for instance: 48 // /process/had/models/ftf 49 // or 50 // /process/had/models/ftf 51 // or 52 // /process/had/models/ftf 53 // or 54 // /process/had/models/ftf 55 // or 56 // /process/had/models/ftf 57 // or 58 // /process/had/models/ftf 59 // 60 // If you want to create a new 61 // this class as follows: look 62 // available; if you find it, 63 // std::array fNameOfTunes and 64 // in the methods: G4FTFParamC 65 // G4FTFParamC 66 // G4FTFParamC 67 // G4FTFParamC 68 // Note that you need to set e 69 // with non-default values - a 70 // corresponding default value 71 // If you don't find available 72 // to increase by (at least) 1 73 // the corresponding "SetTuneN 74 // G4FTFParamCollection, G4F 75 // G4FTFParamCollMesonProj, 76 // 77 // In order to explore some va 78 // (for instance to find out a 79 // (via UI command, as explain 80 // from which you want to star 81 // then set the values of the 82 // via the following C++ code 83 // G4HadronicDeveloperParame 84 // 85 // Note: in its current, first 86 // any FTF tune is appli 87 // projectile hadrons an 88 // energy. 89 // In future versions, w 90 // are meant for specifi 91 // intervals of kinetic 92 // medium-energy, high-e 93 // 94 // Note: a few classes (writte 95 // G4FTFParameters, rela 96 // the FTF models, have 97 // source files of the c 98 // (G4FTFTunings) class, 99 // 100 // Modified: 101 // 102 //-------------------------------------------- 103 104 #include "G4FTFTunings.hh" 105 #include <CLHEP/Units/PhysicalConstants.h> 106 #include "G4ApplicationState.hh" 107 #include "G4StateManager.hh" 108 #include "G4HadronicDeveloperParameters.hh" 109 #include "G4ParticleDefinition.hh" 110 #include "G4FTFTuningsMessenger.hh" 111 #include "G4Threading.hh" 112 #include "G4AutoLock.hh" 113 114 115 116 G4FTFTunings* G4FTFTunings::sInstance = nullpt 117 118 namespace { G4Mutex paramMutex = G4MUTEX_INITI 119 120 121 G4FTFTunings* G4FTFTunings::Instance() { 122 if ( sInstance == nullptr ) { 123 G4AutoLock l( ¶mMutex ); 124 if ( sInstance == nullptr ) { 125 static G4FTFTunings theFTFTuningsObject; 126 sInstance = &theFTFTuningsObject; 127 } 128 l.unlock(); 129 } 130 return sInstance; 131 } 132 133 134 G4FTFTunings::~G4FTFTunings() { 135 delete fMessenger; 136 } 137 138 139 G4FTFTunings::G4FTFTunings() { 140 fMessenger = new G4FTFTuningsMessenger; 141 } 142 143 144 G4bool G4FTFTunings::IsLocked() const { 145 return ( ! G4Threading::IsMasterThread() || 146 G4StateManager::GetStateManager()-> 147 } 148 149 150 void G4FTFTunings::SetTuneApplicabilityState( 151 if ( IsLocked() || index < 0 || index >= sNu 152 fApplicabilityOfTunes[index] = state; 153 } 154 155 156 G4int G4FTFTunings::GetIndexTune( const G4Part 157 // For the time being, select the first alte 158 // If nothing is found, then returns 0 (whic 159 G4int indexTune = 0; 160 for ( G4int i = 1; i < sNumberOfTunes; ++i ) 161 if ( GetTuneApplicabilityState(i) != 0 ) { 162 indexTune = i; 163 break; 164 } 165 } 166 167 /* For the future 168 G4int pdgCode = std::abs( particleDef->GetPD 169 if ( particleDef != nullptr && ekin >= 0.0 170 G4bool isLowEnergy = ( ekin < fLowEnergyTh 171 G4bool isHighEnergy = ( ekin > fHighEnergy 172 G4bool isMediumEnergy = ( ( ! isLowEnergy 173 G4bool isMeson = ( pdgCode < 1000 ); 174 G4bool isPion = ( pdgCode == 211 || pdgCod 175 G4bool isKaon = ( pdgCode == 321 || pdgCod 176 G4bool isBaryon = ( pdgCode > 1000 ); 177 G4bool isNucleon = ( pdgCode == 2212 || pd 178 G4bool isAntiBaryon = particleDef->GetBary 179 // Based on the projectile type, its kinet 180 // of each tune, find the right tune to be 181 // ... 182 } 183 */ 184 185 //G4cout << "G4FTFTunings::GetIndexTune : pr 186 // << " ekin[MeV]=" << ekin << " -> i 187 // << " " << fNameOfTunes[indexTune] 188 189 return indexTune; 190 } 191 192 193 //============================================ 194 195 G4HadronicDeveloperParameters& HDP = G4Hadroni 196 197 198 class G4FTFSettingDefaultHDP { 199 public: 200 G4FTFSettingDefaultHDP() { 201 // Cross sections for elementary process 202 // 203 // these are for Inelastic interactions, 204 // for elastic, all the A's & B's, Atop 205 // general formula: Pp = A1*exp(B1*Y) + 206 // but if Y<Ymin, then Pp=max(0.,Atop) 207 // for details, see also G4FTFParameters 208 // 209 // Baryons 210 /* JVY, Oct. 31, 2017: Per Alberto R. & 211 /* JVY, June 11, 2020: try to open up... 212 // Process=0 --> Qexchg w/o excitation 213 HDP.SetDefault( "FTF_BARYON_PROC0_A1", 214 HDP.SetDefault( "FTF_BARYON_PROC0_B1", 215 HDP.SetDefault( "FTF_BARYON_PROC0_A2", - 216 HDP.SetDefault( "FTF_BARYON_PROC0_B2", 217 HDP.SetDefault( "FTF_BARYON_PROC0_A3", 218 HDP.SetDefault( "FTF_BARYON_PROC0_ATOP", 219 HDP.SetDefault( "FTF_BARYON_PROC0_YMIN", 220 // Process=1 --> Qexchg w/excitation 221 HDP.SetDefault( "FTF_BARYON_PROC1_A1", 222 HDP.SetDefault( "FTF_BARYON_PROC1_B1", 223 HDP.SetDefault( "FTF_BARYON_PROC1_A2", - 224 HDP.SetDefault( "FTF_BARYON_PROC1_B2", 225 HDP.SetDefault( "FTF_BARYON_PROC1_A3", 226 HDP.SetDefault( "FTF_BARYON_PROC1_ATOP", 227 HDP.SetDefault( "FTF_BARYON_PROC1_YMIN", 228 // Note: Process #2 & 3 are projectile & 229 // they have more complex definiti 230 // (see example below) 231 // SetParams( 2, 6.0/Xinel, 0.0 ,-6.0/Xi 232 // SetParams( 3, 6.0/Xinel, 0.0 ,-6.0/Xi 233 // Also, for ( AbsProjectileBaryonNumber 234 // projectile and/or target diffraction 235 HDP.SetDefault( "FTF_BARYON_DIFF_DISSO_P 236 HDP.SetDefault( "FTF_BARYON_DIFF_DISSO_T 237 /* JVY, Oct. 31, 2017: Per Alberto R. & 238 /* JVY, June 11, 2020: try to open up... 239 // Process=4 --> Qexchg w/additional mul 240 HDP.SetDefault( "FTF_BARYON_PROC4_A1", 241 HDP.SetDefault( "FTF_BARYON_PROC4_B1", 242 HDP.SetDefault( "FTF_BARYON_PROC4_A2", 243 HDP.SetDefault( "FTF_BARYON_PROC4_B2", 244 HDP.SetDefault( "FTF_BARYON_PROC4_A3", 245 HDP.SetDefault( "FTF_BARYON_PROC4_ATOP", 246 HDP.SetDefault( "FTF_BARYON_PROC4_YMIN", 247 // Parameters of participating hadron (b 248 HDP.SetDefault( "FTF_BARYON_DELTA_PROB_Q 249 HDP.SetDefault( "FTF_BARYON_PROB_SAME_QE 250 HDP.SetDefault( "FTF_BARYON_DIFF_M_PROJ" 251 252 HDP.SetDefault( "FTF_BARYON_NONDIFF_M_PR 253 HDP.SetDefault( "FTF_BARYON_DIFF_M_TGT", 254 HDP.SetDefault( "FTF_BARYON_NONDIFF_M_TG 255 HDP.SetDefault( "FTF_BARYON_AVRG_PT2", 0 256 // JVY, Oct. 6, 2017: Per Alberto R., ke 257 // HDP.SetDefault( "FTF_BARYON_PROB_DIST 258 // HDP.SetDefault( "FTF_BARYON_PROB_DIST 259 // Pions 260 // JVY, Aug.8, 2018 --> Feb.14, 2019 --> 261 // Parameters of participating hadron (p 262 /* JVY, June 25, 2019: For now, keep thi 263 // Process=0 --> Qexchg w/o excitation 264 HDP.SetDefault( "FTF_PION_PROC0_A1", 15 265 HDP.SetDefault( "FTF_PION_PROC0_B1", 266 HDP.SetDefault( "FTF_PION_PROC0_A2", -24 267 HDP.SetDefault( "FTF_PION_PROC0_B2", 268 HDP.SetDefault( "FTF_PION_PROC0_A3", 269 HDP.SetDefault( "FTF_PION_PROC0_ATOP", 270 HDP.SetDefault( "FTF_PION_PROC0_YMIN", 271 // Process=1 --> Qexchg w/excitation 272 HDP.SetDefault( "FTF_PION_PROC1_A1", 5 273 HDP.SetDefault( "FTF_PION_PROC1_B1", 0 274 HDP.SetDefault( "FTF_PION_PROC1_A2", -5 275 HDP.SetDefault( "FTF_PION_PROC1_B2", 0 276 HDP.SetDefault( "FTF_PION_PROC1_A3", 0 277 HDP.SetDefault( "FTF_PION_PROC1_ATOP", 0 278 HDP.SetDefault( "FTF_PION_PROC1_YMIN", 0 279 /* 280 // Note: Process #2 & 3 are projectile & 281 // Process=2 --> Projectile diffraction 282 // Q: Would it even make sense to make t 283 // The following is hadrcoded: 284 // Projectile Baryon Number > 10 (Abs 285 // ... which is "strange" because pro 286 // (see also lines 1007-1016) 287 HDP.SetDefault( "FTF_PION_PROC2_A1", 288 HDP.SetDefault( "FTF_PION_PROC2_B1", 289 HDP.SetDefault( "FTF_PION_PROC2_A2", -98 290 HDP.SetDefault( "FTF_PION_PROC2_B2", 291 HDP.SetDefault( "FTF_PION_PROC2_A3", 292 HDP.SetDefault( "FTF_PION_PROC2_ATOP", 293 HDP.SetDefault( "FTF_PION_PROC2_YMIN", 294 */ 295 // Process=3 --> Target diffraction 296 HDP.SetDefault( "FTF_PION_PROC3_A1", 297 HDP.SetDefault( "FTF_PION_PROC3_B1", 298 HDP.SetDefault( "FTF_PION_PROC3_A2", -8 299 HDP.SetDefault( "FTF_PION_PROC3_B2", 300 HDP.SetDefault( "FTF_PION_PROC3_A3", 301 HDP.SetDefault( "FTF_PION_PROC3_ATOP", 302 HDP.SetDefault( "FTF_PION_PROC3_YMIN", 303 // projectile and/or target diffraction 304 // Note: Both projectile and target diff 305 // a) Number of Target Nucleons > 10 (Nu 306 // OR 307 // b) Projectile Baryon Number > 10 (Abs 308 // ... which is "strange" because pro 309 HDP.SetDefault( "FTF_PION_DIFF_DISSO_PRO 310 HDP.SetDefault( "FTF_PION_DIFF_DISSO_TGT 311 /* JVY, June 25, 2019: For now keep this 312 /* JVY, June 11, 2020: try to open up... 313 // Process=4 --> Qexchg w/additional mul 314 HDP.SetDefault( "FTF_PION_PROC4_A1", 1 315 HDP.SetDefault( "FTF_PION_PROC4_B1", 0 316 HDP.SetDefault( "FTF_PION_PROC4_A2", -11 317 HDP.SetDefault( "FTF_PION_PROC4_B2", 1 318 HDP.SetDefault( "FTF_PION_PROC4_A3", 0 319 HDP.SetDefault( "FTF_PION_PROC4_ATOP", 0 320 HDP.SetDefault( "FTF_PION_PROC4_YMIN", 2 321 // 322 HDP.SetDefault( "FTF_PION_DELTA_PROB_QEX 323 HDP.SetDefault( "FTF_PION_DIFF_M_PROJ", 324 HDP.SetDefault( "FTF_PION_NONDIFF_M_PROJ 325 HDP.SetDefault( "FTF_PION_DIFF_M_TGT", 1 326 327 HDP.SetDefault( "FTF_PION_NONDIFF_M_TGT" 328 HDP.SetDefault( "FTF_PION_AVRG_PT2", 0.3 329 // Nuclear destruction 330 // Note: Settings of most of these param 331 // for different types of projecti 332 // However, we decided to introduc 333 // and configuration cards for eac 334 // Baryons 335 // Projectile destruction 336 HDP.SetDefault( "FTF_BARYON_NUCDESTR_P1_ 337 HDP.SetDefault( "FTF_BARYON_NUCDESTR_P1_ 338 // for now, keep fixed p2 & p3 for the p 339 // they're defined explicitly in G4FTFPa 340 // Target destruction 341 HDP.SetDefault( "FTF_BARYON_NUCDESTR_P1_ 342 HDP.SetDefault( "FTF_BARYON_NUCDESTR_P1_ 343 HDP.SetDefault( "FTF_BARYON_NUCDESTR_P2_ 344 HDP.SetDefault( "FTF_BARYON_NUCDESTR_P3_ 345 // 346 HDP.SetDefault( "FTF_BARYON_PT2_NUCDESTR 347 HDP.SetDefault( "FTF_BARYON_PT2_NUCDESTR 348 HDP.SetDefault( "FTF_BARYON_PT2_NUCDESTR 349 HDP.SetDefault( "FTF_BARYON_PT2_NUCDESTR 350 // 351 HDP.SetDefault( "FTF_BARYON_NUCDESTR_R2" 352 HDP.SetDefault( "FTF_BARYON_EXCI_E_PER_W 353 HDP.SetDefault( "FTF_BARYON_NUCDESTR_DIS 354 // JVY, Oct. 6, 2017: Per Alberto R., th 355 // and it should NOT 356 // HDP.SetDefault( "FTF_BARYON_NUCDESTR_ 357 // Mesons - these parameters are common 358 // Note: *NO* projectile destruction for 359 // Target destruction 360 HDP.SetDefault( "FTF_MESON_NUCDESTR_P1_T 361 HDP.SetDefault( "FTF_MESON_NUCDESTR_P1_A 362 HDP.SetDefault( "FTF_MESON_NUCDESTR_P2_T 363 HDP.SetDefault( "FTF_MESON_NUCDESTR_P3_T 364 // 365 HDP.SetDefault( "FTF_MESON_PT2_NUCDESTR_ 366 HDP.SetDefault( "FTF_MESON_PT2_NUCDESTR_ 367 HDP.SetDefault( "FTF_MESON_PT2_NUCDESTR_ 368 HDP.SetDefault( "FTF_MESON_PT2_NUCDESTR_ 369 // 370 HDP.SetDefault( "FTF_MESON_NUCDESTR_R2", 371 372 2.0*CLHEP::fermi*CLHEP::f 373 HDP.SetDefault( "FTF_MESON_EXCI_E_PER_WN 374 HDP.SetDefault( "FTF_MESON_NUCDESTR_DISP 375 } 376 }; 377 378 379 G4FTFSettingDefaultHDP FTFDefaultsHDP; 380 381 382 G4FTFParamCollection::G4FTFParamCollection() { 383 // Zero out everything 384 // Parameters of excitation 385 // Proc=0 --> Qexchg w/o excitation 386 fProc0A1 = 0.0; 387 fProc0B1 = 0.0; 388 fProc0A2 = 0.0; 389 fProc0B2 = 0.0; 390 fProc0A3 = 0.0; 391 fProc0Atop = 0.0; 392 fProc0Ymin = 0.0; 393 // Proc=1 --> Qexchg w/excitation 394 fProc1A1 = 0.0; 395 fProc1B1 = 0.0; 396 fProc1A2 = 0.0; 397 fProc1B2 = 0.0; 398 fProc1A3 = 0.0; 399 fProc1Atop = 0.0; 400 fProc1Ymin = 0.0; 401 // 402 fProjDiffDissociation = false; 403 fTgtDiffDissociation = false; 404 // Proc=2 --> Projectile diffraction 405 fProc2A1 = 0.0; 406 fProc2B1 = 0.0; 407 fProc2A2 = 0.0; 408 fProc2B2 = 0.0; 409 fProc2A3 = 0.0; 410 fProc2Atop = 0.0; 411 fProc2Ymin = 0.0; 412 // Proc=3 --> Target diffraction 413 fProc3A1 = 0.0; 414 fProc3B1 = 0.0; 415 fProc3A2 = 0.0; 416 fProc3B2 = 0.0; 417 fProc3A3 = 0.0; 418 fProc3Atop = 0.0; 419 fProc3Ymin = 0.0; 420 // Proc=4 --> Qexchg w/additional multiplier 421 fProc4A1 = 0.0; 422 fProc4B1 = 0.0; 423 fProc4A2 = 0.0; 424 fProc4B2 = 0.0; 425 fProc4A3 = 0.0; 426 fProc4Atop = 0.0; 427 fProc4Ymin = 0.0; 428 // Parameters of participating baryon excita 429 fDeltaProbAtQuarkExchange = 0.0; 430 fProbOfSameQuarkExchange = 0.0; 431 fProjMinDiffMass = 0.0; 432 fProjMinNonDiffMass = 0.0; 433 fTgtMinDiffMass = 0.0; 434 fTgtMinNonDiffMass = 0.0; 435 fAveragePt2 = 0.0; 436 fProbLogDistrPrD = 0.0; 437 fProbLogDistr = 0.0; 438 // Parameters of nuclear distruction 439 // COMMONs 440 fNuclearProjDestructP1 = 0.0; 441 fNuclearProjDestructP1_NBRNDEP = false; 442 fNuclearTgtDestructP1 = 0.0; 443 fNuclearTgtDestructP1_ADEP = false; 444 fNuclearProjDestructP2 = 0.0; 445 fNuclearProjDestructP3 = 0.0; 446 fNuclearTgtDestructP2 = 0.0; 447 fNuclearTgtDestructP3 = 0.0; 448 fPt2NuclearDestructP1 = 0.0; 449 fPt2NuclearDestructP2 = 0.0; 450 fPt2NuclearDestructP3 = 0.0; 451 fPt2NuclearDestructP4 = 0.0; 452 // Baryons 453 fR2ofNuclearDestruct = 0.0; 454 fExciEnergyPerWoundedNucleon = 0.0; 455 fDofNuclearDestruct = 0.0; 456 fMaxPt2ofNuclearDestruct = 0.0; 457 // Keep the 2 parameters below fixed for now 458 fNuclearProjDestructP2 = 4.0; 459 fNuclearProjDestructP3 = 2.1; 460 } 461 462 463 G4FTFParamCollBaryonProj::G4FTFParamCollBaryon 464 // Parameters of participating hadron (baryo 465 // Baryons projectile 466 // Proc=0 --> Qexchg w/o excitation 467 HDP.DeveloperGet( "FTF_BARYON_PROC0_A1", f 468 HDP.DeveloperGet( "FTF_BARYON_PROC0_B1", f 469 HDP.DeveloperGet( "FTF_BARYON_PROC0_A2", f 470 HDP.DeveloperGet( "FTF_BARYON_PROC0_B2", f 471 HDP.DeveloperGet( "FTF_BARYON_PROC0_A3", f 472 HDP.DeveloperGet( "FTF_BARYON_PROC0_ATOP", f 473 HDP.DeveloperGet( "FTF_BARYON_PROC0_YMIN", f 474 // Proc=1 --> Qexchg w/excitation 475 HDP.DeveloperGet( "FTF_BARYON_PROC1_A1", f 476 HDP.DeveloperGet( "FTF_BARYON_PROC1_B1", f 477 HDP.DeveloperGet( "FTF_BARYON_PROC1_A2", f 478 HDP.DeveloperGet( "FTF_BARYON_PROC1_B2", f 479 HDP.DeveloperGet( "FTF_BARYON_PROC1_A3", f 480 HDP.DeveloperGet( "FTF_BARYON_PROC1_ATOP", f 481 HDP.DeveloperGet( "FTF_BARYON_PROC1_YMIN", f 482 // Proc=2 & Proc=3 for the case ( AbsProject 483 // (diffraction dissociation) 484 // Note-1: used to be ( AbsProjectileBaryonN 485 // Note-2: As of 10.5, both are set to false 486 HDP.DeveloperGet( "FTF_BARYON_DIFF_DISSO_PRO 487 HDP.DeveloperGet( "FTF_BARYON_DIFF_DISSO_TGT 488 // Proc=4 --> Qexchg "w/additional multiplie 489 HDP.DeveloperGet( "FTF_BARYON_PROC4_A1", f 490 HDP.DeveloperGet( "FTF_BARYON_PROC4_B1", f 491 HDP.DeveloperGet( "FTF_BARYON_PROC4_A2", f 492 HDP.DeveloperGet( "FTF_BARYON_PROC4_B2", f 493 HDP.DeveloperGet( "FTF_BARYON_PROC4_A3", f 494 HDP.DeveloperGet( "FTF_BARYON_PROC4_ATOP", f 495 HDP.DeveloperGet( "FTF_BARYON_PROC4_YMIN", f 496 // 497 HDP.DeveloperGet( "FTF_BARYON_DELTA_PROB_QEX 498 HDP.DeveloperGet( "FTF_BARYON_PROB_SAME_QEXC 499 HDP.DeveloperGet( "FTF_BARYON_DIFF_M_PROJ", 500 HDP.DeveloperGet( "FTF_BARYON_NONDIFF_M_PROJ 501 HDP.DeveloperGet( "FTF_BARYON_DIFF_M_TGT", f 502 HDP.DeveloperGet( "FTF_BARYON_NONDIFF_M_TGT" 503 HDP.DeveloperGet( "FTF_BARYON_AVRG_PT2", fAv 504 // JVY - Per Alberto R., we're curretly keep 505 // thus they're defined here explicitly, rat 506 // HDP.DeveloperGet( "FTF_BARYON_PROB_DISTR_ 507 // HDP.DeveloperGet( "FTF_BARYON_PROB_DISTR_ 508 fProbLogDistrPrD = 0.55; 509 fProbLogDistr = 0.55; 510 // Nuclear destruction 511 // ---> LATER !!! ---> fBaryonMaxNumberOfCol 512 HDP.DeveloperGet( "FTF_BARYON_NUCDESTR_P1_PR 513 HDP.DeveloperGet( "FTF_BARYON_NUCDESTR_P1_NB 514 // Keep the 2 parameters below fixed for now 515 fNuclearProjDestructP2 = 4.0; 516 fNuclearProjDestructP3 = 2.1; 517 // 518 HDP.DeveloperGet( "FTF_BARYON_NUCDESTR_P1_TG 519 HDP.DeveloperGet( "FTF_BARYON_NUCDESTR_P1_AD 520 HDP.DeveloperGet( "FTF_BARYON_NUCDESTR_P2_TG 521 HDP.DeveloperGet( "FTF_BARYON_NUCDESTR_P3_TG 522 // 523 HDP.DeveloperGet( "FTF_BARYON_PT2_NUCDESTR_P 524 HDP.DeveloperGet( "FTF_BARYON_PT2_NUCDESTR_P 525 HDP.DeveloperGet( "FTF_BARYON_PT2_NUCDESTR_P 526 HDP.DeveloperGet( "FTF_BARYON_PT2_NUCDESTR_P 527 // 528 HDP.DeveloperGet( "FTF_BARYON_NUCDESTR_R2", 529 HDP.DeveloperGet( "FTF_BARYON_EXCI_E_PER_WND 530 // 531 HDP.DeveloperGet( "FTF_BARYON_NUCDESTR_DISP" 532 // 533 // Note-1: this parameter has changed from 1 534 // ... then it went back to 1. for t 535 // Note-2: this is a "technical" parameter, 536 // it is defined explicitly rather t 537 // --> HDP.DeveloperGet( "FTF_BARYON_NUCDEST 538 fMaxPt2ofNuclearDestruct = 9.0 * CLHEP::GeV* 539 } 540 541 542 G4FTFParamCollMesonProj::G4FTFParamCollMesonPr 543 // Nuclear destruction 544 // These parameters are common for all meson 545 HDP.DeveloperGet( "FTF_MESON_NUCDESTR_P1_TGT 546 HDP.DeveloperGet( "FTF_MESON_NUCDESTR_P1_ADE 547 HDP.DeveloperGet( "FTF_MESON_NUCDESTR_P2_TGT 548 HDP.DeveloperGet( "FTF_MESON_NUCDESTR_P3_TGT 549 // 550 HDP.DeveloperGet( "FTF_MESON_PT2_NUCDESTR_P1 551 HDP.DeveloperGet( "FTF_MESON_PT2_NUCDESTR_P2 552 HDP.DeveloperGet( "FTF_MESON_PT2_NUCDESTR_P3 553 HDP.DeveloperGet( "FTF_MESON_PT2_NUCDESTR_P4 554 // 555 HDP.DeveloperGet( "FTF_MESON_NUCDESTR_R2", f 556 HDP.DeveloperGet( "FTF_MESON_EXCI_E_PER_WNDN 557 HDP.DeveloperGet( "FTF_MESON_NUCDESTR_DISP", 558 // Note: it is a "technical" parameter, it s 559 // this is why it is defined explicitl 560 fMaxPt2ofNuclearDestruct = 1.0 * CLHEP::GeV* 561 } 562 563 564 G4FTFParamCollPionProj::G4FTFParamCollPionProj 565 // Parameters of participating pion excitati 566 // Proc=0 --> Qexchg w/o excitation 567 HDP.DeveloperGet( "FTF_PION_PROC0_A1", fPr 568 HDP.DeveloperGet( "FTF_PION_PROC0_B1", fPr 569 HDP.DeveloperGet( "FTF_PION_PROC0_A2", fPr 570 HDP.DeveloperGet( "FTF_PION_PROC0_B2", fPr 571 HDP.DeveloperGet( "FTF_PION_PROC0_A3", fPr 572 HDP.DeveloperGet( "FTF_PION_PROC0_ATOP", fPr 573 HDP.DeveloperGet( "FTF_PION_PROC0_YMIN", fPr 574 // Proc=1 --> Qexchg w/excitation 575 HDP.DeveloperGet( "FTF_PION_PROC1_A1", fPr 576 HDP.DeveloperGet( "FTF_PION_PROC1_B1", fPr 577 HDP.DeveloperGet( "FTF_PION_PROC1_A2", fPr 578 HDP.DeveloperGet( "FTF_PION_PROC1_B2", fPr 579 HDP.DeveloperGet( "FTF_PION_PROC1_A3", fPr 580 HDP.DeveloperGet( "FTF_PION_PROC1_ATOP", fPr 581 HDP.DeveloperGet( "FTF_PION_PROC1_YMIN", fPr 582 // Proc=2 --> Projectile diffraction 583 // Q: Would it even make sense to make these 584 // The following is hadrcoded: 585 // Projectile Baryon Number > 10 (AbsProj 586 // ... which is "strange" because project 587 // (see also lines 1007-1016) 588 /* As of Oct. 31, 2017 keep these fixed 589 HDP.DeveloperGet( "FTF_PION_PROC2_A1", fPr 590 HDP.DeveloperGet( "FTF_PION_PROC2_B1", fPr 591 HDP.DeveloperGet( "FTF_PION_PROC2_A2", fPr 592 HDP.DeveloperGet( "FTF_PION_PROC2_B2", fPr 593 HDP.DeveloperGet( "FTF_PION_PROC2_A3", fPr 594 HDP.DeveloperGet( "FTF_PION_PROC2_ATOP", fPr 595 HDP.DeveloperGet( "FTF_PION_PROC2_YMIN", fPr 596 */ 597 // Keep fixed so far; see note above 598 fProc2A1 = 2.27; 599 fProc2B1 = 0.5; 600 fProc2A2 = -98052.0; 601 fProc2B2 = 4.0; 602 fProc2A3 = 0.0; 603 fProc2Atop = 0.0; 604 fProc2Ymin = 3.0; 605 // 606 // Proc=3 --> Target diffraction 607 HDP.DeveloperGet( "FTF_PION_PROC3_A1", fPr 608 HDP.DeveloperGet( "FTF_PION_PROC3_B1", fPr 609 HDP.DeveloperGet( "FTF_PION_PROC3_A2", fPr 610 HDP.DeveloperGet( "FTF_PION_PROC3_B2", fPr 611 HDP.DeveloperGet( "FTF_PION_PROC3_A3", fPr 612 HDP.DeveloperGet( "FTF_PION_PROC3_ATOP", fPr 613 HDP.DeveloperGet( "FTF_PION_PROC3_YMIN", fPr 614 // For Proc2 & Proc3, pprojectile or target 615 // if num.baryons >10 (which is strange for 616 HDP.DeveloperGet( "FTF_PION_DIFF_DISSO_PROJ" 617 HDP.DeveloperGet( "FTF_PION_DIFF_DISSO_TGT", 618 // Proc=4 --> Qexchg "w/additional multiplie 619 HDP.DeveloperGet( "FTF_PION_PROC4_A1", fPr 620 HDP.DeveloperGet( "FTF_PION_PROC4_B1", fPr 621 HDP.DeveloperGet( "FTF_PION_PROC4_A2", fPr 622 HDP.DeveloperGet( "FTF_PION_PROC4_B2", fPr 623 HDP.DeveloperGet( "FTF_PION_PROC4_A3", fPr 624 HDP.DeveloperGet( "FTF_PION_PROC4_ATOP", fPr 625 HDP.DeveloperGet( "FTF_PION_PROC4_YMIN", fPr 626 // 627 HDP.DeveloperGet( "FTF_PION_DELTA_PROB_QEXCH 628 HDP.DeveloperGet( "FTF_PION_DIFF_M_PROJ", fP 629 HDP.DeveloperGet( "FTF_PION_NONDIFF_M_PROJ", 630 HDP.DeveloperGet( "FTF_PION_DIFF_M_TGT", fTg 631 HDP.DeveloperGet( "FTF_PION_NONDIFF_M_TGT", 632 HDP.DeveloperGet( "FTF_PION_AVRG_PT2", fAver 633 // 634 fProbOfSameQuarkExchange = 0.0; // This does 635 // Currently keep these two parameters fixed 636 // thus they're defined here explicitly, rat 637 fProbLogDistrPrD = 0.55; 638 fProbLogDistr = 0.55; 639 } 640 641 642 void G4FTFParamCollection::SetTune( const G4in 643 if ( tuneIndex <= 0 || tuneIndex >= G4FTFTun 644 switch ( tuneIndex ) { 645 case 1 : 646 if ( G4FTFTunings::Instance()->GetTuneAp 647 break; 648 case 2 : 649 if ( G4FTFTunings::Instance()->GetTuneAp 650 break; 651 case 3 : 652 if ( G4FTFTunings::Instance()->GetTuneAp 653 break; 654 case 4 : 655 if ( G4FTFTunings::Instance()->GetTuneAp 656 break; 657 case 5 : 658 if ( G4FTFTunings::Instance()->GetTuneAp 659 break; 660 case 6 : 661 if ( G4FTFTunings::Instance()->GetTuneAp 662 break; 663 case 7 : 664 if ( G4FTFTunings::Instance()->GetTuneAp 665 break; 666 case 8 : 667 if ( G4FTFTunings::Instance()->GetTuneAp 668 break; 669 case 9 : 670 if ( G4FTFTunings::Instance()->GetTuneAp 671 break; 672 // Add here other cases 673 default: 674 G4ExceptionDescription ed; 675 ed << " tuneIndex= " << tuneIndex << G4e 676 G4Exception( "G4FTFParamCollection::SetT 677 "Not present corresponding 678 } 679 //G4cout << "Called G4FTFParamCollection::Se 680 // << " " << G4FTFTunings::Instance()- 681 } 682 683 684 //============================================ 685 // 1st (alternative) TUNE (i.e. indexTune = 686 // 687 // This realistic, alternative tune has been d 688 // and presented at the hadronic group meeting 689 // 690 // Note: the 0th tune, i.e. indexTune == 0, co 691 // set of FTF parameters. 692 // 693 //============================================ 694 695 void G4FTFParamCollection::SetTune1() { 696 // An empty method implies the take the defa 697 // i.e. as set in G4FTFParamCollection::G4FT 698 } 699 700 701 void G4FTFParamCollBaryonProj::SetTune1() { 702 G4FTFParamCollection::SetTune1(); 703 /* 704 // Parameters of participating hadron (baryo 705 // Baryons projectile 706 // Proc=0 --> Qexchg w/o excitation 707 fProc0A1 = ???; // FTF_BARYON_PROC0_A1 708 fProc0B1 = ???; // FTF_BARYON_PROC0_B1 709 fProc0A2 = ???; // FTF_BARYON_PROC0_A2 710 fProc0B2 = ???; // FTF_BARYON_PROC0_B2 711 fProc0A3 = ???; // FTF_BARYON_PROC0_A3 712 fProc0Atop = ???; // FTF_BARYON_PROC0_ATOP 713 fProc0Ymin = ???; // FTF_BARYON_PROC0_YMIN 714 // Proc=1 --> Qexchg w/excitation 715 fProc1A1 = ???; // FTF_BARYON_PROC1_A1 716 fProc1B1 = ???; // FTF_BARYON_PROC1_B1 717 fProc1A2 = ???; // FTF_BARYON_PROC1_A2 718 fProc1B2 = ???; // FTF_BARYON_PROC1_B2 719 fProc1A3 = ???; // FTF_BARYON_PROC1_A3 720 fProc1Atop = ???; // FTF_BARYON_PROC1_ATOP 721 fProc1Ymin = ???; // FTF_BARYON_PROC1_YMIN 722 // Proc=2 & Proc=3 for the case (diffraction 723 fProjDiffDissociation = ???; // FTF_BARYON_ 724 fTgtDiffDissociation = ???; // FTF_BARYON_ 725 // Proc=4 --> Qexchg "w/additional multiplie 726 fProc4A1 = ???; // FTF_BARYON_PROC4_A1 727 fProc4B1 = ???; // FTF_BARYON_PROC4_B1 728 fProc4A2 = ???; // FTF_BARYON_PROC4_A2 729 fProc4B2 = ???; // FTF_BARYON_PROC4_B2 730 fProc4A3 = ???; // FTF_BARYON_PROC4_A3 731 fProc4Atop = ???; // FTF_BARYON_PROC4_ATOP 732 fProc4Ymin = ???; // FTF_BARYON_PROC4_YMIN 733 // 734 fDeltaProbAtQuarkExchange = ???; // FTF_BAR 735 fProbOfSameQuarkExchange = ???; // FTF_BAR 736 fProjMinDiffMass = ???; // FTF_BAR 737 fProjMinNonDiffMass = ???; // FTF_BAR 738 fTgtMinDiffMass = ???; // FTF_BAR 739 fTgtMinNonDiffMass = ???; // FTF_BAR 740 fAveragePt2 = ???; // FTF_BAR 741 // Nuclear destruction 742 fNuclearProjDestructP1 = ???; // FT 743 fNuclearProjDestructP1_NBRNDEP = ???; // FT 744 // 745 fNuclearTgtDestructP1 = ???; // FTF_BA 746 fNuclearTgtDestructP1_ADEP = ???; // FTF_BA 747 fNuclearTgtDestructP2 = ???; // FTF_BA 748 fNuclearTgtDestructP3 = ???; // FTF_BA 749 // 750 fPt2NuclearDestructP1 = ???; // FTF_BARYON_ 751 fPt2NuclearDestructP2 = ???; // FTF_BARYON_ 752 fPt2NuclearDestructP3 = ???; // FTF_BARYON_ 753 fPt2NuclearDestructP4 = ???; // FTF_BARYON_ 754 // 755 fR2ofNuclearDestruct = ???; // FTF_ 756 fExciEnergyPerWoundedNucleon = ???; // FTF_ 757 // 758 fDofNuclearDestruct = ???; // FTF_BARYON_NU 759 */ 760 // Values below from Julia Yarba's slides at 761 fExciEnergyPerWoundedNucleon = 26.1; // +/- 762 fNuclearTgtDestructP1 = 0.00173; // +/- 763 fNuclearTgtDestructP1_ADEP = true; 764 fProc1A1 = 23.6; // +/- 765 fProc1A2 = -99.3; // +/- 766 fProc1B1 = 0.815; // +/- 767 fProc1B2 = 1.98; // +/- 768 } 769 770 771 void G4FTFParamCollMesonProj::SetTune1() { 772 G4FTFParamCollection::SetTune1(); 773 /* 774 // Nuclear destruction 775 fNuclearTgtDestructP1 = ???; // FTF_ 776 fNuclearTgtDestructP1_ADEP = ???; // FTF_ 777 fNuclearTgtDestructP2 = ???; // FTF_ 778 fNuclearTgtDestructP3 = ???; // FTF_ 779 // 780 fPt2NuclearDestructP1 = ???; // FTF_ 781 fPt2NuclearDestructP2 = ???; // FTF_ 782 fPt2NuclearDestructP3 = ???; // FTF_ 783 fPt2NuclearDestructP4 = ???; // FTF_ 784 // 785 fR2ofNuclearDestruct = ???; // FTF_ 786 fExciEnergyPerWoundedNucleon = ???; // FTF_ 787 fDofNuclearDestruct = ???; // FTF_ 788 */ 789 } 790 791 792 void G4FTFParamCollPionProj::SetTune1( ) { 793 G4FTFParamCollMesonProj::SetTune1(); 794 /* 795 // Parameters of participating pion excitati 796 // Proc=0 --> Qexchg w/o excitation 797 fProc0A1 = ???; // FTF_PION_PROC0_A1 798 fProc0B1 = ???; // FTF_PION_PROC0_B1 799 fProc0A2 = ???; // FTF_PION_PROC0_A2 800 fProc0B2 = ???; // FTF_PION_PROC0_B2 801 fProc0A3 = ???; // FTF_PION_PROC0_A3 802 fProc0Atop = ???; // FTF_PION_PROC0_ATOP 803 fProc0Ymin = ???; // FTF_PION_PROC0_YMIN 804 // Proc=1 --> Qexchg w/excitation 805 fProc1A1 = ???; // FTF_PION_PROC1_A1 806 fProc1B1 = ???; // FTF_PION_PROC1_B1 807 fProc1A2 = ???; // FTF_PION_PROC1_A2 808 fProc1B2 = ???; // FTF_PION_PROC1_B2 809 fProc1A3 = ???; // FTF_PION_PROC1_A3 810 fProc1Atop = ???; // FTF_PION_PROC1_ATOP 811 fProc1Ymin = ???; // FTF_PION_PROC1_YMIN 812 // Proc=2 --> Projectile diffraction : keep 813 //Fixed fProc2A1 = ???; // FTF_PION_PROC 814 //Fixed fProc2B1 = ???; // FTF_PION_PROC 815 //Fixed fProc2A2 = ???; // FTF_PION_PROC 816 //Fixed fProc2B2 = ???; // FTF_PION_PROC 817 //Fixed fProc2A3 = ???; // FTF_PION_PROC 818 //Fixed fProc2Atop = ???; // FTF_PION_PROC 819 //Fixed fProc2Ymin = ???; // FTF_PION_PROC 820 // Proc=3 --> Target diffraction 821 fProc3A1 = ???; // FTF_PION_PROC3_A1 822 fProc3B1 = ???; // FTF_PION_PROC3_B1 823 fProc3A2 = ???; // FTF_PION_PROC3_A2 824 fProc3B2 = ???; // FTF_PION_PROC3_B2 825 fProc3A3 = ???; // FTF_PION_PROC3_A3 826 fProc3Atop = ???; // FTF_PION_PROC3_ATOP 827 fProc3Ymin = ???; // FTF_PION_PROC3_YMIN 828 // 829 fProjDiffDissociation = ???; // FTF_PION_DI 830 fTgtDiffDissociation = ???; // FTF_PION_DI 831 // 832 // Proc=4 --> Qexchg "w/additional multiplie 833 fProc4A1 = ???; // FTF_PION_PROC4_A1 834 fProc4B1 = ???; // FTF_PION_PROC4_B1 835 fProc4A2 = ???; // FTF_PION_PROC4_A2 836 fProc4B2 = ???; // FTF_PION_PROC4_B2 837 fProc4A3 = ???; // FTF_PION_PROC4_A3 838 fProc4Atop = ???; // FTF_PION_PROC4_ATOP 839 fProc4Ymin = ???; // FTF_PION_PROC4_YMIN 840 // 841 fDeltaProbAtQuarkExchange = ???; // FTF_PIO 842 fProjMinDiffMass = ???; // FTF_PIO 843 fProjMinNonDiffMass = ???; // FTF_PIO 844 fTgtMinDiffMass = ???; // FTF_PIO 845 fTgtMinNonDiffMass = ???; // FTF_PIO 846 fAveragePt2 = ???; // FTF_PIO 847 */ 848 } 849 850 //============================================ 851 // 2nd (alternative) TUNE (i.e. indexTune = 852 // 853 // This is work-in-progress, very preliminary 854 // has been outlined by Julia Yarba presented 855 // The nuclear destruction parameters that are 856 // (see G4FTFParamCollMesonProj::SetTune2) 857 // while the Qexchg with excitationn of partic 858 // for *pion" projectile only (see G4FTFParamC 859 // 860 //============================================ 861 862 void G4FTFParamCollection::SetTune2() { 863 // An empty method implies the take the defa 864 // i.e. as set in G4FTFParamCollection::G4FT 865 } 866 867 868 void G4FTFParamCollBaryonProj::SetTune2() { 869 G4FTFParamCollection::SetTune2(); 870 //... 871 } 872 873 874 void G4FTFParamCollMesonProj::SetTune2() { 875 G4FTFParamCollection::SetTune2(); 876 // Nuclear destruction 877 // Note: these values are the same for all m 878 // (although bear in mind that they've 879 // via fits against experimaental dat 880 fExciEnergyPerWoundedNucleon = 58.1; // +/- 881 fNuclearTgtDestructP1 = 0.001026; // +/- 882 fNuclearTgtDestructP1_ADEP = true; 883 } 884 885 886 void G4FTFParamCollPionProj::SetTune2( ) { 887 G4FTFParamCollMesonProj::SetTune2(); 888 // Proc=1 --> Qexchg w/excitation 889 fProc1A1 = 5.84; // +/- 0.12 // FT 890 fProc1B1 = 0.337; // +/- 0.006 // FT 891 fProc1A2 = -7.57; // +/- 0.08 // FT 892 fProc1B2 = 0.44; // +/- 0.008 // FT 893 } 894 895 //============================================ 896 // 3rd (alternative) TUNE (i.e. indexTune = 897 // 898 // Combination of the 1st (baryon) and 2nd 899 // 900 //============================================ 901 902 void G4FTFParamCollection::SetTune3() { 903 // An empty method implies the take the defa 904 // i.e. as set in G4FTFParamCollection::G4FT 905 } 906 907 908 void G4FTFParamCollBaryonProj::SetTune3() { 909 G4FTFParamCollection::SetTune3(); 910 // Values below from Julia Yarba's slides at 911 fExciEnergyPerWoundedNucleon = 26.1; // +/- 912 fNuclearTgtDestructP1 = 0.00173; // +/- 913 fNuclearTgtDestructP1_ADEP = true; 914 fProc1A1 = 23.6; // +/- 915 fProc1A2 = -99.3; // +/- 916 fProc1B1 = 0.815; // +/- 917 fProc1B2 = 1.98; // +/- 918 } 919 920 921 void G4FTFParamCollMesonProj::SetTune3() { 922 G4FTFParamCollection::SetTune3(); 923 // Nuclear destruction 924 // Note: These values are the same for all m 925 // (although bear in mind that they've 926 // via fits against experimaental dat 927 // 928 fExciEnergyPerWoundedNucleon = 58.1; // +/- 929 fNuclearTgtDestructP1 = 0.001026; // +/- 930 fNuclearTgtDestructP1_ADEP = true; 931 } 932 933 934 void G4FTFParamCollPionProj::SetTune3( ) { 935 G4FTFParamCollMesonProj::SetTune3(); 936 // Proc=1 --> Qexchg w/excitation 937 fProc1A1 = 5.84; // +/- 0.12 // FT 938 fProc1B1 = 0.337; // +/- 0.006 // FT 939 fProc1A2 = -7.57; // +/- 0.08 // FT 940 fProc1B2 = 0.44; // +/- 0.008 // FT 941 } 942 943 //============================================ 944 // 4th (alternative) TUNE (i.e. indexTune = 945 // 946 // Tune meant to overcome the too narrow (i.e. 947 // energy resolutions in ATLAS calorimeters wi 948 // data. 949 // 950 //============================================ 951 952 void G4FTFParamCollection::SetTune4() { 953 // An empty method implies the take the defa 954 // i.e. as set in G4FTFParamCollection::G4FT 955 } 956 957 958 void G4FTFParamCollBaryonProj::SetTune4() { 959 G4FTFParamCollection::SetTune4(); 960 } 961 962 963 void G4FTFParamCollMesonProj::SetTune4() { 964 G4FTFParamCollection::SetTune4(); 965 // Nuclear destruction 966 // Note: these values are the same for all m 967 fExciEnergyPerWoundedNucleon = 50.0; // FTF 968 fNuclearTgtDestructP1 = 1.0; // FTF 969 fNuclearTgtDestructP1_ADEP = false; // FTF 970 } 971 972 973 void G4FTFParamCollPionProj::SetTune4( ) { 974 G4FTFParamCollMesonProj::SetTune4(); 975 // Proc=0 --> Quark exchange without excitat 976 fProc0A1 = 720.0; // FTF_PION_PROC0_A1 977 fProc0B1 = 2.5; // FTF_PION_PROC0_B1 978 fProc0A2 = 2.3; // FTF_PION_PROC0_A2 979 fProc0B2 = 1.0; // FTF_PION_PROC0_B2 980 fProc0A3 = 0.0; // FTF_PION_PROC0_A3 981 fProc0Atop = 1.0; // FTF_PION_PROC0_Atop 982 fProc0Ymin = 2.7; // FTF_PION_PROC0_Ymin 983 // Proc=1 --> Quark exchange with excitation 984 fProc1A1 = 12.87; // FTF_PION_PROC1_A1 985 fProc1B1 = 0.5; // FTF_PION_PROC1_B1 986 fProc1A2 = -44.91; // FTF_PION_PROC1_A2 987 fProc1B2 = 1.0; // FTF_PION_PROC1_B2 988 fProc1A3 = 0.0; // FTF_PION_PROC1_A3 989 fProc1Atop = 0.0; // FTF_PION_PROC1_Atop 990 fProc1Ymin = 2.5; // FTF_PION_PROC1_Ymin 991 // Proc=4 --> Quark exchange with excitation 992 fProc4A1 = 1.0; // FTF_PION_PROC4_A1 993 fProc4B1 = 0.0; // FTF_PION_PROC4_B1 994 fProc4A2 = -3.49; // FTF_PION_PROC4_A2 995 fProc4B2 = 0.5; // FTF_PION_PROC4_B2 996 fProc4A3 = 0.0; // FTF_PION_PROC4_A3 997 fProc4Atop = 0.0; // FTF_PION_PROC4_Atop 998 fProc4Ymin = 2.5; // FTF_PION_PROC4_Ymin 999 } 1000 1001 //=========================================== 1002 // 5th (alternative) TUNE (i.e. indexTune 1003 // 1004 // DUMMY tune: identical to the default se 1005 // You can replace it with a " 1006 // only the non-default parame 1007 //=========================================== 1008 1009 void G4FTFParamCollection::SetTune5() { 1010 // An empty method implies the take the def 1011 // i.e. as set in G4FTFParamCollection::G4F 1012 } 1013 1014 1015 void G4FTFParamCollBaryonProj::SetTune5() { 1016 G4FTFParamCollection::SetTune5(); 1017 //... 1018 } 1019 1020 1021 void G4FTFParamCollMesonProj::SetTune5() { 1022 G4FTFParamCollection::SetTune5(); 1023 //... 1024 } 1025 1026 1027 void G4FTFParamCollPionProj::SetTune5( ) { 1028 G4FTFParamCollMesonProj::SetTune5(); 1029 //... 1030 } 1031 1032 //=========================================== 1033 // 6th (alternative) TUNE (i.e. indexTune 1034 // 1035 // DUMMY tune: identical to the default se 1036 // You can replace it with a " 1037 // only the non-default parame 1038 //=========================================== 1039 1040 void G4FTFParamCollection::SetTune6() { 1041 // An empty method implies the take the def 1042 // i.e. as set in G4FTFParamCollection::G4F 1043 } 1044 1045 1046 void G4FTFParamCollBaryonProj::SetTune6() { 1047 G4FTFParamCollection::SetTune6(); 1048 //... 1049 } 1050 1051 1052 void G4FTFParamCollMesonProj::SetTune6() { 1053 G4FTFParamCollection::SetTune6(); 1054 //... 1055 } 1056 1057 1058 void G4FTFParamCollPionProj::SetTune6( ) { 1059 G4FTFParamCollMesonProj::SetTune6(); 1060 //... 1061 } 1062 1063 //=========================================== 1064 // 7th (alternative) TUNE (i.e. indexTune 1065 // 1066 // DUMMY tune: identical to the default se 1067 // You can replace it with a " 1068 // only the non-default parame 1069 //=========================================== 1070 1071 void G4FTFParamCollection::SetTune7() { 1072 // An empty method implies the take the def 1073 // i.e. as set in G4FTFParamCollection::G4F 1074 } 1075 1076 1077 void G4FTFParamCollBaryonProj::SetTune7() { 1078 G4FTFParamCollection::SetTune7(); 1079 //... 1080 } 1081 1082 1083 void G4FTFParamCollMesonProj::SetTune7() { 1084 G4FTFParamCollection::SetTune7(); 1085 //... 1086 } 1087 1088 1089 void G4FTFParamCollPionProj::SetTune7( ) { 1090 G4FTFParamCollMesonProj::SetTune7(); 1091 //... 1092 } 1093 1094 //=========================================== 1095 // 8th (alternative) TUNE (i.e. indexTune 1096 // 1097 // DUMMY tune: identical to the default se 1098 // You can replace it with a " 1099 // only the non-default parame 1100 //=========================================== 1101 1102 void G4FTFParamCollection::SetTune8() { 1103 // An empty method implies the take the def 1104 // i.e. as set in G4FTFParamCollection::G4F 1105 } 1106 1107 1108 void G4FTFParamCollBaryonProj::SetTune8() { 1109 G4FTFParamCollection::SetTune8(); 1110 //... 1111 } 1112 1113 1114 void G4FTFParamCollMesonProj::SetTune8() { 1115 G4FTFParamCollection::SetTune8(); 1116 //... 1117 } 1118 1119 1120 void G4FTFParamCollPionProj::SetTune8( ) { 1121 G4FTFParamCollMesonProj::SetTune8(); 1122 //... 1123 } 1124 1125 //=========================================== 1126 // 9th (alternative) TUNE (i.e. indexTune 1127 // 1128 // DUMMY tune: identical to the default se 1129 // You can replace it with a " 1130 // only the non-default parame 1131 //=========================================== 1132 1133 void G4FTFParamCollection::SetTune9() { 1134 // An empty method implies the take the def 1135 // i.e. as set in G4FTFParamCollection::G4F 1136 } 1137 1138 1139 void G4FTFParamCollBaryonProj::SetTune9() { 1140 G4FTFParamCollection::SetTune9(); 1141 //... 1142 } 1143 1144 1145 void G4FTFParamCollMesonProj::SetTune9() { 1146 G4FTFParamCollection::SetTune9(); 1147 //... 1148 } 1149 1150 1151 void G4FTFParamCollPionProj::SetTune9( ) { 1152 G4FTFParamCollMesonProj::SetTune9(); 1153 //... 1154 } 1155 1156 //... 1157