Changeset 1337 for trunk/examples/extended/hadronic/Hadr01/src
- Timestamp:
- Sep 30, 2010, 2:47:17 PM (14 years ago)
- Location:
- trunk/examples/extended/hadronic/Hadr01/src
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/examples/extended/hadronic/Hadr01/src/CheckVolumeSD.cc
r1230 r1337 25 25 // 26 26 // $Id: CheckVolumeSD.cc,v 1.3 2006/06/29 17:24:02 gunter Exp $ 27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc
r1230 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: DetectorConstruction.cc,v 1. 6 2006/10/04 09:56:03vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $26 // $Id: DetectorConstruction.cc,v 1.7 2010/06/11 17:01:26 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 ///////////////////////////////////////////////////////////////////////// … … 151 151 152 152 // colors 153 logicWorld->SetVisAttributes(G4VisAttributes::Invisible); 154 155 G4VisAttributes* regWcolor = new G4VisAttributes(G4Colour(0.3, 0.3, 0.3)); 156 logicCheck->SetVisAttributes(regWcolor); 157 158 G4VisAttributes* regCcolor = new G4VisAttributes(G4Colour(0., 0.3, 0.7)); 159 logicTarget->SetVisAttributes(regCcolor); 153 G4VisAttributes zero = G4VisAttributes::Invisible; 154 logicWorld->SetVisAttributes(&zero); 155 156 G4VisAttributes regWcolor(G4Colour(0.3, 0.3, 0.3)); 157 logicCheck->SetVisAttributes(®Wcolor); 158 159 G4VisAttributes regCcolor(G4Colour(0., 0.3, 0.7)); 160 logicTarget->SetVisAttributes(®Ccolor); 160 161 161 162 G4cout << *(G4Material::GetMaterialTable()) << G4endl; -
trunk/examples/extended/hadronic/Hadr01/src/DetectorMessenger.cc
r1230 r1337 25 25 // 26 26 // $Id: DetectorMessenger.cc,v 1.7 2007/05/16 11:43:30 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/src/EventAction.cc
r1230 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: EventAction.cc,v 1. 4 2007/05/16 11:43:30 vnivanchExp $27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $26 // $Id: EventAction.cc,v 1.6 2010/06/07 05:40:46 perl Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 ///////////////////////////////////////////////////////////////////////// … … 45 45 46 46 #include "G4UImanager.hh" 47 #include "G4TrajectoryContainer.hh"48 #include "G4Trajectory.hh"49 #include "G4VVisManager.hh"50 47 #include "G4ios.hh" 51 48 … … 99 96 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... 100 97 101 void EventAction::EndOfEventAction(const G4Event* evt)98 void EventAction::EndOfEventAction(const G4Event*) 102 99 { 103 G4VVisManager* pVVisManager = G4VVisManager::GetConcreteInstance();104 105 if(pVVisManager) {106 G4TrajectoryContainer* trjc = evt->GetTrajectoryContainer();107 G4int n_trajectories = 0;108 if (trjc) n_trajectories = trjc->entries();109 110 for(G4int i=0; i<n_trajectories; i++) {111 G4Trajectory* t = (G4Trajectory*)((*(evt->GetTrajectoryContainer()))[i]);112 if (drawFlag == "all") t->DrawTrajectory(1000);113 else if ((drawFlag == "charged")&&(t->GetCharge() != 0.))114 t->DrawTrajectory(1000);115 else if ((drawFlag == "neutral")&&(t->GetCharge() == 0.))116 t->DrawTrajectory(1000);117 else if ((drawFlag == "charged+n")&&((t->GetCharge() != 0.)||118 (t->GetCharge()==0.&&t->GetParticleName()=="neutron")))119 t->DrawTrajectory(1000);120 }121 }122 123 100 if(debugStarted) { 124 101 UI->ApplyCommand("/tracking/verbose 0"); -
trunk/examples/extended/hadronic/Hadr01/src/EventActionMessenger.cc
r1230 r1337 25 25 // 26 26 // $Id: EventActionMessenger.cc,v 1.3 2006/06/29 17:24:11 gunter Exp $ 27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/src/HistoManager.cc
r1230 r1337 24 24 // ******************************************************************** 25 25 // 26 // $Id: HistoManager.cc,v 1.1 6 2009/09/02 10:21:32vnivanch Exp $27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $26 // $Id: HistoManager.cc,v 1.17 2010/01/13 15:53:44 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 //--------------------------------------------------------------------------- … … 422 422 // Forward 423 423 if(z > -absZ0 && dir.z() > 0.0) { 424 isLeaking = true; 424 425 if(pd == neutron) { 425 n_neu_forw++;426 ++n_neu_forw; 426 427 histo->fill(15,e,1.0); 427 428 } else isLeaking = true; … … 429 430 // Backward 430 431 } else if (z < absZ0 && dir.z() < 0.0) { 432 isLeaking = true; 431 433 if(pd == neutron) { 432 n_neu_leak++;434 ++n_neu_back; 433 435 histo->fill(16,e,1.0); 434 436 } else isLeaking = true; … … 438 440 isLeaking = true; 439 441 if(pd == neutron) { 440 n_neu_back++;442 ++n_neu_leak; 441 443 histo->fill(14,e,1.0); 442 444 } else isLeaking = true; … … 447 449 if(pd == G4Proton::Proton()) { 448 450 histo->fill(17,e,1.0); 449 n_prot_leak++;451 ++n_prot_leak; 450 452 } else if (pd == G4PionPlus::PionPlus() || pd == G4PionMinus::PionMinus()) { 451 453 histo->fill(18,e,1.0); 452 n_pion_leak++;454 ++n_pion_leak; 453 455 } 454 456 } -
trunk/examples/extended/hadronic/Hadr01/src/HistoMessenger.cc
r1230 r1337 26 26 // 27 27 // $Id: HistoMessenger.cc,v 1.5 2006/06/29 17:24:18 gunter Exp $ 28 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $28 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 29 29 // 30 30 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/src/PhysicsList.cc
r1230 r1337 25 25 // 26 26 // 27 // $Id: PhysicsList.cc,v 1.3 1 2009/08/28 09:21:34vnivanch Exp $28 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // $Id: PhysicsList.cc,v 1.33 2010/06/11 17:01:26 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 29 29 // 30 30 ///////////////////////////////////////////////////////////////////////// … … 45 45 46 46 #include "G4DecayPhysics.hh" 47 #include "G4EmStandardPhysics.hh" 48 #include "G4EmStandardPhysics_option1.hh" 49 #include "G4EmStandardPhysics_option2.hh" 47 50 #include "G4EmStandardPhysics_option3.hh" 48 #include "G4EmStandardPhysics_option2.hh" 49 #include "G4EmStandardPhysics_option1.hh" 50 #include "G4EmStandardPhysics.hh" 51 #include "G4EmLivermorePhysics.hh" 52 #include "G4EmPenelopePhysics.hh" 51 53 #include "G4HadronElasticPhysics.hh" 52 54 #include "G4HadronDElasticPhysics.hh" 53 55 #include "G4HadronQElasticPhysics.hh" 56 #include "G4HadronElasticPhysicsHP.hh" 57 #include "G4HadronElasticPhysicsLHEP.hh" 54 58 #include "G4HadronHElasticPhysics.hh" 55 59 #include "G4ChargeExchangePhysics.hh" … … 92 96 #include "G4Electron.hh" 93 97 #include "G4Positron.hh" 98 #include "G4Proton.hh" 94 99 95 100 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... … … 98 103 { 99 104 G4LossTableManager::Instance(); 100 defaultCutValue = 1.*mm;105 defaultCutValue = 0.7*mm; 101 106 cutForGamma = defaultCutValue; 102 107 cutForElectron = defaultCutValue; 103 108 cutForPositron = defaultCutValue; 104 dump = false;109 cutForProton = defaultCutValue; 105 110 verboseLevel = 1; 106 111 … … 167 172 emPhysicsList = new G4EmStandardPhysics_option1(); 168 173 174 } else if (name == "emstandard_opt0") { 175 176 delete emPhysicsList; 177 emPhysicsList = new G4EmStandardPhysics(); 178 169 179 } else if (name == "FTFP_BERT_EMV") { 170 180 … … 177 187 AddPhysicsList("FTFP_BERT"); 178 188 179 } else if (name == "FTFP ") {189 } else if (name == "FTFP_BERT") { 180 190 181 191 SetBuilderList1(); 182 hadronPhys.push_back( new HadronPhysicsFTFP("hadron",true)); 183 dump = true; 184 185 } else if (name == "FTFP_BERT") { 192 hadronPhys.push_back( new HadronPhysicsFTFP_BERT()); 193 194 } else if (name == "FTFP_BERT_TRV") { 186 195 187 196 SetBuilderList1(); 188 hadronPhys.push_back( new HadronPhysicsFTFP_BERT("hadron",true)); 189 dump = true; 190 191 } else if (name == "FTFP_BERT_TRV") { 192 193 SetBuilderList1(); 194 hadronPhys.push_back( new HadronPhysicsFTFP_BERT_TRV("hadron",true)); 195 dump = true; 197 hadronPhys.push_back( new HadronPhysicsFTFP_BERT_TRV()); 196 198 197 199 } else if (name == "FTF_BIC") { 198 200 199 201 SetBuilderList0(); 200 hadronPhys.push_back( new HadronPhysicsFTF_BIC("hadron",true)); 201 dump = true; 202 hadronPhys.push_back( new HadronPhysicsFTF_BIC()); 202 203 203 204 } else if (name == "LHEP") { 204 205 205 206 SetBuilderList2(); 206 hadronPhys.push_back( new HadronPhysicsLHEP("hadron")); 207 dump = true; 207 hadronPhys.push_back( new HadronPhysicsLHEP()); 208 208 209 209 } else if (name == "LHEP_EMV") { … … 211 211 AddPhysicsList("emstandard_opt1"); 212 212 SetBuilderList3(); 213 hadronPhys.push_back( new HadronPhysicsLHEP_EMV("hadron")); 214 dump = true; 213 hadronPhys.push_back( new HadronPhysicsLHEP_EMV()); 215 214 216 215 } else if (name == "QBBC") { 217 216 218 SetBuilderList0(); 219 hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, 220 false,true,false,false,false)); 221 222 } else if (name == "QBBCG") { 223 224 SetBuilderList0(); 225 hadronPhys.push_back( new G4ChargeExchangePhysics(verboseLevel,false)); 226 hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, 227 false,true,false,false,true)); 228 } else if (name == "QBBCF") { 229 230 SetBuilderList0(); 231 hadronPhys.push_back( new G4ChargeExchangePhysics(verboseLevel,false)); 232 hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, 233 false,true,false,false,false)); 234 235 } else if (name == "QBBC_DEL") { 236 237 SetBuilderList5(); 238 hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, 239 false,false,false,false,true)); 240 241 } else if (name == "QBBC_HEL") { 242 217 AddPhysicsList("emstandard_opt2"); 243 218 SetBuilderList6(); 244 hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, 245 false,false,false,false,true)); 246 247 } else if (name == "QBBC_HP") { 248 249 SetBuilderList0(true); 250 hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, 251 false,false,false,true,true)); 252 } else if (name == "QGSC") { 219 hadronPhys.push_back( new G4HadronInelasticQBBC()); 220 221 } else if (name == "QBBC_XGG") { 222 223 AddPhysicsList("emstandard_opt2"); 224 SetBuilderList6(); 225 hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC_XGG",verboseLevel)); 226 227 } else if (name == "QBBC_XGGSN") { 228 229 AddPhysicsList("emstandard_opt2"); 230 SetBuilderList6(); 231 hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC_XGG",verboseLevel)); 232 233 234 } else if (name == "QGSC_BERT") { 253 235 254 236 SetBuilderList4(); 255 hadronPhys.push_back( new HadronPhysicsQGSC("hadron",true)); 256 dump = true; 257 258 } else if (name == "QGSC_BERT") { 237 hadronPhys.push_back( new HadronPhysicsQGSC_BERT()); 238 239 } else if (name == "QGSC_CHIPS") { 259 240 260 241 SetBuilderList4(); 261 hadronPhys.push_back( new HadronPhysicsQGSC_BERT("hadron",true)); 262 dump = true; 263 264 } else if (name == "QGSC_CHIPS") { 265 266 SetBuilderList4(); 267 hadronPhys.push_back( new HadronPhysicsQGSC_CHIPS("hadron",true)); 268 dump = true; 269 270 } else if (name == "QGSC_QGSC") { 271 272 SetBuilderList4(); 273 hadronPhys.push_back( new HadronPhysicsQGSC_QGSC("hadron",true)); 274 dump = true; 275 276 } else if (name == "QGSC_EMV") { 277 278 AddPhysicsList("emstandard_opt1"); 279 AddPhysicsList("QGSC"); 280 281 } else if (name == "QGSP") { 242 hadronPhys.push_back( new HadronPhysicsQGSC_CHIPS()); 243 244 } else if (name == "QGSP_BERT") { 282 245 283 246 SetBuilderList1(); 284 hadronPhys.push_back( new HadronPhysicsQGSP("hadron",true)); 285 dump = true; 286 287 } else if (name == "QGSP_BERT") { 247 hadronPhys.push_back( new HadronPhysicsQGSP_BERT()); 248 249 } else if (name == "QGSP_FTFP_BERT") { 288 250 289 251 SetBuilderList1(); 290 hadronPhys.push_back( new HadronPhysicsQGSP_BERT("hadron",true)); 291 dump = true; 292 293 } else if (name == "QGSP_FTFP_BERT") { 294 295 SetBuilderList1(); 296 hadronPhys.push_back( new HadronPhysicsQGSP_FTFP_BERT("hadron",true)); 297 dump = true; 252 hadronPhys.push_back( new HadronPhysicsQGSP_FTFP_BERT()); 298 253 299 254 } else if (name == "QGSP_BERT_EMV") { … … 310 265 311 266 SetBuilderList1(true); 312 hadronPhys.push_back( new HadronPhysicsQGSP_BERT_HP( "hadron",true));267 hadronPhys.push_back( new HadronPhysicsQGSP_BERT_HP()); 313 268 314 269 } else if (name == "QGSP_BIC") { 315 270 316 271 SetBuilderList0(); 317 hadronPhys.push_back( new HadronPhysicsQGSP_BIC("hadron",true)); 318 dump = true; 272 hadronPhys.push_back( new HadronPhysicsQGSP_BIC()); 273 274 } else if (name == "QGSP_BIC_EMY") { 275 276 AddPhysicsList("emstandard_opt3"); 277 SetBuilderList0(); 278 hadronPhys.push_back( new HadronPhysicsQGSP_BIC()); 319 279 320 280 } else if (name == "QGS_BIC") { 321 281 322 282 SetBuilderList0(); 323 hadronPhys.push_back( new HadronPhysicsQGS_BIC("hadron",true)); 324 dump = true; 283 hadronPhys.push_back( new HadronPhysicsQGS_BIC()); 325 284 326 285 } else if (name == "QGSP_BIC_HP") { 327 286 328 287 SetBuilderList0(true); 329 hadronPhys.push_back( new HadronPhysicsQGSP_BIC_HP("hadron",true)); 330 dump = true; 288 hadronPhys.push_back( new HadronPhysicsQGSP_BIC_HP()); 331 289 332 290 } else if (name == "QGSP_BIC_EMY") { … … 347 305 void PhysicsList::SetBuilderList0(G4bool flagHP) 348 306 { 349 hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); 350 hadronPhys.push_back( new G4HadronElasticPhysics("elastic",verboseLevel, 351 flagHP)); 352 hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); 353 hadronPhys.push_back( new G4IonBinaryCascadePhysics("ionBIC")); 354 hadronPhys.push_back( new G4NeutronTrackingCut("nTackingCut",verboseLevel)); 307 hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); 308 if(flagHP) { 309 hadronPhys.push_back( new G4HadronElasticPhysicsHP(verboseLevel) ); 310 } else { 311 hadronPhys.push_back( new G4HadronElasticPhysics(verboseLevel) ); 312 } 313 hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); 314 hadronPhys.push_back( new G4IonBinaryCascadePhysics(verboseLevel)); 315 hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); 355 316 } 356 317 … … 359 320 void PhysicsList::SetBuilderList1(G4bool flagHP) 360 321 { 361 hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); 362 hadronPhys.push_back( new G4HadronElasticPhysics("elastic",verboseLevel, 363 flagHP)); 364 hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); 365 hadronPhys.push_back( new G4IonPhysics("ion")); 366 hadronPhys.push_back( new G4NeutronTrackingCut("nTackingCut",verboseLevel)); 367 } 368 369 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 370 371 void PhysicsList::SetBuilderList2(G4bool flagHP) 372 { 373 hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); 374 hadronPhys.push_back( new G4HadronElasticPhysics("LElastic",verboseLevel, 375 flagHP)); 376 hadronPhys.push_back( new G4IonPhysics("ion")); 377 } 378 379 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 380 381 void PhysicsList::SetBuilderList3(G4bool flagHP) 382 { 383 hadronPhys.push_back( new G4EmExtraPhysics("extra EM")); 384 hadronPhys.push_back( new G4HadronElasticPhysics("LElastic",verboseLevel, 385 flagHP)); 386 hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); 387 hadronPhys.push_back( new G4IonPhysics("ion")); 322 hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); 323 if(flagHP) { 324 hadronPhys.push_back( new G4HadronElasticPhysicsHP(verboseLevel) ); 325 } else { 326 hadronPhys.push_back( new G4HadronHElasticPhysics(verboseLevel) ); 327 } 328 hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); 329 hadronPhys.push_back( new G4IonPhysics(verboseLevel)); 330 hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); 331 } 332 333 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 334 335 void PhysicsList::SetBuilderList2(G4bool) 336 { 337 hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); 338 hadronPhys.push_back( new G4HadronElasticPhysicsLHEP(verboseLevel)); 339 hadronPhys.push_back( new G4IonPhysics(verboseLevel)); 340 } 341 342 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 343 344 void PhysicsList::SetBuilderList3(G4bool) 345 { 346 hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); 347 hadronPhys.push_back( new G4HadronElasticPhysicsLHEP(verboseLevel)); 348 hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); 349 hadronPhys.push_back( new G4IonPhysics(verboseLevel)); 388 350 } 389 351 … … 392 354 void PhysicsList::SetBuilderList4(G4bool) 393 355 { 394 hadronPhys.push_back( new G4EmExtraPhysics( "extra EM"));395 hadronPhys.push_back( new G4HadronQElasticPhysics( "elastic",verboseLevel));396 hadronPhys.push_back( new G4QStoppingPhysics( "stopping",verboseLevel));397 hadronPhys.push_back( new G4IonPhysics( "ion"));398 hadronPhys.push_back( new G4NeutronTrackingCut( "nTackingCut",verboseLevel));399 } 400 401 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 402 403 void PhysicsList::SetBuilderList5(G4bool flagHP)404 { 405 hadronPhys.push_back( new G4EmExtraPhysics( "extra EM"));406 hadronPhys.push_back( new G4HadronDElasticPhysics(verboseLevel ,flagHP));407 hadronPhys.push_back( new G4QStoppingPhysics( "stopping",verboseLevel));408 hadronPhys.push_back( new G4IonBinaryCascadePhysics( "ionBIC"));409 hadronPhys.push_back( new G4NeutronTrackingCut( "nTackingCut",verboseLevel));410 } 411 412 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 413 414 void PhysicsList::SetBuilderList6(G4bool flagHP)415 { 416 hadronPhys.push_back( new G4EmExtraPhysics( "extra EM"));417 hadronPhys.push_back( new G4HadronHElasticPhysics(verboseLevel ,flagHP));418 hadronPhys.push_back( new G4QStoppingPhysics( "stopping",verboseLevel));419 hadronPhys.push_back( new G4IonBinaryCascadePhysics( "ionBIC"));420 hadronPhys.push_back( new G4NeutronTrackingCut( "nTackingCut",verboseLevel));356 hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); 357 hadronPhys.push_back( new G4HadronQElasticPhysics(verboseLevel)); 358 hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); 359 hadronPhys.push_back( new G4IonPhysics(verboseLevel)); 360 hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); 361 } 362 363 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 364 365 void PhysicsList::SetBuilderList5(G4bool) 366 { 367 hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); 368 hadronPhys.push_back( new G4HadronDElasticPhysics(verboseLevel)); 369 hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); 370 hadronPhys.push_back( new G4IonBinaryCascadePhysics(verboseLevel)); 371 hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); 372 } 373 374 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... 375 376 void PhysicsList::SetBuilderList6(G4bool) 377 { 378 hadronPhys.push_back( new G4EmExtraPhysics(verboseLevel)); 379 hadronPhys.push_back( new G4HadronHElasticPhysics(verboseLevel)); 380 hadronPhys.push_back( new G4QStoppingPhysics(verboseLevel)); 381 hadronPhys.push_back( new G4IonBinaryCascadePhysics(verboseLevel)); 382 hadronPhys.push_back( new G4NeutronTrackingCut(verboseLevel)); 421 383 } 422 384 … … 436 398 SetCutValue(cutForElectron, "e-"); 437 399 SetCutValue(cutForPositron, "e+"); 400 SetCutValue(cutForProton, "proton"); 438 401 439 402 if (verboseLevel>0) DumpCutValuesTable(); … … 464 427 } 465 428 429 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 430 431 void PhysicsList::SetCutForProton(G4double cut) 432 { 433 cutForProton = cut; 434 SetParticleCuts(cutForProton, G4Proton::Proton()); 435 } 436 466 437 void PhysicsList::List() 467 438 { 468 G4cout << "### PhysicsLists available: FTFP FTFP_BERT FTFP_BERT_EMV FTFP_BERT_EMX FTFP_BERT_TRV FTF_BIC LHEP LHEP_EMV"439 G4cout << "### PhysicsLists available: FTFP_BERT FTFP_BERT_EMV FTFP_BERT_EMX FTFP_BERT_TRV FTF_BIC" 469 440 << G4endl; 470 G4cout << " QBBC QBBC_DEL QBBC_HEL QBBC_HP QGSC"441 G4cout << " LHEP LHEP_EMV QBBC QBBC_XGG QBBC_XGGSN" 471 442 << G4endl; 472 G4cout << " QGSC_BERT QGSC_CHIPS QGS C_QGSC QGSC_EMV QGSP QGSP_BERT QGSP_BER_EMV"443 G4cout << " QGSC_BERT QGSC_CHIPS QGSP_BERT QGSP_BERT_EMV QGSP_BIC_EMY" 473 444 << G4endl; 474 G4cout << " QGSP_BERT_EMX QGSP_BERT_HP QGSP_BIC QGSP_BIC_HP QGSP_FTFP_BERT"445 G4cout << " QGSP_BERT_EMX QGSP_BERT_HP QGSP_BIC QGSP_BIC_HP" 475 446 << G4endl; 476 447 } -
trunk/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc
r1230 r1337 25 25 // 26 26 // 27 // $Id: PhysicsListMessenger.cc,v 1. 4 2006/08/11 14:38:11vnivanch Exp $28 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // $Id: PhysicsListMessenger.cc,v 1.7 2010/01/13 15:53:44 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 29 29 // 30 30 // … … 48 48 #include "G4UIcmdWithAString.hh" 49 49 #include "G4UIcmdWithoutParameter.hh" 50 #include "G4UImanager.hh" 50 51 51 52 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 58 59 gammaCutCmd->SetParameterName("Gcut",false); 59 60 gammaCutCmd->SetUnitCategory("Length"); 60 gammaCutCmd->SetRange("Gcut> 0.0");61 gammaCutCmd->SetRange("Gcut>=0.0"); 61 62 gammaCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 62 63 … … 65 66 electCutCmd->SetParameterName("Ecut",false); 66 67 electCutCmd->SetUnitCategory("Length"); 67 electCutCmd->SetRange("Ecut> 0.0");68 electCutCmd->SetRange("Ecut>=0.0"); 68 69 electCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 69 70 … … 72 73 posCutCmd->SetParameterName("Pcut",false); 73 74 posCutCmd->SetUnitCategory("Length"); 74 posCutCmd->SetRange("Pcut> 0.0");75 posCutCmd->SetRange("Pcut>=0.0"); 75 76 posCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 77 78 pCutCmd = new G4UIcmdWithADoubleAndUnit("/testhadr/CutProt",this); 79 pCutCmd->SetGuidance("Set proton cut."); 80 pCutCmd->SetParameterName("ProtCut",false); 81 pCutCmd->SetUnitCategory("Length"); 82 pCutCmd->SetRange("ProtCut>=0.0"); 83 pCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 76 84 77 85 allCutCmd = new G4UIcmdWithADoubleAndUnit("/testhadr/CutsAll",this); … … 79 87 allCutCmd->SetParameterName("cut",false); 80 88 allCutCmd->SetUnitCategory("Length"); 81 allCutCmd->SetRange("cut> 0.0");89 allCutCmd->SetRange("cut>=0.0"); 82 90 allCutCmd->AvailableForStates(G4State_PreInit,G4State_Idle); 83 91 … … 100 108 delete electCutCmd; 101 109 delete posCutCmd; 110 delete pCutCmd; 102 111 delete allCutCmd; 103 112 delete pListCmd; … … 107 116 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... 108 117 109 void PhysicsListMessenger::SetNewValue(G4UIcommand* command, 110 G4String newValue) 118 void PhysicsListMessenger::SetNewValue(G4UIcommand* command, G4String newValue) 111 119 { 112 if( command == gammaCutCmd ) 113 pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue)); 120 G4UImanager* UI = G4UImanager::GetUIpointer(); 121 if( command == gammaCutCmd ) { 122 if(pPhysicsList) { 123 pPhysicsList->SetCutForGamma(gammaCutCmd->GetNewDoubleValue(newValue)); 124 } else { 125 UI->ApplyCommand("/run/setCutForAGivenParticle gamma " + newValue); 126 } 114 127 115 if( command == electCutCmd ) 116 pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue)); 128 } else if( command == electCutCmd ) { 129 if(pPhysicsList) { 130 pPhysicsList->SetCutForElectron(electCutCmd->GetNewDoubleValue(newValue)); 131 } else { 132 UI->ApplyCommand("/run/setCutForAGivenParticle e- " + newValue); 133 } 117 134 118 if( command == posCutCmd ) 119 pPhysicsList->SetCutForPositron(posCutCmd->GetNewDoubleValue(newValue)); 135 } else if( command == posCutCmd ) { 136 if(pPhysicsList) { 137 pPhysicsList->SetCutForPositron(posCutCmd->GetNewDoubleValue(newValue)); 138 } else { 139 UI->ApplyCommand("/run/setCutForAGivenParticle e+ " + newValue); 140 } 120 141 121 if( command == allCutCmd ) 122 { 142 } else if( command == pCutCmd ) { 143 if(pPhysicsList) { 144 pPhysicsList->SetCutForProton(pCutCmd->GetNewDoubleValue(newValue)); 145 } else { 146 UI->ApplyCommand("/run/setCutForAGivenParticle proton " + newValue); 147 } 148 149 } else if( command == allCutCmd ) { 150 151 if(pPhysicsList) { 123 152 G4double cut = allCutCmd->GetNewDoubleValue(newValue); 124 153 pPhysicsList->SetCutForGamma(cut); 125 154 pPhysicsList->SetCutForElectron(cut); 126 155 pPhysicsList->SetCutForPositron(cut); 156 pPhysicsList->SetCutForProton(cut); 157 } else { 158 UI->ApplyCommand("/run/setCut " + newValue); 127 159 } 128 160 129 if( command == pListCmd ) { 130 G4String name = newValue; 131 if(name == "PHYSLIST") { 132 char* path = getenv(name); 133 if (path) name = G4String(path); 134 else { 135 G4cout << "### PhysicsListMessenger WARNING: " 136 << " environment variable PHYSLIST is not defined" 137 << G4endl; 138 return; 161 } else if( command == pListCmd ) { 162 if(pPhysicsList) { 163 G4String name = newValue; 164 if(name == "PHYSLIST") { 165 char* path = getenv(name); 166 if (path) name = G4String(path); 167 else { 168 G4cout << "### PhysicsListMessenger WARNING: " 169 << " environment variable PHYSLIST is not defined" 170 << G4endl; 171 return; 172 } 139 173 } 174 pPhysicsList->AddPhysicsList(name); 175 } else { 176 G4cout << "### PhysicsListMessenger WARNING: " 177 << " /testhadr/Physics UI command is not available " 178 << "for reference Physics List" << G4endl; 140 179 } 141 pPhysicsList->AddPhysicsList(name); 180 181 } else if( command == listCmd ) { 182 if(pPhysicsList) { 183 pPhysicsList->List(); 184 } else { 185 G4cout << "### PhysicsListMessenger WARNING: " 186 << " /testhadr/ListPhysics UI command is not available " 187 << "for reference Physics List" << G4endl; 188 } 142 189 } 143 144 if( command == listCmd )145 pPhysicsList->List();146 147 190 } 148 191 -
trunk/examples/extended/hadronic/Hadr01/src/PrimaryGeneratorAction.cc
r1230 r1337 25 25 // 26 26 // $Id: PrimaryGeneratorAction.cc,v 1.4 2006/11/15 14:58:10 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/src/StackingAction.cc
r1230 r1337 25 25 // 26 26 // $Id: StackingAction.cc,v 1.5 2006/10/04 09:56:03 vnivanch Exp $ 27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/src/StackingMessenger.cc
r1230 r1337 25 25 // 26 26 // $Id: StackingMessenger.cc,v 1.3 2006/06/29 17:24:32 gunter Exp $ 27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/src/TargetSD.cc
r1230 r1337 25 25 // 26 26 // $Id: TargetSD.cc,v 1.4 2006/06/29 17:24:34 gunter Exp $ 27 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 28 28 // 29 29 /////////////////////////////////////////////////////////////////////////
Note: See TracChangeset
for help on using the changeset viewer.