Changeset 1230 for trunk/examples/extended/electromagnetic/TestEm12/src
- Timestamp:
- Jan 8, 2010, 3:02:48 PM (15 years ago)
- Location:
- trunk/examples/extended/electromagnetic/TestEm12/src
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc
r807 r1230 25 25 // 26 26 // $Id: DetectorConstruction.cc,v 1.2 2006/06/29 16:43:00 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:43:03 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/EventAction.cc
r807 r1230 25 25 // 26 26 // $Id: EventAction.cc,v 1.2 2006/06/29 16:43:05 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/EventActionMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: EventActionMessenger.cc,v 1.2 2006/06/29 16:43:07 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // $Id: HistoManager.cc,v 1. 6 2007/11/09 17:35:06maire Exp $27 // GEANT4 tag $Name: geant4-09-0 1-patch-02$26 // $Id: HistoManager.cc,v 1.11 2008/09/23 20:48:12 maire Exp $ 27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 54 54 55 55 fileName[0] = "testem12"; 56 fileType = " hbook";57 fileOption = "--noErrors uncompress";56 fileType = "root"; 57 fileOption = "--noErrors export=root uncompress"; 58 58 // histograms 59 59 for (G4int k=0; k<MaxHisto; k++) { … … 224 224 if (ih > MaxHisto) { 225 225 G4cout << "---> warning from HistoManager::RemoveHisto() : histo " << ih 226 << "does not exist "<< G4endl;226 << "does not exist (fac = " << fac << ")" << G4endl; 227 227 return; 228 228 } … … 236 236 void HistoManager::PrintHisto(G4int ih) 237 237 { 238 if (ih < MaxHisto) ascii[ih] = true;238 if (ih < MaxHisto) { ascii[ih] = true; ascii[0] = true; } 239 239 else 240 240 G4cout << "---> warning from HistoManager::PrintHisto() : histo " << ih … … 249 249 { 250 250 #ifdef G4ANALYSIS_USE 251 251 252 if (!ascii[0] ) return; 253 252 254 G4String name = fileName[0] + ".ascii"; 253 255 std::ofstream File(name, std::ios::out); … … 262 264 for (G4int iBin=0; iBin<Nbins[ih]; iBin++) { 263 265 File << " " << iBin << "\t" 264 << histo[ih]->binMean(iBin) << "\t" 266 << 0.5*(histo[ih]->axis().binLowerEdge(iBin) + 267 histo[ih]->axis().binUpperEdge(iBin)) << "\t" 265 268 << histo[ih]->binHeight(iBin) 266 269 << G4endl; -
trunk/examples/extended/electromagnetic/TestEm12/src/HistoMessenger.cc
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // $Id: HistoMessenger.cc,v 1. 4 2007/11/09 17:35:06 maireExp $27 // GEANT4 tag $Name: geant4-09-0 1-patch-02$26 // $Id: HistoMessenger.cc,v 1.5 2008/01/11 13:11:31 jjacquem Exp $ 27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 56 56 typeCmd->SetGuidance("set histograms file type: hbook, root, XML"); 57 57 typeCmd->SetCandidates("hbook root XML"); 58 59 optionCmd = new G4UIcmdWithAString("/testem/histo/setFileOption",this); 60 optionCmd->SetGuidance("set option for the histograms file"); 61 58 62 59 63 histoCmd = new G4UIcommand("/testem/histo/setHisto",this); … … 112 116 delete factoryCmd; 113 117 delete histoDir; 118 delete optionCmd; 114 119 } 115 120 … … 123 128 if (command == typeCmd) 124 129 histoManager->SetFileType(newValues); 130 131 if (command == optionCmd) 132 histoManager->SetFileOption(newValues); 133 134 125 135 126 136 if (command == histoCmd) -
trunk/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // 27 // $Id: PhysListEmStandard.cc,v 1.2 2006/06/29 16:43:25 gunter Exp $ 28 // GEANT4 tag $Name: $ 26 // $Id: PhysListEmStandard.cc,v 1.8 2009/11/16 16:18:27 maire Exp $ 27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 28 // 30 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 39 38 #include "G4PhotoElectricEffect.hh" 40 39 41 #include "G4 MultipleScattering.hh"42 40 #include "G4eMultipleScattering.hh" 41 #include "G4UrbanMscModel93.hh" 43 42 #include "G4eIonisation.hh" 44 43 #include "G4eBremsstrahlung.hh" 45 44 #include "G4eplusAnnihilation.hh" 46 45 46 #include "G4MuMultipleScattering.hh" 47 47 #include "G4MuIonisation.hh" 48 48 #include "G4MuBremsstrahlung.hh" 49 49 #include "G4MuPairProduction.hh" 50 50 51 #include "G4hMultipleScattering.hh" 51 52 #include "G4hIonisation.hh" 53 #include "G4hBremsstrahlung.hh" 54 #include "G4hPairProduction.hh" 55 52 56 #include "G4ionIonisation.hh" 57 #include "G4IonParametrisedLossModel.hh" 58 #include "G4NuclearStopping.hh" 59 60 #include "G4EmProcessOptions.hh" 61 #include "G4MscStepLimitType.hh" 53 62 54 63 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 68 77 { 69 78 // Add standard EM Processes 79 // 70 80 71 81 theParticleIterator->reset(); … … 76 86 77 87 if (particleName == "gamma") { 78 // gamma 88 // gamma 79 89 pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); 80 90 pmanager->AddDiscreteProcess(new G4ComptonScattering); … … 83 93 } else if (particleName == "e-") { 84 94 //electron 85 pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); 86 pmanager->AddProcess(new G4eIonisation, -1, 2,2); 87 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); 95 G4eMultipleScattering* msc = new G4eMultipleScattering(); 96 msc->AddEmModel(0, new G4UrbanMscModel93()); 97 pmanager->AddProcess(msc, -1, 1, 1); 98 pmanager->AddProcess(new G4eIonisation, -1, 2, 2); 99 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); 88 100 89 101 } else if (particleName == "e+") { 90 102 //positron 91 pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); 92 pmanager->AddProcess(new G4eIonisation, -1, 2,2); 93 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); 94 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); 95 96 } else if( particleName == "mu+" || 103 G4eMultipleScattering* msc = new G4eMultipleScattering(); 104 msc->AddEmModel(0, new G4UrbanMscModel93()); 105 pmanager->AddProcess(msc, -1, 1, 1); 106 pmanager->AddProcess(new G4eIonisation, -1, 2, 2); 107 pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); 108 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); 109 110 } else if (particleName == "mu+" || 97 111 particleName == "mu-" ) { 98 112 //muon 99 pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); 100 pmanager->AddProcess(new G4MuIonisation, -1, 2,2); 101 pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3); 102 pmanager->AddProcess(new G4MuPairProduction, -1, 4,4); 113 pmanager->AddProcess(new G4MuMultipleScattering, -1, 1, 1); 114 pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); 115 pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); 116 pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); 117 118 } else if( particleName == "proton" || 119 particleName == "pi-" || 120 particleName == "pi+" ) { 121 //proton 122 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 123 pmanager->AddProcess(new G4hIonisation, -1, 2, 2); 124 pmanager->AddProcess(new G4hBremsstrahlung, -1, 3, 3); 125 pmanager->AddProcess(new G4hPairProduction, -1, 4, 4); 103 126 104 } else if( particleName == "GenericIon" ) { 105 pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); 106 pmanager->AddProcess(new G4ionIonisation, -1, 2,2); 107 127 } else if( particleName == "alpha" || 128 particleName == "He3" ) { 129 //alpha 130 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 131 pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); 132 pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); 133 134 } else if( particleName == "GenericIon" ) { 135 //Ions 136 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 137 G4ionIonisation* ionIoni = new G4ionIonisation(); 138 ionIoni->SetEmModel(new G4IonParametrisedLossModel()); 139 pmanager->AddProcess(ionIoni, -1, 2, 2); 140 pmanager->AddProcess(new G4NuclearStopping, -1, 3,-1); 141 108 142 } else if ((!particle->IsShortLived()) && 109 143 (particle->GetPDGCharge() != 0.0) && 110 144 (particle->GetParticleName() != "chargedgeantino")) { 111 145 //all others charged particles except geantino 112 pmanager->AddProcess(new G4 MultipleScattering,-1,1,1);113 pmanager->AddProcess(new G4hIonisation, -1,2,2);146 pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); 147 pmanager->AddProcess(new G4hIonisation, -1, 2, 2); 114 148 } 115 149 } 150 151 // Em options 152 // 153 // Main options and setting parameters are shown here. 154 // Several of them have default values. 155 // 156 G4EmProcessOptions emOptions; 157 158 //physics tables 159 // 160 emOptions.SetMinEnergy(100*eV); //default 161 emOptions.SetMaxEnergy(100*TeV); //default 162 emOptions.SetDEDXBinning(12*20); //default=12*7 163 emOptions.SetLambdaBinning(12*20); //default=12*7 164 emOptions.SetSplineFlag(true); //default 165 166 //multiple coulomb scattering 167 // 168 emOptions.SetMscStepLimitation(fUseDistanceToBoundary); //default=fUseSafety 169 emOptions.SetMscRangeFactor(0.04); //default 170 emOptions.SetMscGeomFactor (2.5); //default 171 emOptions.SetSkin(3.); //default 172 173 //energy loss 174 // 175 emOptions.SetStepFunction(0.2, 100*um); //default=(0.2, 1*mm) 176 emOptions.SetLinearLossLimit(1.e-2); //default 177 178 //ionization 179 // 180 emOptions.SetSubCutoff(false); //default 116 181 } 117 182 -
trunk/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // $Id: PhysicsList.cc,v 1. 6 2007/08/19 20:57:28maire Exp $27 // GEANT4 tag $Name: $26 // $Id: PhysicsList.cc,v 1.8 2009/09/22 15:18:20 maire Exp $ 27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 34 34 35 35 #include "PhysListEmStandard.hh" 36 #include "PhysListEmLivermore.hh" 37 #include "PhysListEmPenelope.hh" 36 37 #include "G4EmStandardPhysics.hh" 38 #include "G4EmStandardPhysics_option1.hh" 39 #include "G4EmStandardPhysics_option2.hh" 40 #include "G4EmStandardPhysics_option3.hh" 41 #include "G4EmLivermorePhysics.hh" 42 #include "G4EmPenelopePhysics.hh" 38 43 39 44 #include "G4LossTableManager.hh" … … 57 62 58 63 // EM physics 59 emPhysicsList = new PhysListEmStandard(emName = " standard");64 emPhysicsList = new PhysListEmStandard(emName = "local"); 60 65 61 66 } … … 186 191 G4EmProcessOptions emOptions; 187 192 emOptions.SetBuildCSDARange(true); 188 193 emOptions.SetDEDXBinningForCSDARange(8*20); 194 189 195 // decay process 190 196 // … … 206 212 if (name == emName) return; 207 213 208 if (name == " standard") {214 if (name == "local") { 209 215 210 216 emName = name; … … 212 218 emPhysicsList = new PhysListEmStandard(name); 213 219 214 } else if (name == " livermore") {215 216 emName = name; 217 delete emPhysicsList; 218 emPhysicsList = new PhysListEmLivermore(name);220 } else if (name == "emstandard_opt0") { 221 222 emName = name; 223 delete emPhysicsList; 224 emPhysicsList = new G4EmStandardPhysics(); 219 225 220 } else if (name == "penelope") { 221 222 emName = name; 223 delete emPhysicsList; 224 emPhysicsList = new PhysListEmPenelope(name); 226 } else if (name == "emstandard_opt1") { 227 228 emName = name; 229 delete emPhysicsList; 230 emPhysicsList = new G4EmStandardPhysics_option1(); 231 232 } else if (name == "emstandard_opt2") { 233 234 emName = name; 235 delete emPhysicsList; 236 emPhysicsList = new G4EmStandardPhysics_option2(); 237 238 } else if (name == "emstandard_opt3") { 239 240 emName = name; 241 delete emPhysicsList; 242 emPhysicsList = new G4EmStandardPhysics_option3(); 243 244 } else if (name == "emlivermore") { 245 emName = name; 246 delete emPhysicsList; 247 emPhysicsList = new G4EmLivermorePhysics(); 248 249 } else if (name == "empenelope") { 250 emName = name; 251 delete emPhysicsList; 252 emPhysicsList = new G4EmPenelopePhysics(); 253 225 254 226 255 } else { -
trunk/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 16:43:30 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc
r807 r1230 25 25 // 26 26 // $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:43:32 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: PrimaryGeneratorMessenger.cc,v 1.2 2006/06/29 16:43:34 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/RunAction.cc
r807 r1230 25 25 // 26 26 // $Id: RunAction.cc,v 1.8 2007/08/19 20:57:29 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/StepMax.cc
r807 r1230 25 25 // 26 26 // $Id: StepMax.cc,v 1.3 2006/06/29 16:43:38 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: StepMaxMessenger.cc,v 1.3 2006/06/29 16:43:40 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc
r807 r1230 25 25 // 26 26 // $Id: SteppingAction.cc,v 1.4 2007/04/27 10:38:11 maire Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/SteppingVerbose.cc
r807 r1230 25 25 // 26 26 // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:43:46 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc
r807 r1230 25 25 // 26 26 // $Id: TrackingAction.cc,v 1.2 2006/06/29 16:43:48 gunter Exp $ 27 // GEANT4 tag $Name: $27 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 28 28 // 29 29 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
Note: See TracChangeset
for help on using the changeset viewer.