Changeset 1337 for trunk/examples/advanced/human_phantom/src
- Timestamp:
- Sep 30, 2010, 2:47:17 PM (15 years ago)
- Location:
- trunk/examples/advanced/human_phantom/src
- Files:
-
- 6 edited
-
G4HumanPhantomEventAction.cc (modified) (2 diffs)
-
G4HumanPhantomHit.cc (modified) (1 diff)
-
G4HumanPhantomPhysicsList.cc (modified) (4 diffs)
-
G4MIRDTestes.cc (modified) (1 diff)
-
G4ORNLFemaleBodyFactory.cc (modified) (1 diff)
-
G4ORNLMaleBodyFactory.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/examples/advanced/human_phantom/src/G4HumanPhantomEventAction.cc
r807 r1337 36 36 #include "G4Event.hh" 37 37 #include "G4EventManager.hh" 38 #include "G4TrajectoryContainer.hh"39 #include "G4Trajectory.hh"40 #include "G4VVisManager.hh"41 38 #include "G4ios.hh" 42 39 #include "G4SDManager.hh" … … 122 119 123 120 totalEventEnergyDeposit(); 124 125 126 // Visualization of particle tracks127 G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer();128 G4int n_trajectories = 0;129 if (trajectoryContainer) n_trajectories = trajectoryContainer->entries();130 131 if (G4VVisManager::GetConcreteInstance())132 {133 for (G4int i=0; i<n_trajectories; i++)134 { G4Trajectory* trj = (G4Trajectory*)135 ((*(evt->GetTrajectoryContainer()))[i]);136 trj->DrawTrajectory(500);137 }138 }139 121 } 140 122 -
trunk/examples/advanced/human_phantom/src/G4HumanPhantomHit.cc
r1230 r1337 26 26 // 27 27 // $Id: G4HumanPhantomHit.cc,v 1.11 2007/05/15 14:45:35 guatelli 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/advanced/human_phantom/src/G4HumanPhantomPhysicsList.cc
r807 r1337 24 24 // ******************************************************************** 25 25 // 26 // Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy 26 // 27 // Code developed by: 28 // S. Guatelli, G. Guerrieri and M. G. Pia 29 // 27 30 // 28 // Based on code developed by the undergraduate student G. Guerrieri 29 // Note: this is a preliminary beta-version of the code; an improved 30 // version will be distributed in the next Geant4 public release, compliant 31 // with the design in a forthcoming publication, and subject to a 32 // design and code review. 33 31 // 32 // ********************************** 33 // * * 34 // * G4HumanPhantomPhysicsList.cc * 35 // * * 36 // ********************************** 37 // 38 // $Id: G4HumanPhantomPhysicsList.cc,v 1.12 2010/06/03 23:37:01 cirrone Exp $ 39 // GEANT4 tag $Name: geant4-09-04-beta-01 $ 40 // 34 41 #include "G4HumanPhantomPhysicsList.hh" 35 42 … … 40 47 #include "G4UnitsTable.hh" 41 48 #include "G4ios.hh" 42 43 49 #include "G4MultipleScattering.hh" 44 50 // gamma 45 #include "G4LowEnergyRayleigh.hh" 46 #include "G4LowEnergyPhotoElectric.hh" 47 #include "G4LowEnergyCompton.hh" 48 #include "G4LowEnergyGammaConversion.hh" 51 #include "G4PhotoElectricEffect.hh" 52 #include "G4LivermorePhotoElectricModel.hh" 53 54 #include "G4ComptonScattering.hh" 55 #include "G4LivermoreComptonModel.hh" 56 57 #include "G4GammaConversion.hh" 58 #include "G4LivermoreGammaConversionModel.hh" 59 60 #include "G4RayleighScattering.hh" 61 #include "G4LivermoreRayleighModel.hh" 62 49 63 // e- 50 #include "G4LowEnergyIonisation.hh" 51 #include "G4LowEnergyBremsstrahlung.hh" 64 #include "G4eMultipleScattering.hh" 65 #include "G4eIonisation.hh" 66 #include "G4LivermoreIonisationModel.hh" 67 #include "G4eBremsstrahlung.hh" 68 #include "G4LivermoreBremsstrahlungModel.hh" 69 52 70 // e+ 53 71 #include "G4eIonisation.hh" … … 70 88 // This ensures that objects of these particle types will be 71 89 // created in the program. 72 G4Geantino::GeantinoDefinition();73 90 74 91 ConstructBosons(); 75 92 ConstructLeptons(); 93 76 94 } 77 95 … … 108 126 109 127 if (particleName == "gamma") { 128 110 129 // Photon 111 pmanager->AddDiscreteProcess(new G4LowEnergyRayleigh); 112 pmanager->AddDiscreteProcess(new G4LowEnergyPhotoElectric); 113 pmanager->AddDiscreteProcess(new G4LowEnergyCompton); 114 pmanager->AddDiscreteProcess(new G4LowEnergyGammaConversion); 130 G4RayleighScattering* theRayleigh = new G4RayleighScattering(); 131 theRayleigh->SetModel(new G4LivermoreRayleighModel()); //not strictly necessary 132 pmanager->AddDiscreteProcess(theRayleigh); 133 134 G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect(); 135 thePhotoElectricEffect->SetModel(new G4LivermorePhotoElectricModel()); 136 pmanager->AddDiscreteProcess(thePhotoElectricEffect); 137 138 G4ComptonScattering* theComptonScattering = new G4ComptonScattering(); 139 theComptonScattering->SetModel(new G4LivermoreComptonModel()); 140 pmanager->AddDiscreteProcess(theComptonScattering); 141 142 G4GammaConversion* theGammaConversion = new G4GammaConversion(); 143 theGammaConversion->SetModel(new G4LivermoreGammaConversionModel()); 144 pmanager->AddDiscreteProcess(theGammaConversion); 115 145 116 146 } else if (particleName == "e-") { 117 147 // Electron 118 G4LowEnergyIonisation* loweIon = new G4LowEnergyIonisation("LowEnergyIoni"); 119 120 G4LowEnergyBremsstrahlung* loweBrem = new G4LowEnergyBremsstrahlung("LowEnBrem"); 121 // Select the Bremsstrahlung angular distribution model (Tsai/2BN/2BS) 122 loweBrem->SetAngularGenerator("tsai"); 123 124 pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); 125 pmanager->AddProcess(loweIon, -1, 2,2); 126 pmanager->AddProcess(loweBrem, -1,-1,3); 148 149 G4eMultipleScattering* msc = new G4eMultipleScattering(); 150 msc->SetStepLimitType(fUseDistanceToBoundary); 151 pmanager->AddProcess(msc,-1, 1, 1); 152 153 // Ionisation 154 G4eIonisation* eIonisation = new G4eIonisation(); 155 eIonisation->SetEmModel(new G4LivermoreIonisationModel()); 156 eIonisation->SetStepFunction(0.2, 100*um); //improved precision in tracking 157 pmanager->AddProcess(eIonisation,-1, 2, 2); 158 159 // Bremsstrahlung 160 G4eBremsstrahlung* eBremsstrahlung = new G4eBremsstrahlung(); 161 eBremsstrahlung->SetEmModel(new G4LivermoreBremsstrahlungModel()); 162 pmanager->AddProcess(eBremsstrahlung, -1,-3, 3); 127 163 128 164 } else if (particleName == "e+") { 129 165 // Positron 130 pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); 131 pmanager->AddProcess(new G4eIonisation, -1, 2,2); 132 pmanager->AddProcess(new G4eBremsstrahlung, -1,-1,3); 133 pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); 166 G4eMultipleScattering* msc = new G4eMultipleScattering(); 167 msc->SetStepLimitType(fUseDistanceToBoundary); 168 pmanager->AddProcess(msc,-1, 1, 1); 169 170 // Ionisation 171 G4eIonisation* eIonisation = new G4eIonisation(); 172 eIonisation->SetStepFunction(0.2, 100*um); // 173 pmanager->AddProcess(eIonisation, -1, 2, 2); 174 175 //Bremsstrahlung (use default, no low-energy available) 176 pmanager->AddProcess(new G4eBremsstrahlung(), -1,-1, 3); 177 178 //Annihilation 179 pmanager->AddProcess(new G4eplusAnnihilation(),0,-1, 4); 134 180 135 181 } -
trunk/examples/advanced/human_phantom/src/G4MIRDTestes.cc
r1230 r1337 37 37 #include "G4SDManager.hh" 38 38 #include "G4VisAttributes.hh" 39 #include "G4PVPlacement.hh" 39 40 40 41 G4MIRDTestes::G4MIRDTestes() -
trunk/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc
r1230 r1337 37 37 #include "G4GDMLParser.hh" 38 38 #include "globals.hh" 39 #include "G4PVPlacement.hh" 39 40 #include "G4SDManager.hh" 40 41 #include "G4VisAttributes.hh" -
trunk/examples/advanced/human_phantom/src/G4ORNLMaleBodyFactory.cc
r1230 r1337 37 37 #include "G4GDMLParser.hh" 38 38 #include "globals.hh" 39 #include "G4PVPlacement.hh" 39 40 #include "G4SDManager.hh" 40 41 #include "G4VisAttributes.hh"
Note:
See TracChangeset
for help on using the changeset viewer.
