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