Download presentation
Presentation is loading. Please wait.
Published byBarnaby Thomas Poole Modified over 9 years ago
1
1 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ ThIS : a Geant4-based Therapeutic Irradiation Simulator Laurent Guigues CREATIS, UMR CNRS 5220, INSERM U 630 Villeurbanne, France
2
2 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Outline Introduction Goal Architecture ThIS modules Physics Geometry Sensors Beam Conclusion
3
3 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Goal of the project Rationale : Several radiotherapy studies involve MC simulations Multidisciplinary research (physics, medicine, computer science...) Computer science difficulties (C++) Share development Goal : Monte-Carlo simulation platform for radiation therapy studies Photon, Proton, Carbon Cooperative work Accuracy, speed, ease of use, flexibility, openness...
4
4 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Some technical choices Geant4 Extensive and extensible physics C++ Associated with an image library : ThISiS (ThIS image suite) Managing 3D volumes : CT images 3D dose maps ITK-based http://www.itk.orghttp://www.itk.org (Insight Segmentation and Registration Toolkit) Command line only (no display) Documentation wiki, CVS development (cooperative)
5
5 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ ThIS is easy ! High-level macro language (“à la GATE”) : [Jan et al. 2004] “GATE: a simulation toolkit for PET and SPECT” Phys. Med. Biol. 49 (2004) 4543-4561. GATE : Geant4 Application for Tomographic Emission Focused on PET, SPECT simulations ThIS : Therapeutic Irradiation Simulator Focused on radiation therapy simulations
6
6 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ ThIS is easy ! Running a simulation : ThIS MyBeautifulSimu.mac “/run/beamOn 100”
7
7 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ /this/physics/Gamma/SetCutInRegion world 10.0 mm /this/physics/Electron/SetCutInRegion waterBox 3.6 mm /this/physics/Positron/SetCutInRegion PMMACone 4.0 cm # A linac /this/scene/addVolume AcceleratorHead linac /this/scene/linac/parent world /this/scene/linac/position 0 0 100 cm /this/scene/linac/Target/Diameter5.4 mm /this/scene/linac/Target/Thickness1 mm /this/scene/linac/Target/Material Tungsten /this/scene/linac/PrimaryCollimator/Diameter200 mm /this/scene/linac/PrimaryCollimator/Height101 mm /this/scene/linac/PrimaryCollimator/BaseDiameter62.9 mm /this/scene/addSensor HitsAccumulatorsSensor mySensor /this/scene/mySensor/hitType post /this/scene/mySensor/attach waterBox /this/scene/mySensor/halfsize 7 15.0 7 cm /this/scene/mySensor/resolution 70 150 70 /this/scene/mySensor/position 0.0 -15.0 0.0 cm /this/scene/mySensor/saveEveryNEvents 200 /this/scene/mySensor/baseFilename output.hdr /this/scene/mySensor/Edep/enable 1 /this/scene/mySensor/Edep/uncertainty 1 /this/scene/mySensor/Edep/squared 1 ThIS is easy ! Running a simulation : ThIS MyBeautifulSimu.mac “/run/beamOn 100” File of macros
8
8 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ /this/physics/Gamma/SetCutInRegion world 10.0 mm /this/physics/Electron/SetCutInRegion waterBox 3.6 mm /this/physics/Positron/SetCutInRegion PMMACone 4.0 cm # A linac /this/scene/addVolume AcceleratorHead linac /this/scene/linac/parent world /this/scene/linac/position 0 0 100 cm /this/scene/linac/Target/Diameter5.4 mm /this/scene/linac/Target/Thickness1 mm /this/scene/linac/Target/Material Tungsten /this/scene/linac/PrimaryCollimator/Diameter200 mm /this/scene/linac/PrimaryCollimator/Height101 mm /this/scene/linac/PrimaryCollimator/BaseDiameter62.9 mm /this/scene/addSensor HitsAccumulatorsSensor mySensor /this/scene/mySensor/hitType post /this/scene/mySensor/attach waterBox /this/scene/mySensor/halfsize 7 15.0 7 cm /this/scene/mySensor/resolution 70 150 70 /this/scene/mySensor/position 0.0 -15.0 0.0 cm /this/scene/mySensor/saveEveryNEvents 200 /this/scene/mySensor/baseFilename output.hdr /this/scene/mySensor/Edep/enable 1 /this/scene/mySensor/Edep/uncertainty 1 /this/scene/mySensor/Edep/squared 1 ThIS is easy ! Running a simulation : ThIS MyBeautifulSimu.mac “/run/beamOn 100” File of macros No C++ No compilation No C++ No compilation
9
9 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Documentation User's Guide
10
10 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Using cuts
11
11 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ ThIS' Architecture Based on Geant4 classes Extend functionality with ThIS classes intermediate level between Geant4 and the user Provide user macros interaction Geant4 Core Classes ThIS Core Classes ThIS Macros Developer End User script
12
12 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ ThIS' Architecture ThIS is made up of 5 modules : Simulation Manager : verbosity, display... Physics : particles, processes and models declaration Scene : description of the content of the world : volumes, materials (patient, beam line...) Beam : description of the particle beam : type of particles, energy spectrum, shape of the beam... Sensors : information that you wish to gather during the simulation (e.g. #of neutrons created in a given volume, spectrum of the gammas produced, energy deposited in some region...). Sensors are activated by Triggers. (similar to G4 Scorers and Filters) Volume 1 Sensor 1 Trigger Physics world Volume n Sensor m … … Beam
13
13 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Main modules Physics Geometry (scene) Sensors & Triggers Beam Run-time vs Compile-time
14
14 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Manage 2 main lists : List of groups of particles List of physical processes Associate at run-time one group of particles with a process according to user's choices
15
15 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Manage 2 main lists : List of groups of particles Groups defined with a predicate Can have n particules (including 1) List of physical processes particle->GetParticleName() == “e-” particle->GetPDGCharge() != 0.0
16
16 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Manage 2 main lists : List of groups of particles List of physical processes A “process” is composed of a name some “models” some parameters Example : Compton Standard = G4ComptonScattering LowEn = G4LowEnergyCompton Penelope = G4PenelopeCompton
17
17 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Manage 2 main lists : List of groups of particles List of physical processes /this/physics/Gamma/PhotoElectric/lowE /this/physics/Gamma/Compton/lowE /this/physics/Gamma/GammaConversion/lowE /this/physics/Gamma/Rayleigh/lowE /this/physics/Electron/MultipleScattering/standard /this/physics/Electron/eIonisation/lowE /this/physics/Electron/eBremsstrahlung/lowE /this/physics/Positron/MultipleScattering/standard /this/physics/Positron/eIonisation/standard /this/physics/Positron/eBremsstrahlung/standard /this/physics/Positron/eplusAnnihilation/standard
18
18 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Manage 2 main lists : List of groups of particles List of physical processes /this/physics/Gamma/PhotoElectric/lowE /this/physics/Gamma/Compton/penelope /this/physics/Gamma/GammaConversion/lowE /this/physics/Gamma/Rayleigh/lowE /this/physics/Electron/MultipleScattering/standard /this/physics/Electron/eIonisation/lowE /this/physics/Electron/eBremsstrahlung/lowE /this/physics/Positron/MultipleScattering/standard /this/physics/Positron/eIonisation/standard /this/physics/Positron/eBremsstrahlung/standard /this/physics/Positron/eplusAnnihilation/standard
19
19 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Some hadronic processes (elastic/inelastic) Not all G4 hadronic processes included (yet) /this/physics/Proton/hadronElastic/standard/LElastic /this/physics/Proton/protonInelastic/standard/BinaryCascade/SetMinEnergy 170 MeV /this/physics/Proton/protonInelastic/standard/BinaryCascade/SetMaxEnergy 500 MeV /this/physics/Proton/protonInelastic/standard/PreCompoundModel/SetMinEnergy 0 MeV /this/physics/Proton/protonInelastic/standard/PreCompoundModel/SetMaxEnergy 170 MeV /this/physics/GenericIon/genericIonInelastic/standard/BinaryLightIonReaction /this/physics/Deuteron/hadronElastic/standard/LElastic /this/physics/Deuteron/hadronFission/standard/LFission /this/physics/Deuteron/deuteronInelastic/standard/BinaryLightIonReaction/SetMinEnergy 80 MeV /this/physics/Deuteron/deuteronInelastic/standard/BinaryLightIonReaction/SetMaxEnergy 20 GeV /this/physics/Deuteron/deuteronInelastic/standard/LEDeuteronInelastic/SetMinEnergy 0 MeV /this/physics/Deuteron/deuteronInelastic/standard/LEDeuteronInelastic/SetMaxEnergy 1000 MeV
20
20 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Some hadronic processes (elastic/Inelastic) Not all G4 hadronic processes included (yet) Simple mechanism to add processes from G4 (compile-time) to ThIS (run-time)
21
21 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Some hadronic processes (elastic/Inelastic) Not all G4 hadronic processes included (yet) Simple mechanism to add processes from G4 (compile-time) to ThIS (run-time) // C++ Macros ADD_DISCRETE_PROCESS(ThIS_PhotoElectricEffect_std_PB, PhotoElectric, standard, G4PhotoElectricEffect, ThISPhotonParticlesGroupBuilder);
22
22 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Some hadronic processes (elastic/Inelastic) Not all G4 hadronic processes included (yet) Simple mechanism to add processes from G4 (compile-time) to ThIS (run-time) // C++ Macros ADD_DISCRETE_PROCESS(ThIS_PhotoElectricEffect_std_PB, PhotoElectric, standard, G4PhotoElectricEffect, ThISPhotonParticlesGroupBuilder); User macro name Group of particle Standard G4 process name
23
23 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Some hadronic processes (elastic/Inelastic) Not all G4 hadronic processes included (yet) Simple mechanism to add processes from G4 (compile-time) to ThIS (run-time) // C++ Macros ADD_DISCRETE_PROCESS(ThIS_PhotoElectricEffect_std_PB, PhotoElectric, standard, G4PhotoElectricEffect, ThISPhotonParticlesGroupBuilder); User macro name Group of particle
24
24 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Some hadronic processes (elastic/Inelastic) Not all G4 hadronic processes included (yet) Simple mechanism to add processes from G4 (compile-time) to ThIS (run-time) // C++ Macros ADD_DISCRETE_PROCESS(ThIS_PhotoElectricEffect_std_PB, PhotoElectric, standard, G4PhotoElectricEffect, ThISPhotonParticlesGroupBuilder); User macro name
25
25 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Output user selected physics /this/physics/particleGroupOutput particles-groups.txt /this/physics/particleOutput particles-list.txt /this/physics/processGroupOutput process-groups.txt /this/physics/processOutput process-list.txt /this/physics/particleProcessOutput particle-process.txt Output available particles/processes at compile-time Output available particles/processes at compile-time
26
26 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Output user selected physics /this/physics/particleGroupOutput particles-groups.txt /this/physics/particleOutput particles-list.txt /this/physics/processGroupOutput process-groups.txt /this/physics/processOutput process-list.txt /this/physics/particleProcessOutput particle-process.txt Output user enabled particles/processes at run-time
27
27 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module Gamma (1) : gamma Electron (1) : e- Positron (1) : e+ Neutron (1) : neutron GenericIon (1) : GenericIon Proton (1) : proton Ions (4) : He3 alpha deuteron triton Baryons (32) : anti_lambda anti_lambda_c+ anti_neutron... Mesons (24) : B+ B- B0 Bs0 D+ D- D0 Ds+ Ds- J/psi anti_B0... Leptons (12) : anti_nu_e anti_nu_mu anti_nu_tau e+ e- mu+... Deuteron (1) : deuteron Triton (1) :triton Alpha (1) : alpha He3 (1) : He3 HadronElasticApplicable (28) : alpha anti_lambda anti_neutron... IonIonisationApplicable (5) : GenericIon He3 alpha deuteron... ChargedAndNotShortLived (39) : B+ B- D+ D- Ds+ Ds- GenericIon...... Example of some available groups of particles
28
28 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module PhotoElectric-standard : gamma PhotoElectric-lowE : gamma PhotoElectric-penelope : gamma Compton-std : gamma Compton-lowE : gamma Compton-penelope : gamma Rayleigh-lowE : gamma Rayleigh-penelope : gamma MultipleScattering-standard : B+ B- D+ D- Ds+ Ds- GenericIon He3 alpha... eIonisation-standard : e+ e- eIonisation-lowE : e- eIonisation-penelope : e+ e- eBremsstrahlung-standard : e+ e- eBremsstrahlung-lowE : e- eBremsstrahlung-penelope : e+ e- eplusAnnihilation-standard : e+ eplusAnnihilation-penelope : e+ ionIonisation-standard : GenericIon He3 alpha deuteron triton hadronIonisation-standard : B+ B- D+ D- Ds+ Ds- GenericIon He3 alpha... genericIonInelastic-standard : GenericIon neutronInelastic-standard : neutron deuteronInelastic-standard : deuteron tritonInelastic-standard : triton alphaInelastic-standard : alpha He3Inelastic-standard : He3 protonInelastic-standard : proton Example of some available processes
29
29 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module GenericIon : MultipleScattering-standard ionIonisation-standard genericIonInelastic-standard(BinaryLightIonReaction[min=def,max=def]) deuteron : MultipleScattering-standard ionIonisation-standard hadronElastic- standard(LElastic[min=def,max=def]) hadronFission- standard(LFission[min=def,max=def]) deuteronInelastic- standard(BinaryLightIonReaction[min=80,max=20000]LEDeuteronInelastic[min=0,max=10 00]) e+ : MultipleScattering-standard eIonisation-standard eBremsstrahlung-standard eplusAnnihilation-standard e- : MultipleScattering-standard eIonisation-lowE eBremsstrahlung-lowE gamma : PhotoElectric-lowE Compton-lowE GammaConversion-lowE Rayleigh-lowE neutron : hadronElastic-standard(LEpp[min=def,max=def]) hadronNeutronCapture- standard(LCapture[min=def,max=def]) hadronFission- standard(LFission[min=def,max=def]NeutronHPFission[min=def,max=def]) proton : MultipleScattering-standard hadronIonisation-ziegler2000 hadronElastic- standard(LElastic[min=def,max=def]) protonInelastic- standard(BinaryCascade[min=170,max=500]PreCompoundModel[min=0,max=170]) Example of some user selected processes
30
30 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Physics module ThISPhysicsList : Still several G4 processes to be added But the main mechanisms exist Collaborative work based on user interest principle : If you need it : add it So : everyone can use it Drawback : No checking of the physics list validity (except IsApplicable from G4)
31
31 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Cuts Setting cuts in ThIS Production cuts MaxStepLimiter “cuts” Killing cuts /this/physics/Gamma/SetCutInRegion world 10.0 mm /this/physics/Electron/SetCutInRegion waterBox 3.6 mm /this/physics/Positron/SetCutInRegion PMMACone 4.0 cm
32
32 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Cuts Setting cuts in ThIS Production cuts MaxStepLimiter “cuts” Killing cuts /this/physics/Gamma/SetCutInRegion world 10.0 mm /this/physics/Electron/SetCutInRegion waterBox 3.6 mm /this/physics/Positron/SetCutInRegion PMMACone 4.0 cm Previously user defined volumes
33
33 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Cuts Setting cuts in ThIS Production cuts MaxStepLimiter “cuts” Killing cuts /this/physics/UserLimits/SetMaxAllowedStep world 2 mm /this/physics/UserLimits/SetMaxAllowedStep waterBox 1 mm /this/physics/Electron/StepLimiter/standard /this/physics/Gamma/StepLimiter/standard
34
34 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Cuts Setting cuts in ThIS Production cuts MaxStepLimiter “cuts” Killing cuts /this/physics/UserLimits/SetMaxAllowedStep world 2 mm /this/physics/UserLimits/SetMaxAllowedStep waterBox 1 mm /this/physics/Electron/StepLimiter/standard /this/physics/Gamma/StepLimiter/standard MaxStep limiter for each region, for each particle
35
35 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Cuts Setting cuts in ThIS Production cuts MaxStepLimiter “cuts” Killing cuts /this/physics/UserLimits/SetUserMinRange waterBox 0.1mm /this/physics/UserLimits/SetUserMinRange world 1mm /this/physics/UserLimits/SetUserMinEkine waterBox 10keV /this/physics/UserLimits/SetUserMinEkine world 100keV /this/physics/Electron/UserSpecialCuts/standard
36
36 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Cuts Setting cuts in ThIS Production cuts MaxStepLimiter “cuts” Killing cuts /this/physics/UserLimits/SetUserMinRange waterBox 0.1mm /this/physics/UserLimits/SetUserMinRange world 1mm /this/physics/UserLimits/SetUserMinEkine waterBox 10keV /this/physics/UserLimits/SetUserMinEkine world 100keV /this/physics/Electron/UserSpecialCuts/standard “Kill” particle according to range/energy threshold
37
37 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Main modules Physics Geometry (scene) Sensors & Triggers Beam Run-time vs Compile-time
38
38 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Main modules Physics Geometry (scene) Sensors & Triggers Beam Run-time vs Compile-time
39
39 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ #================================================= # World volume /this/scene/addVolume Box world /this/scene/world/halfsize 2 2 2 m /this/scene/world/material_name Air #================================================= # A water box /this/scene/addVolume Box waterBox /this/scene/waterBox/parent world /this/scene/waterBox/position 0.0 0.0 0.0 cm /this/scene/waterBox/halfsize 15.0 15.0 15.0 cm /this/scene/waterBox/material_name Water Scene module ThISDetectorConstructor : Dynamic (run-time) scene description Add volumes Set properties (position, material...) Volume type Volume name
40
40 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Some G4 simple shapes (Box, Cone...) #================================================= # A PMMA cone /this/scene/addVolume Cone PMMACone /this/scene/PMMACone/parent world /this/scene/PMMACone/position 5.0 -3.0 40.0 cm /this/scene/PMMACone/rmin10 cm /this/scene/PMMACone/rmax13.7 cm /this/scene/PMMACone/rmin20 cm /this/scene/PMMACone/rmax20 cm /this/scene/PMMACone/dz78 mm /this/scene/PMMACone/sphi0 deg /this/scene/PMMACone/dphi22 deg /this/scene/PMMACone/material_name PMMA Volume type Volume name
41
41 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Some G4 simple shapes (Box, Cone...) Complex user defined shapes (in progress) #================================================= # An linac /this/scene/addVolume AcceleratorHead linac /this/scene/linac/parent world /this/scene/linac/position 0 0 100 cm /this/scene/linac/Target/Diameter5.4 mm /this/scene/linac/Target/Thickness1 mm /this/scene/linac/Target/Material Tungsten /this/scene/linac/PrimaryCollimator/Diameter200 mm /this/scene/linac/PrimaryCollimator/Height101 mm /this/scene/linac/PrimaryCollimator/BaseDiameter62.9 mm /this/scene/linac/FlatteningFilter/ConeDiameter 54.4 mm... Volume type Volume name
42
42 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/
43
43 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Some G4 simple shapes (Box, Cone...) Complex user defined shapes (in progress) #================================================= # An linac /this/scene/addVolume AcceleratorHead linac /this/scene/linac/parent world /this/scene/linac/position 0 0 100 cm /this/scene/linac/Target/Diameter5.4 mm /this/scene/linac/Target/Thickness1 mm /this/scene/linac/Target/Material Tungsten /this/scene/linac/PrimaryCollimator/Diameter200 mm /this/scene/linac/PrimaryCollimator/Height101 mm /this/scene/linac/PrimaryCollimator/BaseDiameter62.9 mm /this/scene/linac/FlatteningFilter/ConeDiameter 54.4 mm... Volume type Volume name
44
44 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Some G4 simple shapes (Box, Cone...) Complex user defined shapes (in progress) #================================================= # An linac /this/scene/addVolume AcceleratorHead linac /this/scene/linac/parent world /this/scene/linac/position 0 0 100 cm /this/scene/linac/Target/Diameter5.4 mm /this/scene/linac/Target/Thickness1 mm /this/scene/linac/Target/Material Tungsten /this/scene/linac/PrimaryCollimator/Diameter200 mm /this/scene/linac/PrimaryCollimator/Height101 mm /this/scene/linac/PrimaryCollimator/BaseDiameter62.9 mm /this/scene/linac/FlatteningFilter/ConeDiameter 54.4 mm... Volume type Volume name
45
45 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Some G4 simple shapes (Box, Cone...) Complex user defined shapes (in progress) #================================================= # An linac /this/scene/addVolume AcceleratorHead linac /this/scene/linac/parent world /this/scene/linac/position 0 0 100 cm /this/scene/linac/Target/Diameter5.4 mm /this/scene/linac/Target/Thickness1 mm /this/scene/linac/Target/Material Tungsten /this/scene/linac/PrimaryCollimator/Diameter200 mm /this/scene/linac/PrimaryCollimator/Height101 mm /this/scene/linac/PrimaryCollimator/BaseDiameter62.9 mm /this/scene/linac/FlatteningFilter/ConeDiameter 54.4 mm... Volume type Volume name
46
46 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Some G4 simple shapes (Box, Cone...) Complex user defined shapes (in progress) Simple mechanism to add volumes from G4 (compile-time) to ThIS (run-time) Collaborative work based on user’s interest principle : If you need it : add it So : everyone can use it
47
47 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module /this/scene/object /this/scene/object/parent /this/scene/addVolume /this/scene/object/material /this/scene/object/position /this/scene/object/rotation /this/scene/object/halfsize
48
48 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module class ThISBoxVolume : public ThISVolume { public: ThISBoxVolume(ThISDetectorConstruction* dc, G4String path, G4String name); ~ThISBoxVolume(); THISMACRO_INIT_VOLUME_CREATOR(ThISBoxVolume); virtual G4String GetTypeName() { return "Box";} virtual void ConstructSolid(); void SetHalfSize(G4ThreeVector v) { mHalfSize = v; } G4ThreeVector GetHalfSize() const { return mHalfSize; } void PrintInfo(); protected: ThISBoxVolumeMessenger *pMessenger; G4ThreeVector mHalfSize; ThISBoxVolume(); };
49
49 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module //============================================================ ThISBoxVolume::ThISBoxVolume ( ThISDetectorConstruction* dc, G4String path, G4String name ) : ThISVolume(dc,path,name) { mHalfSize = G4ThreeVector(0.5*m, 0.5*m, 0.5*m); pMessenger = new ThISBoxVolumeMessenger(this); } //============================================================ ThISBoxVolume::ThISBoxVolume() : pMessenger(0) {} //============================================================ ThISBoxVolume::~ThISBoxVolume() { if (pMessenger) delete pMessenger; } //============================================================ void ThISBoxVolume::ConstructSolid() { G4String solidName = GetInstanceName()+"_solid"; SetSolid ( new G4Box (solidName, mHalfSize.x(), mHalfSize.y(), mHalfSize.z()) ); } //============================================================ void ThISBoxVolume::PrintInfo() { ThISVolume::PrintInfo(); std::cout << "\t HalfSize = " << G4BestUnit(GetHalfSize(),"Length") << std::endl; } //============================================================ From ThISNamedObject From ThISVolume
50
50 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module class ThISBoxVolumeMessenger: public ThISVolumeMessenger { public: ThISBoxVolumeMessenger ( ThISBoxVolume* box ); ~ThISBoxVolumeMessenger(); void SetNewValue ( G4UIcommand*, G4String ); protected: ThISBoxVolume * boxVolume; G4UIcmdWith3VectorAndUnit *halfsizeCmd; }; //=============================================================== ThISBoxVolumeMessenger::ThISBoxVolumeMessenger ( ThISBoxVolume* box ) : ThISVolumeMessenger(box), boxVolume(box) { G4String name = boxVolume->GetInstanceName(); G4String path = boxVolume->GetPath(); G4String n = path+"/halfsize"; halfsizeCmd = new G4UIcmdWith3VectorAndUnit(n, this); halfsizeCmd->SetGuidance(G4String("Set "+name+"’s size")); halfsizeCmd->SetDefaultUnit("cm"); } //=============================================================== void ThISBoxVolumeMessenger::SetNewValue ( G4UIcommand* command, G4String newValue ) { if ( command == halfsizeCmd ) boxVolume->SetHalfSize(halfsizeCmd->GetNew3VectorValue(newValue)); else ThISVolumeMessenger::SetNewValue(command,newValue); }
51
51 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Some G4 simple shapes (Box, Cone...) Complex user defined shapes (in progress) Simple mechanism to add volumes from G4 (compile-time) to ThIS (run-time) Collaborative work based on user’s interest principle : If you need it : add it So : everyone can use it Materials : Re-use the Material Database mechanism from Gate (enhanced to allow multiple Dbs) /this/scene/materialDatabase StandardMaterials.db /this/scene/materialDatabase PhantomMaterials.db
52
52 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Easy to add elements/materials [Elements] Hydrogen: S= H ; Z= 1. ; A= 1.01 g/mole Helium: S= He ; Z= 2. ; A= 4.003 g/mole Carbon: S= C ; Z= 6. ; A= 12.01 g/mole Nitrogen: S= N ; Z= 7. ; A= 14.01 g/mole [Materials] PMMA:d=1.195 g/cm3; n=3 ; state=Solid +el: name=Hydrogen ; f=0.080541 +el: name=Carbon ; f=0.599846 +el: name=Sulfur; f=0.319613 Gadox:d=7.23 g/cm3; n=4 ; state=Solid +el: name=Gadolinium ; f=0.736 +el: name=Sulfur ; f=0.149 +el: name=Oxygen; f=0.112 +el: name=Terbium; f=0.003 GateMaterials.db
53
53 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Insert CT image in simulation CT slices Geant4 / ThIS
54
54 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1. Transform CT image into composition image 1. Calibrate Scanner using phantom [schneider et al. 2000] 2. Transform CT image : => image of labels + label to material table => Provided in ThISiS 1. Insert label image in G4 simulation
55
55 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1 G4Box per voxel !! High memory cost : not feasible in real-world cases ParametrisedVolume / NestedParametrisedVolume Low memory cost, G4 state-of-the-art, Time consuming Two ways to reduce time 1) Reduce image complexity 2) Change G4 navigation algorithm
56
56 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity 2) Change G4 navigation algorithm
57
57 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity Voxels
58
58 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity Merge adjacent voxels having similar materials : Image Segmentation problem Voxels
59
59 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity Merge adjacent voxels having similar materials : Image Segmentation problem a) Isothetic Volume : Segment image in parallelepipeds (G4Box) Special case : Octree segmentation [Hubert-Tremblay et al. 2006] Isothetic Octree Voxels
60
60 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity Merge adjacent voxels having similar materials : Image Segmentation problem a) Isothetic Volume : Segment image in parallelepipeds (G4Box) Special case : Octree segmentation [Hubert-Tremblay et al. 2006] b) Regionalised Volume : arbitrary shape [Sarrut and Guigues subm.] Isothetic Octree Voxels Regions
61
61 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity Merge adjacent voxels having similar materials : Image Segmentation problem Segmentation methods available in ThISiS Isothetic Octree Voxels Regions
62
62 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity Available image representations in ThIS : - ImageBoxes (multiple G4Box) - ImageParameterised (G4VParameterisedVolume) - ImageNestedParameterised (G4VNestedParam...Volume) - ImageIsothetic - ImageRegionalised Isothetic Octree Voxels Regions
63
63 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation Image volumes Label image (Analyze, raw formats...) Label to material information /this/scene/addVolume ImageBoxes patient /this/scene/patient/parent world /this/scene/patient/imagelung.hdr /this/scene/patient/materials lung.lab2mat
64
64 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation Image volumes Label image (Analyze, raw formats...) Label to material information /this/scene/addVolume ImageBoxes patient /this/scene/patient/parent world /this/scene/patient/imagelung.hdr /this/scene/patient/materials lung.lab2mat Volume type Volume name
65
65 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation Image volumes Label image (Analyze, raw formats...) Label to material information /this/scene/addVolume ImageBoxes patient /this/scene/patient/parent world /this/scene/patient/imagelung.hdr /this/scene/patient/materials lung.lab2mat Volume type Volume name
66
66 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation Image volumes Label image (Analyze, raw formats...) Label to material information /this/scene/addVolume ImageBoxes patient /this/scene/patient/parent world /this/scene/patient/imagelung.hdr /this/scene/patient/materials lung.lab2mat Volume type Volume name 0 Air 1 Lung 2 SoftTissue... 8 ConnectiveTissue 9 Bone_1 10 Bone_2...
67
67 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Results Octree Arbitrary regions
68
68 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Results
69
69 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Results Speed up (time NPV / time RV) Dose difference RV-NPV (%)
70
70 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity 2) Change G4 navigation algorithm
71
71 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Insert images in simulation 1) Reduce image complexity 2) Change G4 navigation algorithm [Jiang & Paganetti 2004] : in progress
72
72 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module Image volumes : Tradeoff : Accuracy / Speed Large number of regions : small compression, slow simulation good accuracy Small number of regions : good compression, fast simulation low accuracy Still a lot to of work to be done
73
73 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Scene module ThISDetectorConstructor : Done : main mechanism simple base shapes / complex volumes To do : Boolean operations Add other shapes Image volumes Associated image preparation tools (ThISiS) Calibration Segmentation Optimized volumes ImageIsothetic (octree segmented images) ImageRegionalised (segmented images) Optimized navigator : in progress
74
74 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Main modules Physics Geometry (scene) Sensors & Triggers Beam Run-time vs Compile-time
75
75 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Main modules Physics Geometry (scene) Sensors & Triggers Beam Run-time vs Compile-time
76
76 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensor module ThISSensor ThIS DOES NOT use the G4SensitiveDetector mechanism Sensor = measure/display Something : dose deposit (uncertainty), number of B+ emitters... Somewhere : globally, in a volume, surface... Sometimes : at the end of the simulation, at each track, at each steps, every n events...
77
77 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module Triggers All sensors can be associated with a trigger : Including, excluding particle from a measurement Sorting on energy... /this/scene/addTrigger ParticleName T2 /this/scene/T2/include all /this/scene/T2/exclude e- /this/scene/T2/exclude gamma /this/scene/T2/exclude proton /this/scene/addTrigger ParticleEnergy T3 /this/scene/T3/energyMin 100 keV /this/scene/T3/energyMax 10 TeV /this/scene/addTrigger And T4 /this/scene/T4/add T2 /this/scene/T4/add T3 /this/scene/ANYSENSOR/trigger T4
78
78 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module Triggers All sensors can be associated with a trigger : Including, excluding particle from a measurement Sorting on energy... /this/scene/addTrigger ParticleName T2 /this/scene/T2/include all /this/scene/T2/exclude e- /this/scene/T2/exclude gamma /this/scene/T2/exclude proton /this/scene/addTrigger ParticleEnergy T3 /this/scene/T3/energyMin 100 keV /this/scene/T3/energyMax 10 TeV /this/scene/addTrigger And T4 /this/scene/T4/add T2 /this/scene/T4/add T3 /this/scene/ANYSENSOR/trigger T4 All particles except e-, gamma, proton
79
79 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module Triggers All sensors can be associated with a trigger : Including, excluding particle from a measurement Sorting on energy... /this/scene/addTrigger ParticleName T2 /this/scene/T2/include all /this/scene/T2/exclude e- /this/scene/T2/exclude gamma /this/scene/T2/exclude proton /this/scene/addTrigger ParticleEnergy T3 /this/scene/T3/energyMin 100 keV /this/scene/T3/energyMax 10 TeV /this/scene/addTrigger And T4 /this/scene/T4/add T2 /this/scene/T4/add T3 /this/scene/ANYSENSOR/trigger T4 With energy in this range
80
80 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module ThISSensor Two examples of sensors : Particles counter Dose sensor (energy deposited + uncertainty)
81
81 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module ThISParticleCounter /this/scene/addSensorParticleCounter MyCounter /this/scene/MyCounter/trackpre /this/scene/MyCounter/attach waterBox /this/scene/MyCounter/verbose/event 1 Sensor type Sensor name
82
82 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module > ThIS MySimu.mac “/run/beamOn 5” R1 ****************** Begin of run 1 ******************** B1 ======= Generating particle 1======= B2 _ (1) C12[0.0] pos.=(-1.19545,201.124,0) energy=2640 dir.=(0,-1,0) T0 C121 0 2.64 GeV 0 fm T0 C121 0 0 eV 15.1 cm T0 e- 1022 1 87.9 keV 0 fm ionIoni T0 e- 1021 1 0 eV 390.6 mum ionIoni T0 e- 1020 1 93.3 keV 0 fm ionIoni T0 e- 1020 1 0 eV 393.3 mum ionIoni T0 e- 1019 1 96.3 keV 0 fm ionIoni T0 e+ 921 919 11.3 MeV 0 fm LowEnConversion T0 e+ 921 919 0 eV 4.4 cm LowEnConversion T0 e- 1016 1 0 eV 2.2 mm ionIoni T0 e- 768 1 0 eV 949.4 mum ionIoni T0 gamma1023 768 3.2 keV 0 fm LowEnBrem T0 gamma1023 768 0 eV 9.2mum LowEnBrem T0 e- 1024 1023 2.6 keV 0 fm LowEnPhotoElec T0 e- 1024 1023 0 eV 1.4mm LowEnPhotoElec T0 e- 767 1 136.3keV 0 fm ionIoni Output Kinetic energy
83
83 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module > ThIS MySimu.mac “/run/beamOn 5” R1 ****************** Begin of run 1 ******************** B1 ======= Generating particle 1======= B2 _ (1) C12[0.0] pos.=(-1.19545,201.124,0) energy=2640 dir.=(0,-1,0) T0 C121 0 2.64 GeV 0 fm T0 C121 0 0 eV 15.1 cm T0 e- 1022 1 87.9 keV 0 fm ionIoni T0 e- 1021 1 0 eV 390.6 mum ionIoni T0 e- 1020 1 93.3 keV 0 fm ionIoni T0 e- 1020 1 0 eV 393.3 mum ionIoni T0 e- 1019 1 96.3 keV 0 fm ionIoni T0 e+ 921 919 11.3 MeV 0 fm LowEnConversion T0 e+ 921 919 0 eV 4.4 cm LowEnConversion T0 e- 1016 1 0 eV 2.2 mm ionIoni T0 e- 768 1 0 eV 949.4 mum ionIoni T0 gamma1023 768 3.2 keV 0 fm LowEnBrem T0 gamma1023 768 0 eV 9.2mum LowEnBrem T0 e- 1024 1023 2.6 keV 0 fm LowEnPhotoElec T0 e- 1024 1023 0 eV 1.4mm LowEnPhotoElec T0 e- 767 1 136.3keV 0 fm ionIoni Output Track length
84
84 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module > ThIS MySimu.mac “/run/beamOn 5” R1 ****************** Begin of run 1 ******************** B1 ======= Generating particle 1======= B2 _ (1) C12[0.0] pos.=(-1.19545,201.124,0) energy=2640 dir.=(0,-1,0) T0 C121 0 2.64 GeV 0 fm T0 C121 0 0 eV 15.1 cm T0 e- 1022 1 87.9 keV 0 fm ionIoni T0 e- 1021 1 0 eV 390.6 mum ionIoni T0 e- 1020 1 93.3 keV 0 fm ionIoni T0 e- 1020 1 0 eV 393.3 mum ionIoni T0 e- 1019 1 96.3 keV 0 fm ionIoni T0 e+ 921 919 11.3 MeV 0 fm LowEnConversion T0 e+ 921 919 0 eV 4.4 cm LowEnConversion T0 e- 1016 1 0 eV 2.2 mm ionIoni T0 e- 768 1 0 eV 949.4 mum ionIoni T0 gamma1023 768 3.2 keV 0 fm LowEnBrem T0 gamma1023 768 0 eV 9.2mum LowEnBrem T0 e- 1024 1023 2.6 keV 0 fm LowEnPhotoElec T0 e- 1024 1023 0 eV 1.4mm LowEnPhotoElec T0 e- 767 1 136.3keV 0 fm ionIoni Output Creator process
85
85 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Example B10 220 B11 647 B12 8 B13 15 B14 1 B15 1 B5 1 B9 28 C10112 C11780 C1211663 C13444 C14296 C158 C165 C61 C95 N113 N123 N1371 N14407 N15782 N1637 N171 proton205703 neutron 53128 H2 5 H32 H4 9 deuteron1320 triton 265 He25 He3 291 He4 2 He517 He624 He83 alpha5810 Li31 Li416 Li534 Li666 Li7137 Li96 Be10 152 Be111 Be122 Be41 Be51 Be624 Be7108 Be81195 Be965 O13 12 O14 111 O15 523 O16 3218 O17 141 O18 11 F159 F1617 F177 F191 Ne161 Ne183 Ne209 Ne211 Ne221 e- 935202 gamma 63306 e+ 1321 anti_nu_e 24 pi0 1 Production for 10 000 C12 (220 MeV/u), in water (Nuclear reaction : 39 %) Production for 10 000 C12 (220 MeV/u), in water (Nuclear reaction : 39 %)
86
86 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module Dose / Edep measurement sensor Define a 3D matrix Store information (edep, dose...) and associated uncertainty Allow to dump in files every n events Several accumulation types
87
87 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module Dose / Edep measurement /this/scene/addSensor HitsAccumulatorsSensor mySensor /this/scene/mySensor/hitType post /this/scene/mySensor/attach waterBox /this/scene/mySensor/halfsize 7 15.0 7 cm /this/scene/mySensor/resolution 70 150 70 /this/scene/mySensor/position 0.0 -15.0 0.0 cm /this/scene/mySensor/saveEveryNEvents 200 /this/scene/mySensor/baseFilename output.hdr /this/scene/mySensor/Edep/enable 1 /this/scene/mySensor/Edep/uncertainty 1 /this/scene/mySensor/Edep/squared 1 Type / Name
88
88 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module Dose / Edep measurement /this/scene/addSensor HitsAccumulatorsSensor mySensor /this/scene/mySensor/hitType post /this/scene/mySensor/attach waterBox /this/scene/mySensor/halfsize 7 15.0 7 cm /this/scene/mySensor/resolution 70 150 70 /this/scene/mySensor/position 0.0 -15.0 0.0 cm /this/scene/mySensor/saveEveryNEvents 200 /this/scene/mySensor/baseFilename output.hdr /this/scene/mySensor/Edep/enable 1 /this/scene/mySensor/Edep/uncertainty 1 /this/scene/mySensor/Edep/squared 1 Accumulation type
89
89 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module Dose / Edep measurement /this/scene/addSensor HitsAccumulatorsSensor mySensor /this/scene/mySensor/hitType post /this/scene/mySensor/attach waterBox /this/scene/mySensor/halfsize 7 15.0 7 cm /this/scene/mySensor/resolution 70 150 70 /this/scene/mySensor/position 0.0 -15.0 0.0 cm /this/scene/mySensor/saveEveryNEvents 200 /this/scene/mySensor/baseFilename output.hdr /this/scene/mySensor/Edep/enable 1 /this/scene/mySensor/Edep/uncertainty 1 /this/scene/mySensor/Edep/squared 1 Size, resolution, position
90
90 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Carbon depth dose (Bragg peak) Example
91
91 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Sensors module Like for the physics and geometry modules, new Sensors and Triggers are very easily created
92
92 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Conclusion ThIS is a Geant4-based Therapeutic Irradiation Simulator : Make G4 features available at run-time Designed to be easily extensible Easy to use : no C++, easy scripting Ideal for prototyping, testing, running large numbers of simulations with different parameters... Optimised for image-based simulations
93
93 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Conclusion ANR grant funding : “SimCa2 : Simulation for Cancer therapy by Carbon beams” Full time computer science engineer for ThIS Collaborations Geant4 France group (Sébastien Incerti) OpenGate collaboration (Irène Buvat,...) Share common developments
94
94 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Future Work Intensive validation ! Optimized navigation in images Cluster / grid version : in progress Repository of beam lines...
95
95 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Openness ThIS is an Open Source project Cooperative spirit : CVS repository Wiki documentation Repository of Beam Lines ? Share experiences ? Try It ! If you are interested, contact us
96
96 Geant4@ParisGeant4@Paris 08/06/2007 http://www.creatis.insa-lyon.fr/rio/ThIS/http://www.creatis.insa-lyon.fr/rio/ThIS/ Thank you for your attention Any question ?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.