Changeset 1337 for trunk/examples/extended/hadronic/Hadr01
- Timestamp:
- Sep 30, 2010, 2:47:17 PM (14 years ago)
- Location:
- trunk/examples/extended/hadronic/Hadr01
- Files:
-
- 35 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/examples/extended/hadronic/Hadr01/GNUmakefile
r1230 r1337 1 # $Id: GNUmakefile,v 1. 8 2008/06/13 15:41:34 vnivanchExp $2 # GEANT4 tag $Name: geant4-09-0 3-cand-01 $1 # $Id: GNUmakefile,v 1.9 2010/01/11 16:41:02 gcosmo Exp $ 2 # GEANT4 tag $Name: geant4-09-04-beta-01 $ 3 3 # -------------------------------------------------------------- 4 4 # GNUmakefile for examples module with AIDA interface … … 10 10 11 11 ifndef G4INSTALL 12 G4INSTALL = ../../../ 12 G4INSTALL = ../../../.. 13 13 endif 14 14 -
trunk/examples/extended/hadronic/Hadr01/History
r807 r1337 1 $Id: History,v 1. 23 2007/12/12 12:00:23vnivanch Exp $1 $Id: History,v 1.39 2010/06/11 17:01:26 vnivanch Exp $ 2 2 ------------------------------------------------------------------- 3 3 … … 15 15 * Reverse chronological order (last date on top), please * 16 16 ---------------------------------------------------------- 17 18 11-06-10 V.Ivant (exhadr01-V09-03-06) 19 - Fixed memory leak at destruction 20 - Cleanup PhysList according to update of physics_list library 21 22 06-06-10 J.Perl (exhadr01-V09-03-05) 23 - Remove unused variable in EventAction 24 25 04-06-10 J.Perl (exhadr01-V09-03-04) 26 - Updated vis usage 27 28 26-05-10 J.Allsion (exhadr01-V09-03-03) 29 - Introduced G4UIExecutive. 30 31 26-05-10 J.Allsion (exhadr01-V09-03-02) 32 - Tag name spoiled by finger trouble in tags database.. 33 34 13-01-10 V.Ivant (exhadr01-V09-03-01) 35 - Fixed problem of counting of particles leaked from the target 36 37 29-12-09 V.Ivant (exhadr01-V09-03-00) 38 - When PhysList defined via PHYSLIST environment variable still 39 make local PhysList messenger available to avoid crash in old macro 40 41 25-09-09 V.Ivant (exhadr01-V09-02-03) 42 - Update Physics List choices according to 9.3 configurations 43 44 02-09-09 V.Ivant (exhadr01-V09-02-02) 45 - Added histograms on energy depositions: total, electromagnetic, 46 pion, proton 47 48 23-06-09 V.Ivant (exhadr01-V09-02-01) 49 - FB68 substituted by FTFP_BERT_TRV 50 51 15-05-09 V.Ivant (exhadr01-V09-02-00) 52 - update to physics_lists lists 53 54 20-11-08 V.Ivant (exhadr01-V09-01-04) 55 - added charge exchange 56 57 17-09-08 V.Ivant (exhadr01-V09-01-03) 58 - improved Physics List output 59 60 25-06-08 V.Ivant (exhadr01-V09-01-02) 61 62 13-06-08 V.Ivant (exhadr01-V09-01-01) 63 - remove usage of AIDA in GNUmakefile 64 - added FTF_BIC Physics Lists 65 66 19-05-08 V.Ivant (exhadr01-V09-01-00) 67 - remove usage of obsolete G4HadronProcessStore 17 68 18 69 12-12-07 V.Ivant (exhadr01-V09-00-03) -
trunk/examples/extended/hadronic/Hadr01/README
r807 r1337 15 15 simulation of proton or ion beam interaction with a water target. Different 16 16 aspects of beam target interaction are demonstrating in the example including 17 lo gitudinal profile of energy deposition, spectra of secondary particles,17 longitudinal profile of energy deposition, spectra of secondary particles, 18 18 spectra of particles leaving the target. The results are presenting in a form 19 19 of average numbers and histograms. … … 22 22 GEOMETRY 23 23 24 The Target volume is a c ilinder placed inside Check cilindrical volume. The24 The Target volume is a cylinder placed inside Check cylindrical volume. The 25 25 Check volume is placed inside the World volume. The radius and the length of 26 the Check volume are 1 mm larger than the radi aus and the length of the Target.26 the Check volume are 1 mm larger than the radius and the length of the Target. 27 27 The material of the Check volume is the same as the World material. The World 28 volume has the sizes 10 mm larger than that of the Target volume. Any naterial28 volume has the sizes 10 mm larger than that of the Target volume. Any material 29 29 from the Geant4 database can be defined. The default World material is 30 30 G4Galactic and the default Target material is aluminum. The Target is 31 subdivided on number of equal slices. Foll woing UI commands are available to31 subdivided on number of equal slices. Following UI commands are available to 32 32 modify the geometry: 33 33 … … 38 38 /testhadr/NumberDivZ 200 39 39 40 If geometry was changed between two runs, then the foll woing command need to40 If geometry was changed between two runs, then the following command need to 41 41 be executed: 42 42 43 43 /testhadr/Update 44 44 45 Beam direction coin sides with the target axis and is Z axis in the global45 Beam direction coincides with the target axis and is Z axis in the global 46 46 coordinate system. The beam starts 5 mm in front of the target. G4ParticleGun 47 47 is used as a primary generator. The energy and the type of the beam can be … … 84 84 85 85 PhysicsList of the application uses components, which are distributed with 86 Geant4 in /geant4/physics_lists subdirectory. So, before compiling hadro01 it 87 is necessary to compile physics_lists 86 Geant4 in /geant4/physics_lists subdirectory. 88 87 89 The choice of the physics is provided by the UI command: 88 There is a possibility directly use one of reference Physics Lists if 89 using the environment variable PHYSLIST. Alternatively the name of the reference 90 Physics List can be given via parameter of the the application as following: 90 91 91 /testhadr/Physics QGSP 92 $G4BIN/Linux++/hadr01 QGSP_BERT my.macro 92 93 93 The command 94 Finally it is possible to use UI commands (PHYSLIST environment variable is not 95 defined). The choice of the physics is provided by the UI command: 94 96 95 /testhadr/Physics PHYSLIST97 /testhadr/Physics QGSP_BIC 96 98 97 allows allows to download a physics configuration defined by an environment 98 variable PHYSLIST. 99 100 To see the list of available configurations one can use 99 To see the list of available configurations with UI one can use 101 100 102 101 /testhadr/ListPhysics 103 102 104 The cuts for electromagnetic ph syics can be established via103 The cuts for electromagnetic physics can be established via 105 104 106 105 /testhadr/CutsAll 1 mm … … 109 108 /testhadr/CutsPos 0.3 mm 110 109 110 Note that testhadr UI commands are not available in the case when PHYSLIST 111 environment variable is defined. 111 112 112 VISUALISATION 113 114 VISUALIZATION 113 115 114 116 For interactive mode G4 visualization options and variables should be … … 166 168 subdirectory. 167 169 168 To show the conten ceof a histogram ID=i the commands may be applied:170 To show the content of a histogram ID=i the commands may be applied: 169 171 170 172 /testhadr/HistoPrint i 171 173 172 All histograms are normali sed to the number of events.174 All histograms are normalized to the number of events. -
trunk/examples/extended/hadronic/Hadr01/hadr01.cc
r1230 r1337 25 25 // 26 26 // 27 // $Id: hadr01.cc,v 1. 9 2006/11/24 16:48:57 vnivanchExp $28 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // $Id: hadr01.cc,v 1.12 2010/05/26 11:53:40 allison Exp $ 28 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 29 29 // 30 30 // ------------------------------------------------------------- … … 37 37 // 38 38 // Modified: 39 // 29.12.2009 V.Ivanchenko introduced access to reference PhysLists 39 40 // 40 41 // ------------------------------------------------------------- … … 46 47 #include "G4RunManager.hh" 47 48 #include "G4UImanager.hh" 48 #include "G4UIterminal.hh"49 #include "G4UItcsh.hh"50 49 #include "Randomize.hh" 51 50 52 51 #include "DetectorConstruction.hh" 53 52 #include "PhysicsList.hh" 54 #include " QBBC.hh"55 #include " QGSP.hh"53 #include "G4PhysListFactory.hh" 54 #include "G4VModularPhysicsList.hh" 56 55 #include "PrimaryGeneratorAction.hh" 56 #include "PhysicsListMessenger.hh" 57 57 58 58 #include "RunAction.hh" … … 60 60 #include "StackingAction.hh" 61 61 62 #ifdef G4VIS_USE 62 63 #include "G4VisExecutive.hh" 64 #endif 65 66 #ifdef G4UI_USE 67 #include "G4UIExecutive.hh" 68 #endif 63 69 64 70 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 75 81 runManager->SetUserInitialization(new DetectorConstruction()); 76 82 77 runManager->SetUserInitialization(new PhysicsList); 78 //runManager->SetUserInitialization(new QBBC(1,"QBEC_HP")); 79 //runManager->SetUserInitialization(new QGSP); 83 G4PhysListFactory factory; 84 G4VModularPhysicsList* phys = 0; 85 PhysicsListMessenger* mess = 0; 86 G4String physName = ""; 80 87 88 // Physics List name defined via 2nd argument 89 if (argc==3) { physName = argv[2]; } 90 91 // Physics List name defined via environment variable 92 char* path = getenv("PHYSLIST"); 93 if (path) { physName = G4String(path); } 94 95 // reference PhysicsList via its name 96 if(factory.IsReferencePhysList(physName)) { 97 phys = factory.GetReferencePhysList(physName); 98 mess = new PhysicsListMessenger(); 99 } 100 101 // local Physics List 102 if(!phys) { phys = new PhysicsList(); } 103 104 // define physics 105 runManager->SetUserInitialization(phys); 81 106 runManager->SetUserAction(new PrimaryGeneratorAction()); 82 107 … … 87 112 88 113 //get the pointer to the User Interface manager 89 G4UImanager* UI = G4UImanager::GetUIpointer();114 G4UImanager* UImanager = G4UImanager::GetUIpointer(); 90 115 G4VisManager* visManager = 0; 91 116 … … 97 122 visManager->Initialize(); 98 123 #endif 99 G4UIsession* session = 0; 100 #ifdef G4UI_USE_TCSH 101 session = new G4UIterminal(new G4UItcsh); 102 #else 103 session = new G4UIterminal(); 124 #ifdef G4UI_USE 125 G4UIExecutive* ui = new G4UIExecutive(argc, argv); 126 ui->SessionStart(); 127 delete ui; 104 128 #endif 105 session->SessionStart();106 delete session;107 129 } 108 130 else // Batch mode 109 131 { 110 G4String command = "/control/execute ";111 G4String fileName = argv[1];112 UI->ApplyCommand(command+fileName);132 G4String command = "/control/execute "; 133 G4String fileName = argv[1]; 134 UImanager->ApplyCommand(command+fileName); 113 135 } 114 136 115 137 //job termination 116 if(visManager)delete visManager;138 delete visManager; 117 139 delete runManager; 140 delete mess; 118 141 119 142 return 0; -
trunk/examples/extended/hadronic/Hadr01/hadr01.out
r807 r1337 1 2 ############################################ 3 !!! WARNING - FPE detection is activated !!! 4 ############################################ 1 5 2 6 ************************************************************* 3 Geant4 version Name: g lobal-V09-00-03 (9-May-2008)7 Geant4 version Name: geant4-09-03-ref-06 (25-June-2010) 4 8 Copyright : Geant4 Collaboration 5 9 Reference : NIM A 506 (2003), 250-303 … … 19 23 /testhadr/Physics QBBC 20 24 PhysicsList::AddPhysicsList: <QBBC> 21 ### HadronInelasticQBBC 25 PhysicsList::AddPhysicsList: <emstandard_opt2> 22 26 # 23 27 /run/initialize … … 26 30 ***** Table : Nb of materials = 2 ***** 27 31 28 Material: G4_Al density: 2.699 g/cm3 RadL: 8.896 cm Imean: 166.000 eV32 Material: G4_Al density: 2.699 g/cm3 RadL: 8.896 cm Nucl.Int.Length: 38.877 cm Imean: 166.000 eV 29 33 ---> Element: Al (Al) Z = 13.0 N = 27.0 A = 26.98 g/mole 30 ---> Isotope: AlZ = 13 N = 27 A = 26.98 g/mole abundance: 100.00 % ElmMassFraction: 100.00 % ElmAbundance 100.00 %31 32 Material: G4_Galactic density: 0.000 mg/cm3 RadL: 204311173.221 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm34 ---> Isotope: Al27 Z = 13 N = 27 A = 26.98 g/mole abundance: 100.00 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % 35 36 Material: G4_Galactic density: 0.000 kg/m3 RadL: 204310101.835 pc Nucl.Int.Length: 114319208.901 pc Imean: 21.800 eV temperature: 2.73 K pressure: 0.00 atm 33 37 ---> Element: H (H) Z = 1.0 N = 1.0 A = 1.01 g/mole 34 ---> Isotope: H Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % 35 ---> Isotope: H Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % 36 37 38 Thank you for using G4BinaryCascade. 39 ### Adding Neutron tracking cut for neutron 40 ### cut value is 10 microseconds 41 Thank you for using G4BinaryCascade. 42 Thank you for using G4BinaryCascade. 43 =========================================================================================== 44 45 Hadronic Processes for anti_neutron 46 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 47 hInelastic Models: FTF Emin(GeV)= 6 Emax(GeV)= 100000 48 CHIPS Emin(GeV)= 0 Emax(GeV)= 9 49 50 Hadronic Processes for anti_proton 51 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 52 hInelastic Models: FTF Emin(GeV)= 6 Emax(GeV)= 100000 53 CHIPS Emin(GeV)= 0 Emax(GeV)= 9 54 55 Hadronic Processes for kaon+ 56 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 57 hInelastic Models: FTF Emin(GeV)= 6 Emax(GeV)= 100000 58 Bertini Emin(GeV)= 0 Emax(GeV)= 9 59 60 Hadronic Processes for kaon- 61 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 62 hInelastic Models: FTF Emin(GeV)= 6 Emax(GeV)= 100000 63 Bertini Emin(GeV)= 0 Emax(GeV)= 9 64 65 Hadronic Processes for lambda 66 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 67 hInelastic Models: FTF Emin(GeV)= 6 Emax(GeV)= 100000 68 Bertini Emin(GeV)= 0 Emax(GeV)= 9 69 70 Hadronic Processes for neutron 71 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 72 hInelastic Models: QGS Emin(GeV)= 6 Emax(GeV)= 100000 73 Binary Emin(GeV)= 0 Emax(GeV)= 9 74 nCapture Models: LCapture Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 75 nFission Models: LFission Emin(GeV)= 0 Emax(GeV)= 1.79769e+305 76 77 Hadronic Processes for pi+ 78 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 79 hInelastic Models: QGS Emin(GeV)= 6 Emax(GeV)= 100000 80 Bertini Emin(GeV)= 0 Emax(GeV)= 9 81 82 Hadronic Processes for pi- 83 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 84 hInelastic Models: QGS Emin(GeV)= 6 Emax(GeV)= 100000 85 Bertini Emin(GeV)= 0 Emax(GeV)= 9 86 87 Hadronic Processes for proton 88 hElastic Models: elastic Emin(GeV)= 0 Emax(GeV)= 100000 89 hInelastic Models: QGS Emin(GeV)= 6 Emax(GeV)= 100000 90 Binary Emin(GeV)= 0 Emax(GeV)= 9 91 =========================================================================================== 92 PhysicsList::SetCuts:CutLength : 1 mm 38 ---> Isotope: H1 Z = 1 N = 1 A = 1.01 g/mole abundance: 99.99 % 39 ---> Isotope: H2 Z = 1 N = 2 A = 2.01 g/mole abundance: 0.01 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % 40 41 42 ### Adding tracking cuts for neutron TimeCut(ns)= 10000 KinEnergyCut(MeV)= 0 43 G4NeutronInelasticXS::G4NeutronInelasticXS: Initialise 44 G4NeutronCaptureXS::G4NeutronCaptureXS: Initialise 45 PhysicsList::SetCuts:CutLength : 700 um 93 46 # 94 47 /gun/particle proton … … 96 49 /run/beamOn 100 97 50 98 G4UHadronElasticProcess for neutron PDGcode= 2112 Elow(MeV)= 19 Elowest(eV)= 0 51 phot: for gamma, applyCuts: 1 SubType= 12 52 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 53 PhotoElectric : Emin= 0 eV Emax= 10 TeV 54 55 compt: for gamma, applyCuts: 1 SubType= 13 56 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 57 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 58 Klein-Nishina : Emin= 0 eV Emax= 10 TeV 59 60 conv: for gamma, applyCuts: 1 SubType= 14 61 Lambda tables from 1.022 MeV to 10 TeV in 77 bins, spline: 1 62 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 63 Bethe-Heitler : Emin= 0 eV Emax= 10 TeV 64 65 msc: for e- SubType= 10 66 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 67 RangeFactor= 0.04, stepLimitType: 1, latDisplacement: 1 68 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 69 WentzelVIUni : Emin= 0 eV Emax= 10 TeV 70 71 eIoni: for e- SubType= 2 72 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 73 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 74 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 75 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 76 MollerBhabha : Emin= 0 eV Emax= 10 TeV 77 78 eBrem: for e- SubType= 3 79 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 80 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 81 LPM flag: 1 for E > 1 GeV 82 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 83 eBrem : Emin= 0 eV Emax= 1 GeV 84 eBremRel : Emin= 1 GeV Emax= 10 TeV 85 86 CoulombScat: for e-, applyCuts: 1 SubType= 1 87 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 88 11.4592 < Theta(degree) < 180, Eth(MeV)= 10000; pLimit(GeV^1)= 0.139531 89 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 90 eCoulombScattering : Emin= 0 eV Emax= 10 TeV 91 92 eIoni: for e+ SubType= 2 93 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 94 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 95 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 96 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 97 MollerBhabha : Emin= 0 eV Emax= 10 TeV 98 99 eBrem: for e+ SubType= 3 100 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 101 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 102 LPM flag: 1 for E > 1 GeV 103 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 104 eBrem : Emin= 0 eV Emax= 1 GeV 105 eBremRel : Emin= 1 GeV Emax= 10 TeV 106 107 annihil: for e+, applyCuts: 1 SubType= 5 108 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 109 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 110 eplus2gg : Emin= 0 eV Emax= 10 TeV 111 112 CoulombScat: for e+, applyCuts: 1 SubType= 1 113 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 114 11.4592 < Theta(degree) < 180, Eth(MeV)= 10000; pLimit(GeV^1)= 0.139531 115 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 116 eCoulombScattering : Emin= 0 eV Emax= 10 TeV 117 118 msc: for proton SubType= 10 119 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 120 RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 121 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 122 UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 123 124 hIoni: for proton SubType= 2 125 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 126 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 127 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 128 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 129 Bragg : Emin= 0 eV Emax= 2 MeV 130 BetheBloch : Emin= 2 MeV Emax= 10 TeV 131 132 hBrems: for proton SubType= 3 133 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 134 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 135 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 136 hBrem : Emin= 0 eV Emax= 10 TeV 137 138 hPairProd: for proton SubType= 4 139 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 140 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 141 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 142 hPairProd : Emin= 0 eV Emax= 10 TeV 143 144 msc: for GenericIon SubType= 10 145 RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 0 146 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 147 UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 148 149 ionIoni: for GenericIon SubType= 2 150 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 151 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 152 finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1, fluct: 1, linLossLimit= 0.02 153 Stopping Power data for 17 ion/material pairs, nuclearStopping: 1 154 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 155 BraggIon : Emin= 0 eV Emax= 2 MeV 156 BetheBloch : Emin= 2 MeV Emax= 10 TeV 157 158 hIoni: for anti_proton SubType= 2 159 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 160 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 161 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 162 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 163 ICRU73QO : Emin= 0 eV Emax= 2 MeV 164 BetheBloch : Emin= 2 MeV Emax= 10 TeV 165 166 hIoni: for kaon+ SubType= 2 167 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 168 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 169 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 170 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 171 Bragg : Emin= 0 eV Emax= 1.05231 MeV 172 BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 173 174 hBrems: for kaon+ SubType= 3 175 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 176 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 177 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 178 hBrem : Emin= 0 eV Emax= 10 TeV 179 180 hPairProd: for kaon+ SubType= 4 181 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 182 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 183 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 184 hPairProd : Emin= 0 eV Emax= 10 TeV 185 186 hIoni: for kaon- SubType= 2 187 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 188 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 189 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 190 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 191 ICRU73QO : Emin= 0 eV Emax= 1.05231 MeV 192 BetheBloch : Emin= 1.05231 MeV Emax= 10 TeV 193 194 hBrems: for kaon- SubType= 3 195 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 196 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 197 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 198 hBrem : Emin= 0 eV Emax= 10 TeV 199 200 hPairProd: for kaon- SubType= 4 201 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 202 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 203 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 204 hPairProd : Emin= 0 eV Emax= 10 TeV 205 206 muMsc: for mu+ SubType= 10 207 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 208 RangeFactor= 0.2, step limit type: 0, lateralDisplacement: 1, polarAngleLimit(deg)= 11.4592 209 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 210 WentzelVIUni : Emin= 0 eV Emax= 10 TeV 211 212 muIoni: for mu+ SubType= 2 213 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 214 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 215 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 216 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 217 Bragg : Emin= 0 eV Emax= 200 keV 218 BetheBloch : Emin= 200 keV Emax= 1 GeV 219 MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 220 221 muBrems: for mu+ SubType= 3 222 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 223 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 224 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 225 MuBrem : Emin= 0 eV Emax= 10 TeV 226 227 muPairProd: for mu+ SubType= 4 228 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 229 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 230 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 231 muPairProd : Emin= 0 eV Emax= 10 TeV 232 233 CoulombScat: for mu+, applyCuts: 1 SubType= 1 234 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 235 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 236 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 237 eCoulombScattering : Emin= 0 eV Emax= 10 TeV 238 239 muIoni: for mu- SubType= 2 240 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 241 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 242 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 243 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 244 ICRU73QO : Emin= 0 eV Emax= 200 keV 245 BetheBloch : Emin= 200 keV Emax= 1 GeV 246 MuBetheBloch : Emin= 1 GeV Emax= 10 TeV 247 248 muBrems: for mu- SubType= 3 249 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 250 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 251 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 252 MuBrem : Emin= 0 eV Emax= 10 TeV 253 254 muPairProd: for mu- SubType= 4 255 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 256 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 257 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 258 muPairProd : Emin= 0 eV Emax= 10 TeV 259 260 CoulombScat: for mu-, applyCuts: 1 SubType= 1 261 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 262 11.4592 < Theta(degree) < 180, Eth(MeV)= 10; pLimit(GeV^1)= 0.139531 263 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 264 eCoulombScattering : Emin= 0 eV Emax= 10 TeV 265 G4NeutronInelasticXS::BuildPhysicsTable: 266 neutron 267 G4NEUTRONXSDATA environment variable not set 268 G4NeutronCaptureXS::BuildPhysicsTable: 269 neutron 270 G4NEUTRONXSDATA environment variable not set 271 272 hIoni: for pi+ SubType= 2 273 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 274 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 275 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 276 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 277 Bragg : Emin= 0 eV Emax= 297.504 keV 278 BetheBloch : Emin= 297.504 keV Emax= 10 TeV 279 280 hBrems: for pi+ SubType= 3 281 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 282 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 283 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 284 hBrem : Emin= 0 eV Emax= 10 TeV 285 286 hPairProd: for pi+ SubType= 4 287 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 288 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 289 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 290 hPairProd : Emin= 0 eV Emax= 10 TeV 291 292 msc: for pi- SubType= 10 293 Lambda tables from 100 eV to 10 TeV in 77 bins, spline: 1 294 RangeFactor= 0.2, stepLimitType: 0, latDisplacement: 1 295 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 296 UrbanMsc90 : Emin= 0 eV Emax= 10 TeV 297 298 hIoni: for pi- SubType= 2 299 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 300 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 301 finalRange(mm)= 1, dRoverRange= 0.2, integral: 1, fluct: 1, linLossLimit= 0.01 302 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 303 ICRU73QO : Emin= 0 eV Emax= 297.504 keV 304 BetheBloch : Emin= 297.504 keV Emax= 10 TeV 305 306 hBrems: for pi- SubType= 3 307 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 308 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 309 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 310 hBrem : Emin= 0 eV Emax= 10 TeV 311 312 hPairProd: for pi- SubType= 4 313 dE/dx and range tables from 100 eV to 10 TeV in 77 bins 314 Lambda tables from threshold to 10 TeV in 77 bins, spline: 1 315 ===== EM models for the G4Region DefaultRegionForTheWorld ====== 316 hPairProd : Emin= 0 eV Emax= 10 TeV 317 ============================================================================================ 318 HADRONIC PROCESSES SUMMARY (verbose level 1) 319 320 Hadronic Processes for <anti_neutron> 321 hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 322 CHIPS_Inelastic 323 324 Hadronic Processes for <anti_proton> 325 hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 326 CHIPS_Inelastic 327 328 Hadronic Processes for <e-> 329 ElectroNuclear Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 30000 330 331 Hadronic Processes for <gamma> 332 PhotonInelastic Models: CHIPS: Emin(GeV)= 0 Emax(GeV)= 3.5 333 TheoFSGenerator: Emin(GeV)= 3 Emax(GeV)= 100000 334 335 Hadronic Processes for <kaon+> 336 hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 337 hInelastic Models: FTFP: Emin(GeV)= 4 Emax(GeV)= 100000 338 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 339 340 Hadronic Processes for <kaon-> 341 hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 342 hInelastic Models: FTFP: Emin(GeV)= 4 Emax(GeV)= 100000 343 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 344 345 Hadronic Processes for <lambda> 346 hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 100000 347 hInelastic Models: FTFP: Emin(GeV)= 4 Emax(GeV)= 100000 348 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 349 350 Hadronic Processes for <mu-> 351 muMinusCaptureAtRest 352 353 Hadronic Processes for <neutron> 354 hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 355 hInelastic Models: QGSP: Emin(GeV)= 12.5 Emax(GeV)= 100000 356 FTFP: Emin(GeV)= 4 Emax(GeV)= 25 357 Bertini Cascade: Emin(GeV)= 1 Emax(GeV)= 5 358 Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 1.5 359 nCapture Models: nRadCapture: Emin(GeV)= 0 Emax(GeV)= 100000 360 361 Hadronic Processes for <pi+> 362 hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 363 hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 364 hInelastic Models: QGSP: Emin(GeV)= 12.5 Emax(GeV)= 100000 365 FTFP: Emin(GeV)= 4 Emax(GeV)= 25 366 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 367 368 Hadronic Processes for <pi-> 369 hadElastic Models: hElasticLHEP: Emin(GeV)= 0 Emax(GeV)= 1 370 hElasticGlauber: Emin(GeV)= 1 Emax(GeV)= 100000 371 hInelastic Models: QGSP: Emin(GeV)= 12.5 Emax(GeV)= 100000 372 FTFP: Emin(GeV)= 4 Emax(GeV)= 25 373 Bertini Cascade: Emin(GeV)= 0 Emax(GeV)= 5 374 375 Hadronic Processes for <proton> 376 hadElastic Models: hElasticCHIPS: Emin(GeV)= 0 Emax(GeV)= 100000 377 hInelastic Models: QGSP: Emin(GeV)= 12.5 Emax(GeV)= 100000 378 FTFP: Emin(GeV)= 4 Emax(GeV)= 25 379 Bertini Cascade: Emin(GeV)= 1 Emax(GeV)= 5 380 Binary Cascade: Emin(GeV)= 0 Emax(GeV)= 1.5 381 ============================================================================================ 99 382 100 383 ========= Table of registered couples ============================== … … 102 385 Index : 0 used in the geometry : Yes recalculation needed : No 103 386 Material : G4_Galactic 104 Range cuts : gamma 1 mm e- 1 mm e+1 mm105 Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV387 Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm 388 Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV proton 100 keV 106 389 Region(s) which use this couple : 107 390 DefaultRegionForTheWorld … … 109 392 Index : 1 used in the geometry : Yes recalculation needed : No 110 393 Material : G4_Al 111 Range cuts : gamma 1 mm e- 1 mm e+1 mm112 Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011keV394 Range cuts : gamma 1 mm e- 1 mm e+ 1 mm proton 1 mm 395 Energy thresholds : gamma 6.90363 keV e- 598.345 keV e+ 570.85 keV proton 100 keV 113 396 Region(s) which use this couple : 114 397 DefaultRegionForTheWorld … … 131 414 Run Summary 132 415 Number of events processed : 100 133 User=0. 73s Real=0.74s Sys=0.01s416 User=0.37s Real=0.38s Sys=0s 134 417 RunAction: End of run actions are started 135 418 HistoManager: End of run actions are started … … 138 421 Beam Energy(MeV) 3000 139 422 Number of events 100 140 Average energy deposit (MeV) 57.73 RMS(MeV) 48.33141 Average number of steps 267.1142 Average number of gamma 2. 63143 Average number of e- 4.28144 Average number of e+ 0.0 5145 Average number of neutrons 0.78146 Average number of protons 0.87423 Average energy deposit (MeV) 69.45 RMS(MeV) 55 424 Average number of steps 360.1 425 Average number of gamma 2.24 426 Average number of e- 3.14 427 Average number of e+ 0.07 428 Average number of neutrons 1.36 429 Average number of protons 1.39 147 430 Average number of antiprotons 0 148 Average number of pi+ & pi- 0. 33149 Average number of pi0 0.2 150 Average number of kaons 0 .01151 Average number of muons 0 152 Average number of deuterons+tritons 0. 01153 Average number of He3+alpha 0. 1154 Average number of ions 0. 57431 Average number of pi+ & pi- 0.49 432 Average number of pi0 0.21 433 Average number of kaons 0 434 Average number of muons 0.02 435 Average number of deuterons+tritons 0.11 436 Average number of He3+alpha 0.2 437 Average number of ions 0.68 155 438 Average number of forward neutrons 0.1 156 Average number of reflected neutrons 0157 Average number of leaked neutrons 0. 62158 Average number of proton leak 0. 33159 Average number of pion leak 0. 3439 Average number of reflected neutrons 1.2 440 Average number of leaked neutrons 0.06 441 Average number of proton leak 0.61 442 Average number of pion leak 0.45 160 443 ======================================================== 161 444 162 445 # 163 446 G4 kernel has come to Quit state. 447 -
trunk/examples/extended/hadronic/Hadr01/include/CheckVolumeSD.hh
r1230 r1337 25 25 // 26 26 // $Id: CheckVolumeSD.hh,v 1.3 2006/06/29 17:23:25 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/include/DetectorConstruction.hh
r1230 r1337 25 25 // 26 26 // $Id: DetectorConstruction.hh,v 1.4 2006/06/29 17:23:28 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/include/DetectorMessenger.hh
r1230 r1337 25 25 // 26 26 // $Id: DetectorMessenger.hh,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/include/EventAction.hh
r1230 r1337 25 25 // 26 26 // $Id: EventAction.hh,v 1.3 2006/06/29 17:23: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 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/include/EventActionMessenger.hh
r1230 r1337 25 25 // 26 26 // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 17:23:36 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/include/Histo.hh
r1230 r1337 25 25 // 26 26 // $Id: Histo.hh,v 1.6 2007/05/24 13:52:31 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 #ifndef Histo_h -
trunk/examples/extended/hadronic/Hadr01/include/HistoManager.hh
r1230 r1337 25 25 // 26 26 // $Id: HistoManager.hh,v 1.9 2009/08/28 09:21:34 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/include/HistoMessenger.hh
r1230 r1337 25 25 // 26 26 // $Id: HistoMessenger.hh,v 1.5 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/include/PhysicsList.hh
r1230 r1337 25 25 // 26 26 // 27 // $Id: PhysicsList.hh,v 1. 6 2007/11/14 18:59:08vnivanch Exp $28 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // $Id: PhysicsList.hh,v 1.7 2009/11/25 19:56:36 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 29 29 // 30 30 ///////////////////////////////////////////////////////////////////////// … … 64 64 void SetCutForElectron(G4double); 65 65 void SetCutForPositron(G4double); 66 void SetCutForProton(G4double); 66 67 67 68 void AddPhysicsList(const G4String& name); … … 82 83 G4double cutForElectron; 83 84 G4double cutForPositron; 85 G4double cutForProton; 84 86 85 87 G4VPhysicsConstructor* emPhysicsList; -
trunk/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh
r1230 r1337 25 25 // 26 26 // 27 // $Id: PhysicsListMessenger.hh,v 1. 3 2006/06/29 17:23:50 gunterExp $28 // GEANT4 tag $Name: geant4-09-0 3-cand-01 $27 // $Id: PhysicsListMessenger.hh,v 1.4 2009/12/29 19:23:26 vnivanch Exp $ 28 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 29 29 // 30 30 // … … 58 58 public: 59 59 60 PhysicsListMessenger(PhysicsList* );60 PhysicsListMessenger(PhysicsList* p = 0); 61 61 virtual ~PhysicsListMessenger(); 62 62 … … 70 70 G4UIcmdWithADoubleAndUnit* electCutCmd; 71 71 G4UIcmdWithADoubleAndUnit* posCutCmd; 72 G4UIcmdWithADoubleAndUnit* pCutCmd; 72 73 G4UIcmdWithADoubleAndUnit* allCutCmd; 73 74 G4UIcmdWithAString* pListCmd; -
trunk/examples/extended/hadronic/Hadr01/include/PrimaryGeneratorAction.hh
r1230 r1337 26 26 // 27 27 // $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 17:23:52 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/include/StackingAction.hh
r1230 r1337 25 25 // 26 26 // $Id: StackingAction.hh,v 1.3 2006/06/29 17:23:56 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/include/StackingMessenger.hh
r1230 r1337 25 25 // 26 26 // $Id: StackingMessenger.hh,v 1.3 2006/06/29 17:23:58 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/include/TargetSD.hh
r1230 r1337 25 25 // 26 26 // $Id: TargetSD.hh,v 1.4 2006/06/29 17:24:00 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/p_pb.in
r807 r1337 14 14 # 15 15 /testhadr/CutsAll 0.7 mm 16 /testhadr/Physics PHYSLIST16 #/testhadr/Physics PHYSLIST 17 17 # 18 18 /run/initialize 19 #/process/eLoss/MscStepLimit 0.2 false20 19 #/testhadr/HistoName p_pb_20GeV 21 20 /testhadr/MaxEdep 10 GeV -
trunk/examples/extended/hadronic/Hadr01/run.csh
r807 r1337 1 1 #/bin/csh 2 2 3 setenv HISTODIR 200 711273 setenv HISTODIR 20091229 4 4 mkdir -p $HISTODIR 5 5 … … 7 7 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 8 8 9 setenv PHYSLIST QGSP 9 setenv PHYSLIST QGSP_BERT_EMV 10 10 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 11 11 12 setenv PHYSLIST QGSP_EMV 13 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 14 15 setenv PHYSLIST QGSP_EMX 16 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 17 18 setenv PHYSLIST QGSC 12 setenv PHYSLIST QGSP_BERT_EMX 19 13 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 20 14 … … 28 22 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 29 23 30 setenv PHYSLIST QBBC_ HEL24 setenv PHYSLIST QBBC_XGG 31 25 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 32 26 33 setenv PHYSLIST QBBC_DEL 27 setenv PHYSLIST QBBC_XGGSN 28 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 29 30 setenv PHYSLIST FTFP_BERT 31 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 32 33 setenv PHYSLIST QGSP_FTFP_BERT 34 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 35 36 setenv PHYSLIST CHIPS 34 37 $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out 35 38 -
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 ///////////////////////////////////////////////////////////////////////// -
trunk/examples/extended/hadronic/Hadr01/vis.mac
r807 r1337 1 #2 # Macro file for the initialization phase of "TestEm9.cc"3 #4 # Sets some default verbose5 # and initializes the graphic.6 #7 1 /control/verbose 2 8 2 /run/verbose 2 9 3 # 10 # Create empty scene ("world" is default)11 /vis/scene/create12 #13 # Create a scene handler for a specific graphics system14 # Edit the next line(s) to choose another graphic system15 #16 /vis/open OGLIX17 #/vis/open OGLIXm18 #19 #/vis/open DAWNFILE20 #21 # Draw scene22 /vis/viewer/set/viewpointThetaPhi 90 0 deg23 /vis/viewer/zoom 1.024 /vis/viewer/flush25 #26 # for drawing the tracks27 # if too many tracks cause core dump => storeTrajectory 028 /tracking/storeTrajectory 129 /vis/scene/endOfEventAction accumulate30 #31 #/testhadr/DrawTracks charged32 4 /testhadr/TargetMat G4_Al 33 5 /testhadr/TargetRadius 1 cm 34 6 /testhadr/TargetLength 10 cm 35 /testhadr/NumberDivZ 1007 #/testhadr/NumberDivZ 100 36 8 /testhadr/DrawTracks all 37 /testhadr/CutsAll 1 mm38 /testhadr/Physics QBBC9 #/testhadr/CutsAll 1 mm 10 #/testhadr/Physics QBBC 39 11 # 40 12 /run/initialize 41 13 # 42 14 # Use this open statement to create an OpenGL view: 15 /vis/open OGL 600x600-0+0 16 # 17 # Use this open statement to create a .prim file suitable for 18 # viewing in DAWN: 19 #/vis/open DAWNFILE 20 # 21 # Use this open statement to create a .heprep file suitable for 22 # viewing in HepRApp: 23 #/vis/open HepRepFile 24 # 25 # Use this open statement to create a .wrl file suitable for 26 # viewing in a VRML viewer: 27 #/vis/open VRML2FILE 28 # 29 # Disable auto refresh and quieten vis messages whilst scene and 30 # trajectories are established: 31 /vis/viewer/set/autoRefresh false 32 /vis/verbose errors 33 # 34 # Draw geometry: 35 /vis/drawVolume 36 # 37 # Specify view angle: 38 /vis/viewer/set/viewpointThetaPhi 90. 0. 39 # 40 # Specify zoom value: 41 #/vis/viewer/zoom 2. 42 # 43 # Specify style (surface or wireframe): 44 #/vis/viewer/set/style wireframe 45 # 46 # Draw coordinate axes: 47 #/vis/scene/add/axes 0 0 0 1 m 48 # 49 # Draw smooth trajectories at end of event, showing trajectory points 50 # as markers 2 pixels wide: 51 /vis/scene/add/trajectories smooth 52 /vis/modeling/trajectories/create/drawByCharge 53 #/vis/modeling/trajectories/drawByCharge-0/default/setDrawStepPts true 54 #/vis/modeling/trajectories/drawByCharge-0/default/setStepPtsSize 2 55 # (if too many tracks cause core dump => /tracking/storeTrajectory 0) 56 # 57 # Draw hits at end of event: 58 #/vis/scene/add/hits 59 # 60 # To draw only gammas: 61 #/vis/filtering/trajectories/create/particleFilter 62 #/vis/filtering/trajectories/particleFilter-0/add gamma 63 # 64 # To invert the above, drawing all particles except gammas, 65 # keep the above two lines but also add: 66 #/vis/filtering/trajectories/particleFilter-0/invert true 67 # 68 # Many other options are available with /vis/modeling and /vis/filtering. 69 # For example, to select colour by particle ID: 70 #/vis/modeling/trajectories/create/drawByParticleID 71 #/vis/modeling/trajectories/drawByParticleID-0/set e- blue 72 # 73 # To superimpose all of the events from a given run: 74 /vis/scene/endOfEventAction accumulate 75 # 76 # Re-establish auto refreshing and verbosity: 77 /vis/viewer/set/autoRefresh true 78 /vis/verbose warnings 79 # 80 # For file-based drivers, use this to create an empty detector view: 81 #/vis/viewer/flush
Note: See TracChangeset
for help on using the changeset viewer.