Changeset 1230 for trunk/examples/extended/electromagnetic/TestEm14/src
- Timestamp:
- Jan 8, 2010, 3:02:48 PM (15 years ago)
- Location:
- trunk/examples/extended/electromagnetic/TestEm14/src
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc
r807 r1230 25 25 // 26 26 // $Id: DetectorConstruction.cc,v 1.4 2006/06/29 16:45:33 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/TestEm14/src/DetectorMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: DetectorMessenger.cc,v 1.3 2006/06/29 16:45:35 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/TestEm14/src/EventAction.cc
r807 r1230 25 25 // 26 26 // $Id: EventAction.cc,v 1.3 2006/06/29 16:45:37 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/TestEm14/src/EventActionMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: EventActionMessenger.cc,v 1.3 2006/06/29 16:45:39 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/TestEm14/src/HistoManager.cc
r807 r1230 24 24 // ******************************************************************** 25 25 // 26 // $Id: HistoManager.cc,v 1. 5 2007/11/13 12:13:32maire Exp $27 // GEANT4 tag $Name: geant4-09-0 1-patch-02$26 // $Id: HistoManager.cc,v 1.7 2008/09/24 18:53:56 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] = "testem14"; 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++) { … … 218 218 void HistoManager::PrintHisto(G4int ih) 219 219 { 220 if (ih < MaxHisto) ascii[ih] = true;220 if (ih < MaxHisto) { ascii[ih] = true; ascii[0] = true; } 221 221 else 222 222 G4cout << "---> warning from HistoManager::PrintHisto() : histo " << ih … … 231 231 { 232 232 #ifdef G4ANALYSIS_USE 233 234 if (!ascii[0]) return; 233 235 234 236 G4String name = fileName[0] + ".ascii"; -
trunk/examples/extended/electromagnetic/TestEm14/src/HistoMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: HistoMessenger.cc,v 1.4 2007/11/13 12:17:07 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/TestEm14/src/PhysListEmLivermore.cc
r807 r1230 25 25 // 26 26 // 27 // $Id: PhysListEmLivermore.cc,v 1. 2 2006/06/29 16:45:47 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: PhysListEmLivermore.cc,v 1.4 2009/11/19 10:36:37 maire Exp $ 28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 35 35 #include "G4ProcessManager.hh" 36 36 37 #include "G4LowEnergyCompton.hh" 38 #include "G4LowEnergyGammaConversion.hh" 39 #include "G4LowEnergyPhotoElectric.hh" 40 #include "G4LowEnergyRayleigh.hh" 37 // gamma 41 38 42 #include "G4LowEnergyIonisation.hh" 43 #include "G4LowEnergyBremsstrahlung.hh" 39 #include "G4PhotoElectricEffect.hh" 40 #include "G4LivermorePhotoElectricModel.hh" 41 42 #include "G4ComptonScattering.hh" 43 #include "G4LivermoreComptonModel.hh" 44 45 #include "G4GammaConversion.hh" 46 #include "G4LivermoreGammaConversionModel.hh" 47 48 #include "G4RayleighScattering.hh" 49 #include "G4LivermoreRayleighModel.hh" 50 51 // e- 52 44 53 #include "G4eIonisation.hh" 54 #include "G4LivermoreIonisationModel.hh" 55 #include "G4UniversalFluctuation.hh" 56 45 57 #include "G4eBremsstrahlung.hh" 58 #include "G4LivermoreBremsstrahlungModel.hh" 59 60 // e+ 61 46 62 #include "G4eplusAnnihilation.hh" 63 64 // mu 47 65 48 66 #include "G4MuIonisation.hh" … … 50 68 #include "G4MuPairProduction.hh" 51 69 52 #include "G4hLowEnergyIonisation.hh" 70 // hadrons, ions 71 72 #include "G4hIonisation.hh" 73 #include "G4ionIonisation.hh" 74 53 75 54 76 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 67 89 void PhysListEmLivermore::ConstructProcess() 68 90 { 69 // Add LowEn orstandard EM Processes91 // Add standard EM Processes 70 92 71 93 theParticleIterator->reset(); … … 74 96 G4ProcessManager* pmanager = particle->GetProcessManager(); 75 97 G4String particleName = particle->GetParticleName(); 76 98 99 //Applicability range for Livermore models 100 //for higher energies, the Standard models are used 101 G4double highEnergyLimit = 1*GeV; 102 77 103 if (particleName == "gamma") { 78 104 // gamma 79 pmanager->AddDiscreteProcess(new G4LowEnergyPhotoElectric); 80 pmanager->AddDiscreteProcess(new G4LowEnergyCompton); 81 pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion); 82 pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh); 105 106 G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); 107 G4LivermorePhotoElectricModel* 108 photModel = new G4LivermorePhotoElectricModel(); 109 photModel->SetHighEnergyLimit(highEnergyLimit); 110 phot->AddEmModel(0, photModel); 111 pmanager->AddDiscreteProcess(phot); 112 113 G4ComptonScattering* compt = new G4ComptonScattering(); 114 G4LivermoreComptonModel* 115 comptModel = new G4LivermoreComptonModel(); 116 comptModel->SetHighEnergyLimit(highEnergyLimit); 117 compt->AddEmModel(0, comptModel); 118 pmanager->AddDiscreteProcess(compt); 119 120 G4GammaConversion* conv = new G4GammaConversion(); 121 G4LivermoreGammaConversionModel* 122 convModel = new G4LivermoreGammaConversionModel(); 123 convModel->SetHighEnergyLimit(highEnergyLimit); 124 conv->AddEmModel(0, convModel); 125 pmanager->AddDiscreteProcess(conv); 126 127 G4RayleighScattering* rayl = new G4RayleighScattering(); 128 G4LivermoreRayleighModel* 129 raylModel = new G4LivermoreRayleighModel(); 130 raylModel->SetHighEnergyLimit(highEnergyLimit); 131 rayl->AddEmModel(0, raylModel); 132 pmanager->AddDiscreteProcess(rayl); 83 133 84 134 } else if (particleName == "e-") { 85 135 //electron 86 pmanager->AddProcess(new G4LowEnergyIonisation, -1, 1, 1); 87 pmanager->AddProcess(new G4LowEnergyBremsstrahlung, -1,-1, 2); 88 136 137 G4eIonisation* eIoni = new G4eIonisation(); 138 G4LivermoreIonisationModel* 139 eIoniModel = new G4LivermoreIonisationModel(); 140 eIoniModel->SetHighEnergyLimit(highEnergyLimit); 141 eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); 142 pmanager->AddProcess(eIoni, -1, 1, 1); 143 144 G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); 145 G4LivermoreBremsstrahlungModel* 146 eBremModel = new G4LivermoreBremsstrahlungModel(); 147 eBremModel->SetHighEnergyLimit(highEnergyLimit); 148 eBrem->AddEmModel(0, eBremModel); 149 pmanager->AddProcess(eBrem, -1, 2, 2); 150 89 151 } else if (particleName == "e+") { 90 152 //positron 91 pmanager->AddProcess(new G4eIonisation, 92 pmanager->AddProcess(new G4eBremsstrahlung, 93 pmanager->AddProcess(new G4eplusAnnihilation, 153 pmanager->AddProcess(new G4eIonisation, -1, 1, 1); 154 pmanager->AddProcess(new G4eBremsstrahlung, -1, 2, 2); 155 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 3); 94 156 95 157 } else if( particleName == "mu+" || 96 158 particleName == "mu-" ) { 97 159 //muon 98 pmanager->AddProcess(new G4MuIonisation, 99 pmanager->AddProcess(new G4MuBremsstrahlung, 100 pmanager->AddProcess(new G4MuPairProduction, 160 pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); 161 pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); 162 pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); 101 163 164 } else if( particleName == "alpha" || particleName == "GenericIon" ) { 165 pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); 166 102 167 } else if ((!particle->IsShortLived()) && 103 168 (particle->GetPDGCharge() != 0.0) && 104 169 (particle->GetParticleName() != "chargedgeantino")) { 105 170 //all others charged particles except geantino 106 pmanager->AddProcess(new G4h LowEnergyIonisation,-1, 1, 1);171 pmanager->AddProcess(new G4hIonisation, -1, 1, 1); 107 172 } 108 173 } -
trunk/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc
r807 r1230 25 25 // 26 26 // 27 // $Id: PhysListEmPenelope.cc,v 1. 2 2006/06/29 16:45:49 gunterExp $28 // GEANT4 tag $Name: $27 // $Id: PhysListEmPenelope.cc,v 1.4 2009/11/19 10:36:37 maire Exp $ 28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 35 35 #include "G4ProcessManager.hh" 36 36 37 #include "G4PenelopeCompton.hh" 38 #include "G4PenelopeGammaConversion.hh" 39 #include "G4PenelopePhotoElectric.hh" 40 #include "G4PenelopeRayleigh.hh" 37 // gamma 41 38 42 #include "G4PenelopeIonisation.hh" 43 #include "G4PenelopeBremsstrahlung.hh" 44 #include "G4PenelopeAnnihilation.hh" 39 #include "G4PhotoElectricEffect.hh" 40 #include "G4PenelopePhotoElectricModel.hh" 41 42 #include "G4ComptonScattering.hh" 43 #include "G4PenelopeComptonModel.hh" 44 45 #include "G4GammaConversion.hh" 46 #include "G4PenelopeGammaConversionModel.hh" 47 48 #include "G4RayleighScattering.hh" 49 #include "G4PenelopeRayleighModel.hh" 50 51 // e- 52 53 #include "G4eIonisation.hh" 54 #include "G4PenelopeIonisationModel.hh" 55 #include "G4UniversalFluctuation.hh" 56 57 #include "G4eBremsstrahlung.hh" 58 #include "G4PenelopeBremsstrahlungModel.hh" 59 60 // e+ 61 62 #include "G4eplusAnnihilation.hh" 63 #include "G4PenelopeAnnihilationModel.hh" 64 65 // mu 45 66 46 67 #include "G4MuIonisation.hh" … … 48 69 #include "G4MuPairProduction.hh" 49 70 71 // hadrons, ions 72 50 73 #include "G4hIonisation.hh" 51 74 #include "G4ionIonisation.hh" 75 52 76 53 77 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 66 90 void PhysListEmPenelope::ConstructProcess() 67 91 { 68 // Add Penelope orstandard EM Processes92 // Add standard EM Processes 69 93 70 94 theParticleIterator->reset(); … … 73 97 G4ProcessManager* pmanager = particle->GetProcessManager(); 74 98 G4String particleName = particle->GetParticleName(); 75 99 100 //Applicability range for Penelope models 101 //for higher energies, the Standard models are used 102 G4double highEnergyLimit = 1*GeV; 103 76 104 if (particleName == "gamma") { 77 105 // gamma 78 pmanager->AddDiscreteProcess(new G4PenelopePhotoElectric); 79 pmanager->AddDiscreteProcess(new G4PenelopeCompton); 80 pmanager->AddDiscreteProcess(new G4PenelopeGammaConversion); 81 pmanager->AddDiscreteProcess(new G4PenelopeRayleigh); 106 107 G4PhotoElectricEffect* phot = new G4PhotoElectricEffect(); 108 G4PenelopePhotoElectricModel* 109 photModel = new G4PenelopePhotoElectricModel(); 110 photModel->SetHighEnergyLimit(highEnergyLimit); 111 phot->AddEmModel(0, photModel); 112 pmanager->AddDiscreteProcess(phot); 113 114 G4ComptonScattering* compt = new G4ComptonScattering(); 115 G4PenelopeComptonModel* 116 comptModel = new G4PenelopeComptonModel(); 117 comptModel->SetHighEnergyLimit(highEnergyLimit); 118 compt->AddEmModel(0, comptModel); 119 pmanager->AddDiscreteProcess(compt); 120 121 G4GammaConversion* conv = new G4GammaConversion(); 122 G4PenelopeGammaConversionModel* 123 convModel = new G4PenelopeGammaConversionModel(); 124 convModel->SetHighEnergyLimit(highEnergyLimit); 125 conv->AddEmModel(0, convModel); 126 pmanager->AddDiscreteProcess(conv); 127 128 G4RayleighScattering* rayl = new G4RayleighScattering(); 129 G4PenelopeRayleighModel* 130 raylModel = new G4PenelopeRayleighModel(); 131 raylModel->SetHighEnergyLimit(highEnergyLimit); 132 rayl->AddEmModel(0, raylModel); 133 pmanager->AddDiscreteProcess(rayl); 82 134 83 135 } else if (particleName == "e-") { 84 136 //electron 85 pmanager->AddProcess(new G4PenelopeIonisation, -1, 1, 1); 86 pmanager->AddProcess(new G4PenelopeBremsstrahlung, -1,-1, 2); 87 137 138 G4eIonisation* eIoni = new G4eIonisation(); 139 G4PenelopeIonisationModel* 140 eIoniModel = new G4PenelopeIonisationModel(); 141 eIoniModel->SetHighEnergyLimit(highEnergyLimit); 142 eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); 143 pmanager->AddProcess(eIoni, -1, 1, 1); 144 145 G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); 146 G4PenelopeBremsstrahlungModel* 147 eBremModel = new G4PenelopeBremsstrahlungModel(); 148 eBremModel->SetHighEnergyLimit(highEnergyLimit); 149 eBrem->AddEmModel(0, eBremModel); 150 pmanager->AddProcess(eBrem, -1, 2, 2); 151 88 152 } else if (particleName == "e+") { 89 153 //positron 90 pmanager->AddProcess(new G4PenelopeIonisation, -1, 1, 1); 91 pmanager->AddProcess(new G4PenelopeBremsstrahlung, -1,-1, 2); 92 pmanager->AddProcess(new G4PenelopeAnnihilation, 0,-1, 3); 154 G4eIonisation* eIoni = new G4eIonisation(); 155 G4PenelopeIonisationModel* 156 eIoniModel = new G4PenelopeIonisationModel(); 157 eIoniModel->SetHighEnergyLimit(highEnergyLimit); 158 eIoni->AddEmModel(0, eIoniModel, new G4UniversalFluctuation() ); 159 pmanager->AddProcess(eIoni, -1, 1, 1); 93 160 161 G4eBremsstrahlung* eBrem = new G4eBremsstrahlung(); 162 G4PenelopeBremsstrahlungModel* 163 eBremModel = new G4PenelopeBremsstrahlungModel(); 164 eBremModel->SetHighEnergyLimit(highEnergyLimit); 165 eBrem->AddEmModel(0, eBremModel); 166 pmanager->AddProcess(eBrem, -1, 2, 2); 167 168 G4eplusAnnihilation* eAnni = new G4eplusAnnihilation(); 169 G4PenelopeAnnihilationModel* 170 eAnniModel = new G4PenelopeAnnihilationModel(); 171 eAnniModel->SetHighEnergyLimit(highEnergyLimit); 172 eAnni->AddEmModel(0, eAnniModel); 173 pmanager->AddProcess(eAnni, 0,-1, 3); 174 94 175 } else if( particleName == "mu+" || 95 176 particleName == "mu-" ) { 96 177 //muon 97 pmanager->AddProcess(new G4MuIonisation, 98 pmanager->AddProcess(new G4MuBremsstrahlung, 99 pmanager->AddProcess(new G4MuPairProduction, 178 pmanager->AddProcess(new G4MuIonisation, -1, 1, 1); 179 pmanager->AddProcess(new G4MuBremsstrahlung, -1, 2, 2); 180 pmanager->AddProcess(new G4MuPairProduction, -1, 3, 3); 100 181 101 182 } else if( particleName == "alpha" || particleName == "GenericIon" ) { 102 pmanager->AddProcess(new G4ionIonisation, 103 183 pmanager->AddProcess(new G4ionIonisation, -1, 1, 1); 184 104 185 } else if ((!particle->IsShortLived()) && 105 186 (particle->GetPDGCharge() != 0.0) && 106 187 (particle->GetParticleName() != "chargedgeantino")) { 107 188 //all others charged particles except geantino 108 pmanager->AddProcess(new G4hIonisation, 189 pmanager->AddProcess(new G4hIonisation, -1, 1, 1); 109 190 } 110 191 } -
trunk/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc
r807 r1230 26 26 // 27 27 // $Id: PhysListEmStandard.cc,v 1.4 2006/10/24 16:54:16 maire Exp $ 28 // GEANT4 tag $Name: $28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -
trunk/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc
r807 r1230 25 25 // 26 26 // 27 // $Id: PhysicsList.cc,v 1. 4 2006/10/24 16:54:16maire Exp $28 // GEANT4 tag $Name: $27 // $Id: PhysicsList.cc,v 1.6 2009/11/19 10:36:37 maire Exp $ 28 // GEANT4 tag $Name: geant4-09-03-cand-01 $ 29 29 // 30 30 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... … … 35 35 36 36 #include "PhysListEmStandard.hh" 37 38 37 #include "PhysListEmLivermore.hh" 39 38 #include "PhysListEmPenelope.hh" … … 200 199 201 200 if (name == "standard") { 202 203 201 emName = name; 204 202 delete emPhysicsList; 205 203 emPhysicsList = new PhysListEmStandard(name); 206 204 207 205 } else if (name == "livermore") { 208 206 emName = name; … … 214 212 delete emPhysicsList; 215 213 emPhysicsList = new PhysListEmPenelope(name); 216 214 217 215 } else { 218 216 G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" -
trunk/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 16:45:55 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/TestEm14/src/PrimaryGeneratorAction.cc
r807 r1230 25 25 // 26 26 // $Id: PrimaryGeneratorAction.cc,v 1.3 2006/06/29 16:45:57 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/TestEm14/src/RunAction.cc
r807 r1230 25 25 // 26 26 // $Id: RunAction.cc,v 1.4 2006/09/06 09:56:06 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/TestEm14/src/SteppingAction.cc
r807 r1230 25 25 // 26 26 // $Id: SteppingAction.cc,v 1.5 2007/06/23 22:23:20 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/TestEm14/src/SteppingMessenger.cc
r807 r1230 25 25 // 26 26 // $Id: SteppingMessenger.cc,v 1.2 2006/06/29 16:46: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/TestEm14/src/SteppingVerbose.cc
r807 r1230 25 25 // 26 26 // $Id: SteppingVerbose.cc,v 1.3 2006/06/29 16:46:05 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.