Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/examples/advanced/iort_therapy/README is written in an unsupported language. File is not indexed.

0001 
0002              =========================================================
0003                      Text version of the iort_therapy README file
0004              =========================================================
0005 
0006  Main Authors:
0007  G.Russo(a,b), C.Casarino*(c), G.C. Candiano(c), G.A.P. Cirrone(d), F.Romano(d)
0008  
0009  Contributor Authors:
0010  S.Guatelli(e)
0011 
0012  Past Authors:
0013  G.Arnetta(c), S.E.Mazzaglia(d)
0014 
0015  (a) Fondazione Istituto San Raffaele G.Giglio, Cefalù, Italy
0016 
0017  (b) IBFM-CNR , Segrate (Milano), Italy
0018 
0019  (c) LATO (Laboratorio di Tecnologie Oncologiche), Cefalù, Italy
0020  
0021  (d) Laboratori Nazionali del Sud of the INFN, Catania, Italy
0022 
0023  (e) University of Wollongong, Australia
0024 
0025 
0026   *Corresponding author, email to carlo.casarino@polooncologicocefalu.it
0027 -------------------------------------------------------------------------------------------------
0028 
0029 iort_therapy:
0030 
0031 WHAT IT IS, WHAT IT DOES AND WHAT IT WILL PROVIDE          
0032 
0033 iort_therapy is a Geant4-based application specifically developed to address typical needs related to the Intra-Operative Radio-Therapy (IORT) technique. 
0034  
0035 iort_therapy is capable to simulate a well specified intra-operative electron radio-therapy facility: the collimator beam line system of a typical medical mobile linac and the relative target (water-phantom). iort_therapy application is currently used by the G.Russo team in clinical and research activities carried out in Fondazione Istituto San Raffaele G.Giglio Hospital (Cefalù, Italy) where a NOVAC7 linac is installed.
0036 
0037 iort_therapy, is flexible and show many capabilities. Its geometrical set-up, for example, is completely interchangeable permitting a simple switch between different geometrical collimator system configurations; the possibility to simulate a composite metallic shielding disc inside the water-phantom was also implemented.
0038 
0039 
0040 Folder structure of iort_therapy
0041 
0042 iort_therapy distribution contain these sub-folders:
0043 
0044 \src: where source .cc files are stored
0045 \include: where header .hh files are stored
0046 
0047 Currently this folders structure is in development and in the meanwhile new features and capabilities will be added. 
0048 
0049 
0050 DOWNLOAD AND INSTALLATION
0051 
0052 iort_therapy source code is released inside the official distribution of the Geant4 toolkit in the $G4INSTALL/examples/AdvancedExamples folder.
0053 
0054 To run iort_therapy you must first install the Geant4 package. Once Geant4 is installed the example must be first compiled (with the command gmake inside the
0055 ../iort_therapy folder). When compilation is completed the program can be executed.
0056 
0057 A CMakeLists.txt file is provided together with a standard GNUmakefile for compilation. 
0058 
0059 A complete guide for the Geant4 installation in different operating systems can be found inside the official installation Geant4 pages.
0060 
0061 
0062 GEOMETRICAL SET-UP
0063 
0064 The idea of iort_therapy is to provide a tool useful for Users interested in the field of electron intra-operative radio-therapy. These can include the simple calculation of dose distribution curves in water or other materials, the possibility to study and plan dose distribution in the tumor treatment region with different clinical set-up, and to optimize radio-protection of normal patient tissues simulating a composite metallic shielding disc.
0065 
0066 The main component of the simulation is the collimator beam line system, the phantom, the detector and the composite metallic shielding disc.
0067 
0068 
0069 COLLIMATOR BEAM LINE SYSTEM
0070 
0071 At moment iort_therapy include the simulation of a collimator beam line system, based on a typical medical mobile linac structure us the NOVAC7. This  collimator beam line is elaborated in the files CollimatorXXBeamLine.cc , where XX may be 40, 50, 60, 70 ,80 or 100 (mm) depending on the diameter collimator set-up chosen. 
0072 In fact, there is also a facility in iort_therapy that allows the user to make a choice, via macro, between alternative collimator beam line set-up. This can be done by using command:
0073 
0074 /geometrySetup/selectGeometry <name>
0075 
0076 where <name> is coll40, coll50, coll60, coll70, coll80 or coll100 depending on the diameter collimator set-up chosen (40mm, 50mm, 60mm, 70mm, 80mm or 100mm). The standard "default" geometry is coll60.
0077 
0078 The Collimator beam line system class file
0079 
0080 The following is the description of the elements of the collimator beam line system from the accelerator head to the final collimator. This line is completely simulated inside this class.
0081 
0082 The main elements are the accelerator head and the applicator.
0083 The accelerator head performs as a primary collimator system. It consists of titanium exit window and a cylindrical PMMA structure where two monitor chambers are installed.
0084 The applicator consists of a cylindrical PMMA tube (the final collimator). In the order we have implemented the following functions:
0085 
0086   IortBeamLineVacuumSource();
0087   IortBeamLineTitaniumWindows();
0088   IortBeamLineMonitorChambers();
0089   IortBeamLineBlocks() ;
0090   IortBeamLineJunctions(); 
0091   IortBeamLineFinalCollimator();
0092 
0093 The user has now the possibility to vary, via messenger, the inner and outer radius of the final collimator.
0094 
0095 
0096 THE PHANTOM 
0097 
0098 At the end of the beam line a phantom (a box of 20cmx20cmx20cm default dimensions) is reproduced.
0099 Inside it, a user-defined region (the detector) is divided (via the ROGeomtry classes of Geant4) in cubic and identical voxels. The voxels size can be varied as well as the voxelized region.
0100 At the end of a simulation run the dose deposited by primaries and secondaries in each voxel is collected. This information is available as an .out file.  
0101 
0102 THE DETECTOR
0103 
0104 A scoring mesh is set to score the dose in the phantom (see defaultMacro.mac)
0105 
0106 As concern the cut and stepMax values, the default configuration implies a cut value of 0.01 mm in the whole  world (use the command /physic/setCuts <length>  in order to set the cut for all, and the command /physic/setDetectorCuts <length> to set the cut for the detector only)  and a stepMax of 0.01 mm just in the phantom (use the command /Step/waterPhantomStepMax 0.01 mm).
0107 In any case it is strongly recommended to use a stepMax value not bigger than 5% of the dose slice thickness.
0108 
0109 
0110 SHIELDING DISC
0111 
0112 Inside the detector is positioned a double layered shielding disc. For both layers it is possible via macro to change the outer and inner radius, the thickness, the position along the beam axis and the material.
0113 NOTE 1: to delete the disc out the entire geometry the relative macro command must be used!!
0114 NOTE 2: to re-insert the disc in the entire geometry the relative macro command must be used!!
0115   
0116 
0117 PHYSICS PROCESSES AND PHYSICS MODELS IMPLEMENTATION
0118 
0119 EM Standard option 4 is activated. The user can change the physics list interactively.
0120 
0121 
0122 INTERACTIVE COMMANDS
0123 
0124 How to change Phantom, Detector and Shielding Disc geometries
0125 
0126 In order to let the end user to change phantom and detector geometries and voxelization, some interactive commands have been provided. All parameters are mandatory, except those inside square brackets.
0127 
0128 
0129 Phantom geometry
0130 
0131 (1) The phantom size. As usually, zero or negatives values mean: <<don't change it>>.
0132 (2) The phantom position respect to the world. In this case specified values refer to the three components of the position of the phantom's center respect to the world's.
0133 
0134 Command synopsis:
0135 
0136 /changePhantom/size <dimX> <dimY> <dimZ> <[unit]> # 20 20 20 cm
0137 /changePhantom/position <posX> <posY> <posZ> <[unit]> # 4.5 0 0 cm
0138 
0139 
0140 Detector geometry 
0141 
0142 The user can change:
0143 
0144 (1) The detector (box) size.
0145  
0146 (2) The displacement between the phantom and the detector.  Displacement parameters refer to the lower left corner of the detector respect to that of the phantom, by the point of view of the beam. In this case zero or positive values are allowed, while the negatives ones mean: << don't change it>>.
0147 
0148 Command synopsis:
0149 /changeDetector/size <dimX> <dimY> <dimZ> <[unit]>
0150 /changeDetector/displacement <dispX> <dispY> <dispZ> <[unit]> 
0151 
0152 The user has to change the scoring mesh accordingly via UI commands. 
0153 
0154 
0155 Shielding Disc geometry
0156 
0157 Command synopsis:
0158 
0159 /ProtectionDisc1/OuterRadiusDisc1 <dim>       # default -> 40*mm ; 
0160 /ProtectionDisc1/InnerRadiusDisc1 <dim>       # default -> 0*mm
0161 /ProtectionDisc1/HeightDisc1      <dim>       # default -> 2*mm
0162 /ProtectionDisc1/XPositionDisc1  <dimX>       # default -> -11*mm   
0163 /ProtectionDisc1/material    <G4_Material>    # default -> G4_WATER ;
0164 
0165 /ProtectionDisc2/OuterRadiusDisc2 <dim>       # default -> 40*mm ;
0166 /ProtectionDisc2/InnerRadiusDisc2 <dim>       # default -> 0*mm
0167 /ProtectionDisc2/HeightDisc2      <dim>       # default -> 1*mm
0168 /ProtectionDisc2/XPositionDisc2  <dimX>       # default -> -8*mm
0169 /ProtectionDisc2/material    <G4_Material>    # default -> G4_WATER ;
0170 
0171 
0172 All   these    commands    must be   followed   by the  command  /changePhantom/update
0173 in order to check and eventually apply changes to the real geometry.
0174 Moreover  they  must   be    issued  between   runs  (so   where you   want but   after  the /run/initialize initialization command, or the G4State_Idle Geant4 state machine).
0175 Obviously all the previous sizes must be set in order to maintain the detector fully inside the phantom, otherwise system complains.
0176 
0177 
0178 To Delete Disc geometry
0179 
0180 Command synopsis:
0181 
0182 /DeleteProtectionDisc/delete
0183 
0184 To Re-insert Disc geometry
0185 
0186 Command synopsis:
0187 
0188 /InsertProtectionDisc/insert
0189 
0190 **** To set initial beam features
0191 
0192 By default, the beam propagates along the positive X direction with Gaussian momentum and Y-Z distributions. 
0193 It is possible to select: particle type, mean energy and relative standard deviation, X,Y and Z coordinates, Y and Z standard deviations and, finally, the beam spread along X direction (Theta). 
0194 
0195 Command synopsis:
0196 
0197 /gun/particle 
0198 /beam/energy/meanEnergy 
0199 /beam/energy/sigmaEnergy  
0200 /beam/position/Xposition
0201 /beam/position/Yposition
0202 /beam/position/Yposition/sigmaY
0203 /beam/position/Zposition
0204 /beam/position/Zposition/sigmaZ 
0205 /beam/momentum/Theta
0206  
0207 HOW RUN iort_therapy
0208 
0209 Run the example in interactive mode                                      
0210 
0211 > $G4WORDIR/bin/Linux-g++/iort_therapy
0212 
0213 In this case the main file (iort_therapy.cc) performs different operations depending on which environment variable is activated;
0214 For example, if the environment variable G4UI_USE_TCSH is activated, iort_therapy will start with the TCSH User Interface that has many useful functionalities. On the other hand, if this first variables is not defined, the program will continue searching for the G4UI_USE_QT variable and, finally, will open the standard G4UITerminal.
0215 
0216 Run the example using macro files          
0217 
0218 iort_therapy can be launched using a macro file:
0219 
0220 > $G4WORDIR/bin/Linux-g++/iort_therapy macroFile.mac
0221 
0222 The defaultMacro.mac file is contained in the main directory of iort_therapy and is automatically read in case the user launch the executable without a parameter.
0223 
0224 
0225 SIMULATION OUTPUT
0226 
0227 Store results in an ASCII file
0228 
0229 A .out ASCII file is generated at the end of each run, Dose.out. 
0230 The file contains four columns; the first three columns represent the voxel indexes (that univocally identify the voxel volume), while the last column represents the dose  in Gray deposited in that given voxel.
0231 
0232 
0233