diff --git a/t25_offline_digit/data/GateMaterials_pet.db b/t25_offline_digit/data/GateMaterials_pet.db new file mode 100644 index 0000000..17cef1c --- /dev/null +++ b/t25_offline_digit/data/GateMaterials_pet.db @@ -0,0 +1,595 @@ +[Elements] +Hydrogen: S= H ; Z= 1. ; A= 1.01 g/mole +Helium: S= He ; Z= 2. ; A= 4.003 g/mole +Lithium: S= Li ; Z= 3. ; A= 6.941 g/mole +Beryllium: S= Be ; Z= 4. ; A= 9.012 g/mole +Boron: S= B ; Z= 5. ; A= 10.811 g/mole +Carbon: S= C ; Z= 6. ; A= 12.01 g/mole +Nitrogen: S= N ; Z= 7. ; A= 14.01 g/mole +Oxygen: S= O ; Z= 8. ; A= 16.00 g/mole +Fluorine: S= F ; Z= 9. ; A= 18.998 g/mole +Neon: S= Ne ; Z= 10. ; A= 20.180 g/mole +Sodium: S= Na ; Z= 11. ; A= 22.99 g/mole +Magnesium: S= Mg ; Z= 12. ; A= 24.305 g/mole +Aluminium: S= Al ; Z= 13. ; A= 26.98 g/mole +Silicon: S= Si ; Z= 14. ; A= 28.09 g/mole +Phosphor: S= P ; Z= 15. ; A= 30.97 g/mole +Sulfur: S= S ; Z= 16. ; A= 32.066 g/mole +Chlorine: S= Cl ; Z= 17. ; A= 35.45 g/mole +Argon: S= Ar ; Z= 18. ; A= 39.95 g/mole +Potassium: S= K ; Z= 19. ; A= 39.098 g/mole +Calcium: S= Ca ; Z= 20. ; A= 40.08 g/mole +Scandium: S= Sc ; Z= 21. ; A= 44.956 g/mole +Titanium: S= Ti ; Z= 22. ; A= 47.867 g/mole +Vandium: S= V ; Z= 23. ; A= 50.942 g/mole +Chromium: S= Cr ; Z= 24. ; A= 51.996 g/mole +Manganese: S= Mn ; Z= 25. ; A= 54.938 g/mole +Iron: S= Fe ; Z= 26. ; A= 55.845 g/mole +Cobalt: S= Co ; Z= 27. ; A= 58.933 g/mole +Nickel: S= Ni ; Z= 28. ; A= 58.693 g/mole +Copper: S= Cu ; Z= 29. ; A= 63.39 g/mole +Zinc: S= Zn ; Z= 30. ; A= 65.39 g/mole +Gallium: S= Ga ; Z= 31. ; A= 69.723 g/mole +Germanium: S= Ge ; Z= 32. ; A= 72.61 g/mole +Yttrium: S= Y ; Z= 39. ; A= 88.91 g/mole +Silver: S= Ag ; Z= 47. ; A= 107.868 g/mole +Cadmium: S= Cd ; Z= 48. ; A= 112.41 g/mole +Tin: S= Sn ; Z= 50. ; A= 118.71 g/mole +Tellurium: S= Te ; Z= 52. ; A= 127.6 g/mole +Iodine: S= I ; Z= 53. ; A= 126.90 g/mole +Cesium: S= Cs ; Z= 55. ; A= 132.905 g/mole +Gadolinium: S= Gd ; Z= 64. ; A= 157.25 g/mole +Lutetium: S= Lu ; Z= 71. ; A= 174.97 g/mole +Tungsten: S= W ; Z= 74. ; A= 183.84 g/mole +Gold: S= Au ; Z= 79. ; A= 196.967 g/mole +Thallium: S= Tl ; Z= 81. ; A= 204.37 g/mole +Lead: S= Pb ; Z= 82. ; A= 207.20 g/mole +Bismuth: S= Bi ; Z= 83. ; A= 208.98 g/mole +Uranium: S= U ; Z= 92. ; A= 238.03 g/mole +Lanthanum: S= La ; Z= 57. ; A= 138.905 g/mole +Bromine: S= Br ; Z= 35. ; A= 79.904 g/mole + +[Materials] +Vacuum: d=0.000001 mg/cm3 ; n=1 + +el: name=Hydrogen ; n=1 + +Aluminium: d=2.7 g/cm3 ; n=1 ; state=solid + +el: name=auto ; n=1 + +AluminiumEGS: d=2.702 g/cm3 ; n=1 ; state=solid + +el: name=Aluminium ; n=1 + +Uranium: d=18.90 g/cm3 ; n=1 ; state=solid + +el: name=auto ; n=1 + +Silicon: d=2.33 g/cm3 ; n=1 ; state=solid + +el: name=auto ; n=1 + +Germanium: d=5.32 g/cm3 ; n=1 ; state=solid + +el: name=auto ; n=1 + +Yttrium: d=4.47 g/cm3 ; n=1 + +el: name=auto ; n=1 + +Gadolinium: d=7.9 g/cm3 ; n=1 + +el: name=auto ; n=1 + +Lutetium: d=9.84 g/cm3 ; n=1 + +el: name=auto ; n=1 + +Tungsten: d=19.3 g/cm3 ; n=1 ; state=solid + +el: name=auto ; n=1 + +Lead: d=11.4 g/cm3 ; n=1 ; state=solid + +el: name=auto ; n=1 + +Copper: d=8.920 g/cm3 ; n=1 ; state=solid + +el: name=auto ; n=1 + +Bismuth: d=9.75 g/cm3 ; n=1 ; state=solid + +el: name=auto ; n=1 + +NaI: d=3.67 g/cm3; n=2; state=solid + +el: name=Sodium ; n=1 + +el: name=Iodine ; n=1 + +NaITl: d=3.67 g/cm3; n=3; state=solid + +el: name=Sodium ; f=0.152 + +el: name=Iodine ; f=0.838 + +el: name=Thallium ; f=0.010 + +PWO: d=8.28 g/cm3; n=3 ; state=Solid + +el: name=Lead; n=1 + +el: name=Tungsten; n=1 + +el: name=Oxygen; n=4 + +CarbonFiber: d=1.78 g/cm3 ; n=1 ; state=solid + +el: name=Carbon ; n=1 + +Lexan: d=1.20 g/cm3 ; n=3; state=solid + +el: name=Carbon ; n=15 + +el: name=Hydrogen ; n=16 + +el: name=Oxygen ; n=2 + +ABS: d=1.04 g/cm3 ; n=3; state=solid + +el: name=Carbon ; n=15 + +el: name=Hydrogen ; n=17 + +el: name=Nitrogen ; n=1 + +BGO: d=7.13 g/cm3; n= 3 ; state=solid + +el: name=Bismuth ; n=4 + +el: name=Germanium ; n=3 + +el: name=Oxygen ; n=12 + +LSO: d=7.4 g/cm3; n=3 ; state=Solid + +el: name=Lutetium ; n=2 + +el: name=Silicon ; n=1 + +el: name=Oxygen ; n=5 + +Plexiglass: d=1.19 g/cm3; n=3; state=solid + +el: name=Hydrogen ; f=0.080538 + +el: name=Carbon ; f=0.599848 + +el: name=Oxygen ; f=0.319614 + +GSO: d=6.7 g/cm3; n=3 ; state=Solid + +el: name=Gadolinium ; n=2 + +el: name=Silicon ; n=1 + +el: name=Oxygen ; n=5 + +LuAP: d=8.34 g/cm3; n=3 ; state=Solid + +el: name=Lutetium ; n=1 + +el: name=Aluminium ; n=1 + +el: name=Oxygen ; n=3 + +YAP: d=5.55 g/cm3; n=3 ; state=Solid + +el: name=Yttrium ; n=1 + +el: name=Aluminium ; n=1 + +el: name=Oxygen ; n=3 + +Water: d=1.00 g/cm3; n=2 ; state=liquid + +el: name=Hydrogen ; n=2 + +el: name=Oxygen ; n=1 + +Quartz: d=2.2 g/cm3; n=2 ; state=Solid + +el: name=Silicon ; n=1 + +el: name=Oxygen ; n=2 + +Breast: d=1.020 g/cm3 ; n = 8 + +el: name=Oxygen ; f=0.5270 + +el: name=Carbon ; f=0.3320 + +el: name=Hydrogen ; f=0.1060 + +el: name=Nitrogen ; f=0.0300 + +el: name=Sulfur ; f=0.0020 + +el: name=Sodium ; f=0.0010 + +el: name=Phosphor ; f=0.0010 + +el: name=Chlorine ; f=0.0010 + +Air: d=1.29 mg/cm3 ; n=4 ; state=gas + +el: name=Nitrogen ; f=0.755268 + +el: name=Oxygen ; f=0.231781 + +el: name=Argon ; f=0.012827 + +el: name=Carbon ; f=0.000124 + +Glass: d=2.5 g/cm3; n=4; state=solid + +el: name=Sodium ; f=0.1020 + +el: name=Calcium ; f=0.0510 + +el: name=Silicon ; f=0.2480 + +el: name=Oxygen ; f=0.5990 + +Scinti-C9H10: d=1.032 g/cm3 ; n=2 + +el: name=Carbon ; n=9 + +el: name=Hydrogen ; n=10 + +LuYAP-70: d=7.1 g/cm3 ; n=4 + +el: name=Lutetium ; n= 7 + +el: name=Yttrium ; n= 3 + +el: name=Aluminium ; n=10 + +el: name=Oxygen ; n=30 + +LuYAP-80: d=7.5 g/cm3 ; n=4 + +el: name=Lutetium ; n= 8 + +el: name=Yttrium ; n= 2 + +el: name=Aluminium ; n=10 + +el: name=Oxygen ; n=30 + +Plastic: d=1.18 g/cm3 ; n=3; state=solid + +el: name=Carbon ; n=5 + +el: name=Hydrogen ; n=8 + +el: name=Oxygen ; n=2 + +Biomimic: d=1.05 g/cm3 ; n=3; state=solid + +el: name=Carbon ; n=5 + +el: name=Hydrogen ; n=8 + +el: name=Oxygen ; n=2 + +Lung: d=0.26 g/cm3 ; n=9 + +el: name=Hydrogen ; f=0.103 + +el: name=Carbon ; f=0.105 + +el: name=Nitrogen ; f=0.031 + +el: name=Oxygen ; f=0.749 + +el: name=Sodium ; f=0.002 + +el: name=Phosphor ; f=0.002 + +el: name=Sulfur ; f=0.003 + +el: name=Chlorine ; f=0.003 + +el: name=Potassium ; f=0.002 + +RhB: d=1.0 g/cm3 ; n=1 + +el: name=Carbon ; n=1 + +Soft: d=1.060 g/cm3 ; n=9 + +el: name=Hydrogen ; f=0.102 + +el: name=Carbon ; f=0.143 + +el: name=Nitrogen ; f=0.034 + +el: name=Oxygen ; f=0.708 + +el: name=Sodium ; f=0.002 + +el: name=Phosphor ; f=0.003 + +el: name=Sulfur ; f=0.003 + +el: name=Chlorine ; f=0.002 + +el: name=Potassium ; f=0.003 + +Polystyrene: d=0.018 g/cm3 ; n=2 + +el: name=Hydrogen ; n=1 + +el: name=Carbon ; n=1 + +Polyurethane: d=0.02 g/cm3 ; n=2 + +el: name=Hydrogen ; n=1 + +el: name=Carbon ; n=1 + +el: name=Oxygen ; n=2 + +el: name=Nitrogen ; n=1 + + +Polyethylene: d=0.96 g/cm3 ; n=2 + +el: name=Hydrogen ; n=2 + +el: name=Carbon ; n=1 + +PVC: d=1.65 g/cm3 ; n=3 ; state=solid + +el: name=Hydrogen ; n=3 + +el: name=Carbon ; n=2 + +el: name=Chlorine ; n=1 + +SS304: d=7.92 g/cm3 ; n=4 ; state=solid + +el: name=Iron ; f=0.695 + +el: name=Chromium ; f=0.190 + +el: name=Nickel ; f=0.095 + +el: name=Manganese ; f=0.020 + +PTFE: d= 2.18 g/cm3 ; n=2 ; state=solid + +el: name=Carbon ; n=1 + +el: name=Fluorine ; n=2 + + +LYSO: d=7.1 g/cm3; n=4 ; state=Solid + +el: name=Lutetium ; n=18 + +el: name=Yttrium ; n=2 + +el: name=Silicon; n=10 + +el: name=Oxygen; n=50 + +LYSO2: d=5.8 g/cm3; n=4 ; state=Solid + +el: name=Lutetium ; n=18 + +el: name=Yttrium ; n=2 + +el: name=Silicon; n=10 + +el: name=Oxygen; n=50 + +GAGG: d=6.63 g/cm3; n=5 ; state=Solid + +el: name=Lutetium ; n=1 + +el: name=Gadolinium ; n=2 + +el: name=Gallium ; n=5 + +el: name=Aluminium ; n=5 + +el: name=Oxygen ; n=12 + + +LaBr3: d=5.29 g/cm3 ; n=2 ; state=Solid + +el: name=Lanthanum; n=1 + +el: name=Bromine ; n=3 + +Body: d=1.00 g/cm3 ; n=2 + +el: name=Hydrogen ; f=0.112 + +el: name=Oxygen ; f=0.888 + +Muscle: d=1.05 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.102 + +el: name=Carbon ; f=0.143 + +el: name=Nitrogen ; f=0.034 + +el: name=Oxygen ; f=0.71 + +el: name=Sodium ; f=0.001 + +el: name=Phosphor ; f=0.002 + +el: name=Sulfur ; f=0.003 + +el: name=Chlorine ; f=0.001 + +el: name=Potassium ; f=0.004 + +el: name=Calcium ; f=0.0 + +el: name=Scandium ; f=0.0 + +LungMoby: d=0.30 g/cm3 ; n=6 + +el: name=Hydrogen ; f=0.099 + +el: name=Carbon ; f=0.100 + +el: name=Nitrogen ; f=0.028 + +el: name=Oxygen ; f=0.740 + +el: name=Phosphor ; f=0.001 + +el: name=Calcium ; f=0.032 + +SpineBone: d=1.42 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.063 + +el: name=Carbon ; f=0.261 + +el: name=Nitrogen ; f=0.039 + +el: name=Oxygen ; f=0.436 + +el: name=Sodium ; f=0.001 + +el: name=Magnesium ; f=0.001 + +el: name=Phosphor ; f=0.061 + +el: name=Sulfur ; f=0.003 + +el: name=Chlorine ; f=0.001 + +el: name=Potassium ; f=0.001 + +el: name=Calcium ; f=0.133 + +RibBone: d=1.92 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.034 + +el: name=Carbon ; f=0.155 + +el: name=Nitrogen ; f=0.042 + +el: name=Oxygen ; f=0.435 + +el: name=Sodium ; f=0.001 + +el: name=Magnesium ; f=0.002 + +el: name=Phosphor ; f=0.103 + +el: name=Sulfur ; f=0.003 + +el: name=Calcium ; f=0.225 + +el: name=Scandium ; f=0.0 + +el: name=Titanium ; f=0.0 + +Adipose: d=0.92 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.120 + +el: name=Carbon ; f=0.640 + +el: name=Nitrogen ; f=0.008 + +el: name=Oxygen ; f=0.229 + +el: name=Phosphor ; f=0.002 + +el: name=Calcium ; f=0.001 + +el: name=Scandium ; f=0.0 + +el: name=Titanium ; f=0.0 + +el: name=Vandium ; f=0.0 + +el: name=Chromium ; f=0.0 + +el: name=Manganese ; f=0.0 + +Epidermis: d=0.92 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.120 + +el: name=Carbon ; f=0.640 + +el: name=Nitrogen ; f=0.008 + +el: name=Oxygen ; f=0.229 + +el: name=Phosphor ; f=0.002 + +el: name=Calcium ; f=0.001 + +el: name=Scandium ; f=0.0 + +el: name=Titanium ; f=0.0 + +el: name=Vandium ; f=0.0 + +el: name=Chromium ; f=0.0 + +el: name=Manganese ; f=0.0 + +Hypodermis: d=0.92 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.120 + +el: name=Carbon ; f=0.640 + +el: name=Nitrogen ; f=0.008 + +el: name=Oxygen ; f=0.229 + +el: name=Phosphor ; f=0.002 + +el: name=Calcium ; f=0.001 + +el: name=Scandium ; f=0.0 + +el: name=Titanium ; f=0.0 + +el: name=Vandium ; f=0.0 + +el: name=Chromium ; f=0.0 + +el: name=Manganese ; f=0.0 + +Blood: d=1.06 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.102 + +el: name=Carbon ; f=0.11 + +el: name=Nitrogen ; f=0.033 + +el: name=Oxygen ; f=0.745 + +el: name=Sodium ; f=0.001 + +el: name=Phosphor ; f=0.001 + +el: name=Sulfur ; f=0.002 + +el: name=Chlorine ; f=0.003 + +el: name=Potassium ; f=0.002 + +el: name=Iron ; f=0.001 + +el: name=Cobalt ; f=0.0 + +Heart: d=1.05 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.104 + +el: name=Carbon ; f=0.139 + +el: name=Nitrogen ; f=0.029 + +el: name=Oxygen ; f=0.718 + +el: name=Sodium ; f=0.001 + +el: name=Phosphor ; f=0.002 + +el: name=Sulfur ; f=0.002 + +el: name=Chlorine ; f=0.002 + +el: name=Potassium ; f=0.003 + +el: name=Calcium ; f=0.0 + +el: name=Scandium ; f=0.0 + +Kidney: d=1.05 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.103 + +el: name=Carbon ; f=0.132 + +el: name=Nitrogen ; f=0.03 + +el: name=Oxygen ; f=0.724 + +el: name=Sodium ; f=0.002 + +el: name=Phosphor ; f=0.002 + +el: name=Sulfur ; f=0.002 + +el: name=Chlorine ; f=0.002 + +el: name=Potassium ; f=0.002 + +el: name=Calcium ; f=0.001 + +el: name=Scandium ; f=0.0 + +Liver: d=1.06 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.102 + +el: name=Carbon ; f=0.139 + +el: name=Nitrogen ; f=0.03 + +el: name=Oxygen ; f=0.716 + +el: name=Sodium ; f=0.002 + +el: name=Phosphor ; f=0.003 + +el: name=Sulfur ; f=0.003 + +el: name=Chlorine ; f=0.002 + +el: name=Potassium ; f=0.003 + +el: name=Calcium ; f=0.0 + +el: name=Scandium ; f=0.0 + +Lymph: d=1.03 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.108 + +el: name=Carbon ; f=0.041 + +el: name=Nitrogen ; f=0.011 + +el: name=Oxygen ; f=0.832 + +el: name=Sodium ; f=0.003 + +el: name=Sulfur ; f=0.001 + +el: name=Chlorine ; f=0.004 + +el: name=Argon ; f=0.0 + +el: name=Potassium ; f=0.0 + +el: name=Calcium ; f=0.0 + +el: name=Scandium ; f=0.0 + +Pancreas: d=1.04 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.106 + +el: name=Carbon ; f=0.169 + +el: name=Nitrogen ; f=0.022 + +el: name=Oxygen ; f=0.694 + +el: name=Sodium ; f=0.002 + +el: name=Phosphor ; f=0.002 + +el: name=Sulfur ; f=0.001 + +el: name=Chlorine ; f=0.002 + +el: name=Potassium ; f=0.002 + +el: name=Calcium ; f=0.0 + +el: name=Scandium ; f=0.0 + +Intestine: d=1.03 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.106 + +el: name=Carbon ; f=0.115 + +el: name=Nitrogen ; f=0.022 + +el: name=Oxygen ; f=0.751 + +el: name=Sodium ; f=0.001 + +el: name=Phosphor ; f=0.001 + +el: name=Sulfur ; f=0.001 + +el: name=Chlorine ; f=0.002 + +el: name=Potassium ; f=0.001 + +el: name=Calcium ; f=0.0 + +el: name=Scandium ; f=0.0 + +Skull: d=1.61 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.05 + +el: name=Carbon ; f=0.212 + +el: name=Nitrogen ; f=0.04 + +el: name=Oxygen ; f=0.435 + +el: name=Sodium ; f=0.001 + +el: name=Magnesium ; f=0.002 + +el: name=Phosphor ; f=0.081 + +el: name=Sulfur ; f=0.003 + +el: name=Calcium ; f=0.176 + +el: name=Scandium ; f=0.0 + +el: name=Titanium ; f=0.0 + +Cartilage: d=1.10 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.096 + +el: name=Carbon ; f=0.099 + +el: name=Nitrogen ; f=0.022 + +el: name=Oxygen ; f=0.744 + +el: name=Sodium ; f=0.005 + +el: name=Phosphor ; f=0.022 + +el: name=Sulfur ; f=0.009 + +el: name=Chlorine ; f=0.003 + +el: name=Argon ; f=0.0 + +el: name=Potassium ; f=0.0 + +el: name=Calcium ; f=0.0 + +Brain: d=1.04 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.107 + +el: name=Carbon ; f=0.145 + +el: name=Nitrogen ; f=0.022 + +el: name=Oxygen ; f=0.712 + +el: name=Sodium ; f=0.002 + +el: name=Phosphor ; f=0.004 + +el: name=Sulfur ; f=0.002 + +el: name=Chlorine ; f=0.003 + +el: name=Potassium ; f=0.003 + +el: name=Calcium ; f=0.0 + +el: name=Scandium ; f=0.0 + +Spleen: d=1.06 g/cm3 ; n=11 + +el: name=Hydrogen ; f=0.103 + +el: name=Carbon ; f=0.113 + +el: name=Nitrogen ; f=0.032 + +el: name=Oxygen ; f=0.741 + +el: name=Sodium ; f=0.001 + +el: name=Phosphor ; f=0.003 + +el: name=Sulfur ; f=0.002 + +el: name=Chlorine ; f=0.002 + +el: name=Potassium ; f=0.003 + +el: name=Calcium ; f=0.0 + +el: name=Scandium ; f=0.0 + +Testis: d=1.04 g/cm3 ; n=9 + +el: name=Hydrogen ; f=0.106000 + +el: name=Carbon ; f=0.099000 + +el: name=Nitrogen ; f=0.020000 + +el: name=Oxygen ; f=0.766000 + +el: name=Sodium ; f=0.002000 + +el: name=Phosphor ; f=0.001000 + +el: name=Sulfur ; f=0.002000 + +el: name=Chlorine ; f=0.002000 + +el: name=Potassium ; f=0.002000 + +PMMA: d=1.195 g/cm3; n=3 ; state=Solid + +el: name=Hydrogen ; f=0.080541 + +el: name=Carbon ; f=0.599846 + +el: name=Oxygen ; f=0.319613 + +Epoxy: d=1.0 g/cm3; n=3; state=Solid + +el: name=Carbon ; n=1 + +el: name=Hydrogen ; n=1 + +el: name=Oxygen ; n=1 + +Carbide: d=15.8 g/cm3; n=2 ; state=Solid + +el: name=Tungsten ; n=1 + +el: name=Carbon ; n=1 +Beton: d=2.35 g/cm3 ; n=10 + +el: name=Hydrogen ; f=0.0527 + +el: name=Oxygen ; f=0.4746 + +el: name=Sodium ; f=0.0162 + +el: name=Magnesium ; f=0.0024 + +el: name=Aluminium ; f=0.0433 + +el: name=Silicon ; f=0.3008 + +el: name=Sulfur ; f=0.0013 + +el: name=Potassium ; f=0.0182 + +el: name=Calcium ; f=0.0787 + +el: name=Iron ; f=0.0118 + +Beton2: d=3.50 g/cm3 ; n=10 + +el: name=Hydrogen ; f=0.010000 + +el: name=Carbon ; f=0.001000 + +el: name=Oxygen ; f=0.529107 + +el: name=Sodium ; f=0.016000 + +el: name=Magnesium ; f=0.002000 + +el: name=Aluminium ; f=0.033872 + +el: name=Silicon ; f=0.337021 + +el: name=Potassium ; f=0.013000 + +el: name=Calcium ; f=0.044000 + +el: name=Iron ; f=0.014000 + +Pyrex66: d=1.478 g/cm3 ; n=6 + +el: name=Oxygen ; f=0.5386 + +el: name=Silicon ; f=0.3768 + +el: name=Sodium ; f=0.0297 + +el: name=Phosphor ; f=0.0042 + +el: name=Boron ; f=0.0401 + +el: name=Aluminium ; f=0.0106 + +Steel: d=7.86 g/cm3; n=3; state=solid + +el: name=Carbon ; f=0.002 + +el: name=Manganese ; f=0.005 + +el: name=Iron ; f=0.993 + +GlassFiber: d=2.6 g/cm3; n=3; state=solid + +el: name=Hydrogen ; f=0.080538 + +el: name=Carbon ; f=0.599848 + +el: name=Oxygen ; f=0.319614 + +Polystyrene: d=0.05 g/cm3 ; n=2 ; state=solid + +el: name=Hydrogen ; n=8 + +el: name=Carbon ; n=8 + + +LeadSb: d=11.16 g/cm3; n=2; state=solid + +el: name=Lead ; f=0.95 + +el: name=Antimoine ; f=0.05 + +TiO2: d=4.23 g/cm3; n=2; state=solid + +el: name=Titanium ; f=0.5993 + +el: name=Oxygen ; f=0.4007 diff --git a/t25_offline_digit/mac/PET_CylindricalPET_geom.mac b/t25_offline_digit/mac/PET_CylindricalPET_geom.mac new file mode 100644 index 0000000..4133c9d --- /dev/null +++ b/t25_offline_digit/mac/PET_CylindricalPET_geom.mac @@ -0,0 +1,149 @@ + # ********************************************************************* +# * DISCLAIMER * +# * * +# * Neither the authors of this software system, nor their employing * +# * institutes, nor the agencies providing financial support for this * +# * work make any representation or warranty, express or implied, * +# * regarding this software system or assume any liability for its * +# * use. * +# * * +# * This code implementation is the intellectual property of the * +# * OpenGATE collaboration. * +# * By copying, distributing or modifying the Program (or any work * +# * based on the Program) you indicate your acceptance of this * +# * statement, and all its terms. * +# ********************************************************************* +# + +#-------------------oooooOOOOO00000OOOOOooooo---------------------# +# +# D E F I N E Y O U R S C A N N E R A N D +# +# Y O U R C O M P L E T E S I M U L A T I O N +# +# F O R I M A G I N G A P P L I CA T I O N S +# +#-------------------oooooOOOOO00000OOOOOooooo---------------------# + + +#===================================================== +# GEOMETRY +#===================================================== + + +# W O R L D +# +/gate/world/geometry/setXLength 400. cm +/gate/world/geometry/setYLength 400. cm +/gate/world/geometry/setZLength 400. cm + + +#-------------------oooooOOOOO00000OOOOOooooo---------------------# +# # +# D E F I N I T I O N A N D D E S C R I T I O N # +# O F Y O U R P E T D E V I C E # +# # +#-------------------oooooOOOOO00000OOOOOooooo---------------------# + +# CYLINDRICAL +/gate/world/daughters/name cylindricalPET +/gate/world/daughters/insert cylinder +/gate/cylindricalPET/placement/setTranslation 0.0 0.0 0.0 cm +/gate/cylindricalPET/geometry/setRmax 52.0 cm +/gate/cylindricalPET/geometry/setRmin 39.9 cm +/gate/cylindricalPET/geometry/setHeight 40.2 cm +/gate/cylindricalPET/setMaterial Air +/gate/cylindricalPET/vis/forceWireframe +/gate/cylindricalPET/vis/setColor white + +# HEAD +/gate/cylindricalPET/daughters/name head +/gate/cylindricalPET/daughters/insert box +/gate/head/placement/setTranslation 44.0 0.0 0.0 cm +/gate/head/geometry/setXLength 8 cm +/gate/head/geometry/setYLength 32 cm +/gate/head/geometry/setZLength 40 cm +/gate/head/setMaterial Air +/gate/head/vis/setVisible 0 + + +# BLOCK +/gate/head/daughters/name block +/gate/head/daughters/insert box +/gate/block/placement/setTranslation 0.0 0.0 0.0 cm +/gate/block/geometry/setXLength 30 mm +/gate/block/geometry/setYLength 16 mm +/gate/block/geometry/setZLength 20 mm +/gate/block/setMaterial Air +/gate/block/vis/setVisible 0 + +# C R Y S T A L +/gate/block/daughters/name crystal +/gate/block/daughters/insert box +/gate/crystal/placement/setTranslation 0.0 0.0 0.0 cm +/gate/crystal/geometry/setXLength 30 mm +/gate/crystal/geometry/setYLength 3.0 mm +/gate/crystal/geometry/setZLength 3.8 mm +/gate/crystal/setMaterial Air +/gate/crystal/vis/setVisible 0 + + +# LSO layer +/gate/crystal/daughters/name LSO +/gate/crystal/daughters/insert box +/gate/LSO/placement/setTranslation -0.75 0.0 0.0 cm +/gate/LSO/geometry/setXLength 15 mm +/gate/LSO/geometry/setYLength 3.0 mm +/gate/LSO/geometry/setZLength 3.8 mm +/gate/LSO/setMaterial LSO +/gate/LSO/vis/setColor red + +# BGO layer +/gate/crystal/daughters/name BGO +/gate/crystal/daughters/insert box +/gate/BGO/placement/setTranslation +0.75 0.0 0.0 cm +/gate/BGO/geometry/setXLength 15 mm +/gate/BGO/geometry/setYLength 3.0 mm +/gate/BGO/geometry/setZLength 3.8 mm +/gate/BGO/setMaterial BGO +/gate/BGO/vis/setColor yellow + +# R E P E A T C R Y S T A L +/gate/crystal/repeaters/insert cubicArray +/gate/crystal/cubicArray/setRepeatNumberX 1 +/gate/crystal/cubicArray/setRepeatNumberY 5 +/gate/crystal/cubicArray/setRepeatNumberZ 5 +/gate/crystal/cubicArray/setRepeatVector 0.0 3.2 4.0 mm + + +# R E P E A T BLOCK +/gate/block/repeaters/insert cubicArray +/gate/block/cubicArray/setRepeatNumberX 1 +/gate/block/cubicArray/setRepeatNumberY 20 +/gate/block/cubicArray/setRepeatNumberZ 20 +/gate/block/cubicArray/setRepeatVector 0.0 1.6 2.0 cm + + +# R E P E A T HEAD +/gate/head/repeaters/insert ring +/gate/head/ring/setRepeatNumber 4 + + +# A T T A C H S Y S T E M +/gate/systems/cylindricalPET/rsector/attach head +/gate/systems/cylindricalPET/module/attach block +/gate/systems/cylindricalPET/crystal/attach crystal +/gate/systems/cylindricalPET/layer0/attach LSO +/gate/systems/cylindricalPET/layer1/attach BGO + +# A T T A C H C R Y S T A L SD +#I do not think that attach SD is necessary + +/gate/LSO/attachCrystalSD +/gate/BGO/attachCrystalSD + +/gate/systems/cylindricalPET/describe + + + +#========== \ No newline at end of file diff --git a/t25_offline_digit/mac/main1.mac b/t25_offline_digit/mac/main1.mac new file mode 100644 index 0000000..16def97 --- /dev/null +++ b/t25_offline_digit/mac/main1.mac @@ -0,0 +1,244 @@ + +/control/execute mac/verbose.mac +#/control/execute mac/visu.mac + +# GEOMETRY +/gate/geometry/setMaterialDatabase data/GateMaterials_pet.db + +/gate/world/geometry/setXLength 400. cm +/gate/world/geometry/setYLength 400. cm +/gate/world/geometry/setZLength 400. cm + + +# CYLINDRICAL +/gate/world/daughters/name cylindricalPET +/gate/world/daughters/insert cylinder +/gate/cylindricalPET/placement/setTranslation 0.0 0.0 0.0 cm +/gate/cylindricalPET/geometry/setRmax 52.0 cm +/gate/cylindricalPET/geometry/setRmin 39.9 cm +/gate/cylindricalPET/geometry/setHeight 40.2 cm +/gate/cylindricalPET/setMaterial Air +/gate/cylindricalPET/vis/forceWireframe +/gate/cylindricalPET/vis/setColor white + +# HEAD +/gate/cylindricalPET/daughters/name head +/gate/cylindricalPET/daughters/insert box +/gate/head/placement/setTranslation 44.0 0.0 0.0 cm +/gate/head/geometry/setXLength 8 cm +/gate/head/geometry/setYLength 32 cm +/gate/head/geometry/setZLength 40 cm +/gate/head/setMaterial Air +/gate/head/vis/setVisible 0 + + +# BLOCK +/gate/head/daughters/name block +/gate/head/daughters/insert box +/gate/block/placement/setTranslation 0.0 0.0 0.0 cm +/gate/block/geometry/setXLength 30 mm +/gate/block/geometry/setYLength 16 mm +/gate/block/geometry/setZLength 20 mm +/gate/block/setMaterial Air +/gate/block/vis/setVisible 0 + +# C R Y S T A L +/gate/block/daughters/name crystal +/gate/block/daughters/insert box +/gate/crystal/placement/setTranslation 0.0 0.0 0.0 cm +/gate/crystal/geometry/setXLength 30 mm +/gate/crystal/geometry/setYLength 3.0 mm +/gate/crystal/geometry/setZLength 3.8 mm +/gate/crystal/setMaterial Air +/gate/crystal/vis/setVisible 0 + + +# LSO layer +/gate/crystal/daughters/name LSO +/gate/crystal/daughters/insert box +/gate/LSO/placement/setTranslation -0.75 0.0 0.0 cm +/gate/LSO/geometry/setXLength 15 mm +/gate/LSO/geometry/setYLength 3.0 mm +/gate/LSO/geometry/setZLength 3.8 mm +/gate/LSO/setMaterial LSO +/gate/LSO/vis/setColor red + +# BGO layer +/gate/crystal/daughters/name BGO +/gate/crystal/daughters/insert box +/gate/BGO/placement/setTranslation 0.75 0.0 0.0 cm +/gate/BGO/geometry/setXLength 15 mm +/gate/BGO/geometry/setYLength 3.0 mm +/gate/BGO/geometry/setZLength 3.8 mm +/gate/BGO/setMaterial BGO +/gate/BGO/vis/setColor yellow + +# R E P E A T C R Y S T A L +/gate/crystal/repeaters/insert cubicArray +/gate/crystal/cubicArray/setRepeatNumberX 1 +/gate/crystal/cubicArray/setRepeatNumberY 5 +/gate/crystal/cubicArray/setRepeatNumberZ 5 +/gate/crystal/cubicArray/setRepeatVector 0.0 3.2 4.0 mm + + +# R E P E A T BLOCK +/gate/block/repeaters/insert cubicArray +/gate/block/cubicArray/setRepeatNumberX 1 +/gate/block/cubicArray/setRepeatNumberY 20 +/gate/block/cubicArray/setRepeatNumberZ 20 +/gate/block/cubicArray/setRepeatVector 0.0 1.6 2.0 cm + + +# R E P E A T HEAD +/gate/head/repeaters/insert ring +/gate/head/ring/setRepeatNumber 4 + + +# A T T A C H S Y S T E M +/gate/systems/cylindricalPET/rsector/attach head +/gate/systems/cylindricalPET/module/attach block +/gate/systems/cylindricalPET/crystal/attach crystal +/gate/systems/cylindricalPET/layer0/attach LSO +/gate/systems/cylindricalPET/layer1/attach BGO + +# A T T A C H C R Y S T A L SD + +/gate/LSO/attachCrystalSD +/gate/BGO/attachCrystalSD + +/gate/systems/cylindricalPET/describe + + + +#===================================================== +# P H A N T O M +#===================================================== + +#/gate/world/daughters/name phantom +#/gate/world/daughters/insert box + +#/gate/phantom/geometry/setXLength 10 cm +#/gate/phantom/geometry/setYLength 10 cm +#/gate/phantom/geometry/setZLength 10 cm +#/gate/phantom/setMaterial Water +#/gate/phantom/vis/forceSolid +#/gate/phantom/vis/setColor blue + +#/gate/phantom/attachPhantomSD + + +#===================================================== +# PHYSICS +#===================================================== + +/gate/physics/addPhysicsList emstandard_opt4 + +#===================================================== +# CUTS +#===================================================== + +/gate/physics/Gamma/SetCutInRegion LSO 1.0 cm +/gate/physics/Electron/SetCutInRegion LSO 1.0 cm +/gate/physics/Positron/SetCutInRegion LSO 1.0 cm + +/gate/physics/Gamma/SetCutInRegion BGO 1.0 cm +/gate/physics/Electron/SetCutInRegion BGO 1.0 cm +/gate/physics/Positron/SetCutInRegion BGO 1.0 cm + + +#/gate/physics/Gamma/SetCutInRegion phantom 0.1 mm +#/gate/physics/Electron/SetCutInRegion phantom 0.1 mm +#/gate/physics/Positron/SetCutInRegion phantom 0.1 mm + +#/gate/physics/SetMaxStepSizeInRegion phantom 0.01 mm + +#===================================================== +# INITIALISATION +#===================================================== + +/gate/run/initialize + +#/control/execute mac/visu.mac + +#===================================================== +# D I G I T I Z E R: DETECTOR ELECTRONIC RESPONSE +#===================================================== + +/gate/digitizer/Singles/insert adder +#/gate/digitizer/Singles/insert readout +#/gate/digitizer/Singles/readout/setDepth 1 + +#/gate/digitizer/Singles/insert blurring +#/gate/digitizer/Singles/blurring/setResolution 0.26 +#/gate/digitizer/Singles/blurring/setEnergyOfReference 511. keV + +/gate/digitizer/Singles/insert thresholder +/gate/digitizer/Singles/thresholder/setThreshold 350. keV +/gate/digitizer/Singles/insert upholder +/gate/digitizer/Singles/upholder/setUphold 650. keV + +#===================================================== +# C O I N C I D E N C E S O R T E R +#===================================================== + +/gate/digitizer/Coincidences/setWindow 10. ns + +#===================================================== +# P A R T I C L E S O U R C E +#===================================================== + +/gate/source/addSource posiC11 + +/gate/source/posiC11/setType backtoback + +# The particles emitted by the source are gammas +/gate/source/posiC11/gps/particle gamma + +# The gammas have an energy of 511 keV +/gate/source/posiC11/gps/energytype Mono +/gate/source/posiC11/gps/monoenergy 0.511 MeV + +/gate/source/posiC11/setActivity 10000 becquerel + +/gate/source/posiC11/setForcedUnstableFlag true +/gate/source/posiC11/setForcedHalfLife 1223 s +/gate/source/posiC11/gps/angtype iso + +/gate/source/posiC11/visualize red + +/gate/source/list + +#===================================================== +# D A T A O U T P U T +#===================================================== + +# global stat +/gate/actor/addActor SimulationStatisticActor stat +/gate/actor/stat/save output/stats1.txt + +/gate/output/root/enable +/gate/output/root/setFileName output/output1 +/gate/output/root/setRootHitFlag 1 +/gate/output/root/setRootSinglesFlag 1 +/gate/output/root/setRootCoincidencesFlag 1 + +#==================================================== +# R A N D O M E N G I N E A N D S E E D +#==================================================== +# JamesRandom Ranlux64 MersenneTwister +/gate/random/setEngineName MersenneTwister +#/gate/random/setEngineSeed default +#/gate/random/setEngineSeed auto +/gate/random/setEngineSeed 123456789 +#/gate/random/setEngineSeed default +#/gate/random/resetEngineFrom fileName +#/gate/random/verbose 1 + +#===================================================== +# M E A S U R E M E N T S E T T I N G S +#===================================================== + +/gate/application/setTimeSlice 20 s +/gate/application/setTimeStart 0 s +/gate/application/setTimeStop 20 s +/gate/application/startDAQ diff --git a/t25_offline_digit/mac/main1_offline_digitizer.mac b/t25_offline_digit/mac/main1_offline_digitizer.mac new file mode 100644 index 0000000..1711f40 --- /dev/null +++ b/t25_offline_digit/mac/main1_offline_digitizer.mac @@ -0,0 +1,34 @@ + + +# Geometry is needed to identify layer with volumeID of hits and to perform operations with pulses +/gate/geometry/setMaterialDatabase data/GateMaterials_pet.db +/control/execute mac/PET_CylindricalPET_geom.mac + + +/gate/digitizer/layers/insert adder + +#/gate/digitizer/layers/insert readout +#/gate/digitizer/layers/readout/setDepth 1 + +#/gate/digitizer/Singles/insert adder +#/gate/digitizer/Singles/insert readout +#/gate/digitizer/Singles/readout/setDepth 1 + +/gate/digitizer/layers/insert blurring +/gate/digitizer/layers/blurring/setResolution 0.26 +/gate/digitizer/layers/blurring/setEnergyOfReference 511. keV + +/gate/digitizer/layers/insert thresholder +/gate/digitizer/layers/thresholder/setThreshold 350. keV +/gate/digitizer/layers/insert upholder +/gate/digitizer/layers/upholder/setUphold 650. keV + +# INITIALIZE is needed to recover volumeID from hits using DetectorConstruction +/gate/run/initialize + +#======================================================================= +# how to include a R A N D O M E N G I N E A N D S E E D for offline digitizer ??? +#============================================================================================= + + + diff --git a/t25_offline_digit/mac/main1_offline_sorter.mac b/t25_offline_digit/mac/main1_offline_sorter.mac new file mode 100644 index 0000000..09af9cf --- /dev/null +++ b/t25_offline_digit/mac/main1_offline_sorter.mac @@ -0,0 +1,19 @@ + +# Geometry is needed to identify layer with volumeID of hits and to perform operations with pulses +/gate/geometry/setMaterialDatabase data/GateMaterials_pet.db +/control/execute mac/PET_CylindricalPET_geom.mac + + +/gate/digitizer/Coincidences/setWindow 10. ns + +# There may be problems since by default in PET there is this minSectorDifference. +# I do not know how this is read offline. +# Sorter with CC flag. I should put the flag outside as a parameter for PET +# I have the double of coincidences because I do not write single1 and single 2 +# parameters but all together with the identifier for coincidenceID. +# This is how was done for CC. I could use RootDefs instead of CCDefs to keep same +# thing as for coincidences inside Gate + + +# INITIALIZE is needed to recover volumeID from hits using DetectorConstruction +/gate/run/initialize diff --git a/t25_offline_digit/mac/main2.mac b/t25_offline_digit/mac/main2.mac new file mode 100644 index 0000000..9cb8822 --- /dev/null +++ b/t25_offline_digit/mac/main2.mac @@ -0,0 +1,40 @@ + +/control/execute mac/verbose.mac +#/control/execute mac/visu.mac + +# GEOMETRY +/gate/geometry/setMaterialDatabase data/GateMaterials_pet.db +/control/execute mac/main2_pet_geometry.mac +/control/execute mac/main2_table_geometry.mac +/control/execute mac/main2_phantom_NECR.mac +/control/execute mac/main2_pet_digitizer.mac + +# used to compute scatter counts +/gate/phantom/attachPhantomSD +/gate/cylinderScat/attachPhantomSD +/gate/linearSourceIn/attachPhantomSD +/gate/linearSourceOut/attachPhantomSD + +# PHYSICS +/control/execute mac/main2_physics.mac + +# OUTPUT +/control/execute mac/main2_pet_output.mac + +# INITIALISATION +/gate/run/initialize + +# SOURCE +/control/execute mac/main2_source_NECR.mac + +# START +/gate/random/setEngineName MersenneTwister +/gate/random/setEngineSeed auto +/gate/application/setTimeStart 0 s +/gate/application/setTimeSlice 0.00010 s +/gate/application/setTimeStop 0.00010 s +/gate/application/startDAQ + +# computation time estimation (2021) +# PPS = 3000 +# with 1.78 GBq, 0.0001 s -> around 1 min, around 1300 prompts diff --git a/t25_offline_digit/mac/main2_pet_digitizer.mac b/t25_offline_digit/mac/main2_pet_digitizer.mac new file mode 100644 index 0000000..fb49b82 --- /dev/null +++ b/t25_offline_digit/mac/main2_pet_digitizer.mac @@ -0,0 +1,89 @@ +#.................... SCANNER DATA PROCESSING PARAMETERS +# ADDER +# The adder output is a pulse that is an energy weighted centroid for the different hit positions within each crystal volume invlved in the event +/gate/digitizer/Singles/insert adder +#/gate/digitizer/Singles/adder/verbose 0 +#/gate/digitizer/convertor/verbose 0 + +# READOUT + +# The redout regroups the pulsed per group of sensitive detectors +# defined by the depth in the volume hierarchy. The energy is the +# total energy in the stack and the position of the pulse with the +# maximun energy. + +/gate/digitizer/Singles/insert readout +/gate/digitizer/Singles/readout/setDepth 1 + + +# NOISE + +/gate/distributions/name energy_distrib +/gate/distributions/insert Gaussian +/gate/distributions/energy_distrib/setMean 500 keV +/gate/distributions/energy_distrib/setSigma 1 keV + +/gate/distributions/name dt_distrib +/gate/distributions/insert Exponential +/gate/distributions/dt_distrib/setLambda 2.1701 us + +/gate/digitizer/Singles/insert noise +/gate/digitizer/Singles/noise/setDeltaTDistribution dt_distrib +/gate/digitizer/Singles/noise/setEnergyDistribution energy_distrib + + +# ENERGY BLURRING +/gate/digitizer/Singles/insert crystalblurring +/gate/digitizer/Singles/crystalblurring/setCrystalResolutionMin 0.112 +/gate/digitizer/Singles/crystalblurring/setCrystalResolutionMax 0.112 +/gate/digitizer/Singles/crystalblurring/setCrystalQE 0.865 +/gate/digitizer/Singles/crystalblurring/setCrystalEnergyOfReference 511. keV + + +# TEMPORAL RESOLUTION +/gate/digitizer/Singles/insert timeResolution +/gate/digitizer/Singles/timeResolution/setTimeResolution 220.0 ps +/gate/digitizer/Singles/timeResolution/verbose 0 + + +# PILES-UP +/gate/digitizer/Singles/insert pileup +/gate/digitizer/Singles/pileup/setDepth 1 +/gate/digitizer/Singles/pileup/setPileup 5.9 ns + + +# DEADTIME +/gate/digitizer/Singles/insert deadtime +/gate/digitizer/Singles/deadtime/setDeadTime 5.9 ns +/gate/digitizer/Singles/deadtime/setMode paralysable +/gate/digitizer/Singles/deadtime/chooseDTVolume module + + +# HIGH ENERGY CUT +/gate/digitizer/Singles/insert thresholder +/gate/digitizer/Singles/thresholder/setThreshold 0.44968 MeV +/gate/digitizer/Singles/insert upholder +/gate/digitizer/Singles/upholder/setUphold 0.61320 MeV + + +# COINCIDENCES SORTER +/gate/digitizer/Coincidences/setInputName Singles +#/gate/digitizer/Coincidences/verbose 0 +/gate/digitizer/Coincidences/setWindow 2.0115 ns +/gate/digitizer/Coincidences/minSectorDifference 5 +/gate/digitizer/Coincidences/MultiplesPolicy takeAllGoods + +##Uncomment for second method for coincidence sorting +/gate/digitizer/Coincidences/allPulseOpenCoincGate true + +/gate/digitizer/name Delay +/gate/digitizer/insert coincidenceSorter +/gate/digitizer/Delay/setInputName Singles +/gate/digitizer/Delay/setWindow 2.0115 ns +/gate/digitizer/Delay/setOffset 100.0 ns #... it should be 100 ns +/gate/digitizer/Delay/minSectorDifference 5 +/gate/digitizer/Delay/MultiplesPolicy takeAllGoods + +##Uncomment for second method for coincidence sorting +/gate/digitizer/Delay/allPulseOpenCoincGate true + diff --git a/t25_offline_digit/mac/main2_pet_geometry.mac b/t25_offline_digit/mac/main2_pet_geometry.mac new file mode 100644 index 0000000..87ff26e --- /dev/null +++ b/t25_offline_digit/mac/main2_pet_geometry.mac @@ -0,0 +1,201 @@ + +#.................... DEFINING THE SCANNER GEOMETRY BASIC COMPONENTS + +# MOTHER VOLUME +/gate/world/geometry/setXLength 300. cm +/gate/world/geometry/setYLength 300. cm +/gate/world/geometry/setZLength 300. cm +/gate/world/setMaterial Air +/gate/world/vis/setVisible 0 +/gate/world/vis/forceWireframe + +# CYLINDRICAL STRUCTURE +/gate/world/daughters/name cylindricalPET +/gate/world/daughters/insert cylinder +/gate/cylindricalPET/placement/setTranslation 0.0 0.0 0.0 cm +/gate/cylindricalPET/setMaterial Air +/gate/cylindricalPET/geometry/setRmax 500.0 mm +/gate/cylindricalPET/geometry/setRmin 360.0 mm +/gate/cylindricalPET/geometry/setHeight 164.0 mm +/gate/cylindricalPET/vis/forceWireframe +/gate/cylindricalPET/vis/setColor yellow +/gate/cylindricalPET/vis/setVisible 0 + +# MODULE (each module has 4x5 stacks) +/gate/cylindricalPET/daughters/name module +/gate/cylindricalPET/daughters/insert box +/gate/module/placement/setTranslation 391.5 0 0 mm +/gate/module/geometry/setXLength 19 mm +/gate/module/geometry/setYLength 131.4 mm +/gate/module/geometry/setZLength 164.0 mm +/gate/module/setMaterial ABS +/gate/module/vis/setColor blue +/gate/module/vis/forceWireframe +/gate/module/vis/setVisible 1 + +# STACK +/gate/module/daughters/name stack +/gate/module/daughters/insert box +/gate/stack/placement/setTranslation 0.0 0.0 0.0 mm +/gate/stack/geometry/setXLength 19 mm +/gate/stack/geometry/setYLength 32.6 mm +/gate/stack/geometry/setZLength 32.6 mm +/gate/stack/setMaterial Air +/gate/stack/vis/setColor green +/gate/stack/vis/setVisible 0 +/gate/stack/vis/forceWireframe + +# DIE +/gate/stack/daughters/name die +/gate/stack/daughters/insert box +/gate/die/placement/setTranslation 0.0 0.0 0.0 mm +/gate/die/geometry/setXLength 19 mm +/gate/die/geometry/setYLength 8.0 mm +/gate/die/geometry/setZLength 8.0 mm +/gate/die/setMaterial Air +/gate/die/vis/setColor red +/gate/die/vis/setVisible 0 +/gate/die/vis/forceWireframe + +# CRYSTAL +/gate/die/daughters/name crystal +/gate/die/daughters/insert box +/gate/crystal/placement/setTranslation 0.0 0.0 0.0 mm +/gate/crystal/geometry/setXLength 19 mm +/gate/crystal/geometry/setYLength 4.0 mm +/gate/crystal/geometry/setZLength 4.0 mm +/gate/crystal/setMaterial LYSO +/gate/crystal/vis/setColor cyan +/gate/crystal/vis/forceSolid +/gate/crystal/vis/setVisible 0 + +# FOR VISUALIZATION PURPOSES ONLY +# SiPMs HOUSING +/gate/cylindricalPET/daughters/name housing +/gate/cylindricalPET/daughters/insert box +/gate/housing/placement/setTranslation 408 0 0 mm +/gate/housing/geometry/setXLength 1 mm +/gate/housing/geometry/setYLength 131.0 mm +/gate/housing/geometry/setZLength 164.0 mm +/gate/housing/setMaterial Air +/gate/housing/vis/setColor blue +/gate/housing/vis/forceSolid +/gate/housing/vis/setVisible 0 + +# SiPMs UNITS +/gate/housing/daughters/name sipms +/gate/housing/daughters/insert box +/gate/sipms/placement/setTranslation 0.0 0.0 0.0 mm +/gate/sipms/geometry/setXLength 1 mm +/gate/sipms/geometry/setYLength 32.6 mm +/gate/sipms/geometry/setZLength 32.6 mm +/gate/sipms/setMaterial Air +/gate/sipms/vis/setColor red +/gate/sipms/vis/setVisible 0 +/gate/sipms/vis/forceWireframe + +/gate/cylindricalPET/daughters/name coolingplate +/gate/cylindricalPET/daughters/insert box +/gate/coolingplate/placement/setTranslation 430.0 0 0 mm +/gate/coolingplate/geometry/setXLength 30 mm +/gate/coolingplate/geometry/setYLength 130.2 mm +/gate/coolingplate/geometry/setZLength 164.0 mm +/gate/coolingplate/setMaterial Copper +/gate/coolingplate/vis/setColor green +/gate/coolingplate/vis/forceSolid +/gate/coolingplate/vis/setVisible 0 + +# BUILDING UP THE SCANNER GEOMETRY + +# REPEAT CRYSTAL TO GET A 2x2 SiPM (Die) +/gate/crystal/repeaters/insert cubicArray +/gate/crystal/cubicArray/setRepeatNumberX 1 +/gate/crystal/cubicArray/setRepeatNumberY 2 +/gate/crystal/cubicArray/setRepeatNumberZ 2 +/gate/crystal/cubicArray/setRepeatVector 19 4.0 4.0 mm + +# REPEAT DIE TO GET A 8x8 ARRAY +/gate/die/repeaters/insert cubicArray +/gate/die/cubicArray/setRepeatNumberX 1 +/gate/die/cubicArray/setRepeatNumberY 4 +/gate/die/cubicArray/setRepeatNumberZ 4 +/gate/die/cubicArray/setRepeatVector 19 8.0 8.0 mm + +# REPEAT STACK TO GET A MODULE WITH 4x5 STACKS +/gate/stack/repeaters/insert cubicArray +/gate/stack/cubicArray/setRepeatNumberY 4 +/gate/stack/cubicArray/setRepeatNumberZ 5 +/gate/stack/cubicArray/setRepeatVector 0. 32.85 32.85 mm + +# REPEAT MODULE TO GET A RING WITH 18 MODULES +/gate/module/repeaters/insert ring +/gate/module/ring/setFirstAngle 190 deg +/gate/module/ring/setRepeatNumber 18 + +# JUST FOR VISUALIZATION PURPOSES +# REPEAT SiPMs WITHIN the HOUSING +/gate/sipms/repeaters/insert cubicArray +/gate/sipms/cubicArray/setRepeatNumberY 4 +/gate/sipms/cubicArray/setRepeatNumberZ 5 +/gate/sipms/cubicArray/setRepeatVector 0. 32.8 32.8 mm + +# REPEAT THE HOUSING +/gate/housing/repeaters/insert ring +/gate/housing/ring/setFirstAngle 190 deg +/gate/housing/ring/setRepeatNumber 18 + +/gate/coolingplate/repeaters/insert ring +/gate/coolingplate/ring/setFirstAngle 190 deg +/gate/coolingplate/ring/setRepeatNumber 18 + + +# END SHIELDING 1 +/gate/world/daughters/name endshielding1 +/gate/world/daughters/insert cylinder +/gate/endshielding1/placement/setTranslation 0.0 0.0 95.0 mm +/gate/endshielding1/geometry/setRmax 410.0 mm +/gate/endshielding1/geometry/setRmin 362.5 mm +/gate/endshielding1/geometry/setHeight 25.0 mm +/gate/endshielding1/setMaterial Lead +/gate/endshielding1/vis/setColor yellow +/gate/endshielding1/vis/forceSolid +/gate/endshielding1/vis/setVisible 0 + +# END SHIELDING 2 +/gate/world/daughters/name endshielding2 +/gate/world/daughters/insert cylinder +/gate/endshielding2/placement/setTranslation 0.0 0.0 -95.0 mm +/gate/endshielding2/geometry/setRmax 410.0 mm +/gate/endshielding2/geometry/setRmin 362.5 mm +/gate/endshielding2/geometry/setHeight 25.0 mm +/gate/endshielding2/setMaterial Lead +/gate/endshielding2/vis/setColor yellow +/gate/endshielding2/vis/forceSolid +/gate/endshielding2/vis/setVisible 0 + +# outer cover Lexan layer +/gate/world/daughters/name cover +/gate/world/daughters/insert cylinder +/gate/cover/placement/setTranslation 0.0 0.0 0.0 cm +/gate/cover/geometry/setRmax 355.5 mm +/gate/cover/geometry/setRmin 354.0 mm +/gate/cover/geometry/setHeight 392.0 mm +/gate/cover/setMaterial Lexan +/gate/cover/vis/forceSolid +/gate/cover/vis/setColor white +/gate/cover/vis/setVisible 0 + +# ATTACH SYSTEM +# Depth of the readout segmentation +# Depth 1 is the rsector which for the Alpha is the module +# Depth 2 is the module which for the Alpha is the stack +# Depth 3 is the submodules which for the Alpha is the die +# Depth 4 is the crystal which for the Alpha is the crystal + +/gate/systems/cylindricalPET/rsector/attach module +/gate/systems/cylindricalPET/module/attach stack +/gate/systems/cylindricalPET/submodule/attach die +/gate/systems/cylindricalPET/crystal/attach crystal + +# ATTACH LAYER SD (sensitive detector) +/gate/crystal/attachCrystalSD diff --git a/t25_offline_digit/mac/main2_pet_output.mac b/t25_offline_digit/mac/main2_pet_output.mac new file mode 100644 index 0000000..cf5295c --- /dev/null +++ b/t25_offline_digit/mac/main2_pet_output.mac @@ -0,0 +1,23 @@ + +# global stat +/gate/actor/addActor SimulationStatisticActor stat +/gate/actor/stat/save output/stats2.txt + +# ROOT OUTPUT v1 +/gate/output/root/enable +/gate/output/root/setFileName output/output2 +/gate/output/root/setRootNtupleFlag 0 +/gate/output/root/setRootHitFlag 1 +/gate/output/root/setRootSinglesFlag 1 +/gate/output/root/setSaveRndmFlag 0 +/gate/output/root/setRootRecordFlag 0 +/gate/output/root/setRootCoincidencesFlag 1 +/gate/output/root/setRootDelayFlag 1 + +# Summary +/gate/output/summary/enable +/gate/output/summary/setFileName output/summary2.txt +/gate/output/summary/addCollection Singles +/gate/output/summary/addCollection Coincidences +/gate/output/summary/addCollection Delay + diff --git a/t25_offline_digit/mac/main2_phantom_NECR.mac b/t25_offline_digit/mac/main2_phantom_NECR.mac new file mode 100644 index 0000000..9347993 --- /dev/null +++ b/t25_offline_digit/mac/main2_phantom_NECR.mac @@ -0,0 +1,63 @@ +# P H A N T O M G E O M E T R Y + +# Cylinder +/gate/world/daughters/name phantom +/gate/world/daughters/insert cylinder +/gate/phantom/placement/setTranslation 0.0 0.0 0.0 cm +/gate/phantom/geometry/setRmax 103 mm +/gate/phantom/geometry/setRmin 0.0 cm +/gate/phantom/geometry/setHeight 71 cm +/gate/phantom/setMaterial G4_AIR +/gate/phantom/vis/forceWireframe +/gate/phantom/vis/setColor gray +/gate/phantom/vis/setVisible 1 + + +# Cylinder +/gate/phantom/daughters/name cylinderScat +/gate/phantom/daughters/insert cylinder +/gate/cylinderScat/placement/setTranslation 0.0 0.0 0.0 cm +/gate/cylinderScat/geometry/setRmax 102 mm +/gate/cylinderScat/geometry/setRmin 0.0 cm +/gate/cylinderScat/geometry/setHeight 70 cm +/gate/cylinderScat/setMaterial G4_POLYETHYLENE +/gate/cylinderScat/vis/forceWireframe +/gate/cylinderScat/vis/setColor gray +/gate/cylinderScat/vis/setVisible 1 + + +# Linear Source interior +/gate/cylinderScat/daughters/name linearSourceIn +/gate/cylinderScat/daughters/insert cylinder +/gate/linearSourceIn/placement/setTranslation 0.0 -4.5 0.0 cm +/gate/linearSourceIn/geometry/setRmin 0.0 mm +/gate/linearSourceIn/geometry/setRmax 1.6 mm +/gate/linearSourceIn/geometry/setHeight 70 cm +/gate/linearSourceIn/setMaterial G4_WATER +/gate/linearSourceIn/vis/forceWireframe +/gate/linearSourceIn/vis/setColor red +/gate/linearSourceIn/vis/setVisible 1 + +# Linear Source Exterior +/gate/cylinderScat/daughters/name linearSourceOut +/gate/cylinderScat/daughters/insert cylinder +/gate/linearSourceOut/placement/setTranslation 0.0 -4.5 0.0 cm +/gate/linearSourceOut/geometry/setRmin 1.6 mm +/gate/linearSourceOut/geometry/setRmax 2.5 mm +/gate/linearSourceOut/geometry/setHeight 70 cm +/gate/linearSourceOut/setMaterial G4_POLYETHYLENE +/gate/linearSourceOut/vis/forceWireframe +/gate/linearSourceOut/vis/setColor red +/gate/linearSourceOut/vis/setVisible 0 + + + + + + + + + + + + diff --git a/t25_offline_digit/mac/main2_physics.mac b/t25_offline_digit/mac/main2_physics.mac new file mode 100644 index 0000000..57c96be --- /dev/null +++ b/t25_offline_digit/mac/main2_physics.mac @@ -0,0 +1,19 @@ + + +/gate/physics/addPhysicsList emstandard_opt4 + +/gate/physics/Gamma/SetCutInRegion world 1 m +/gate/physics/Electron/SetCutInRegion world 1 m +/gate/physics/Positron/SetCutInRegion world 1 m + +/gate/physics/Gamma/SetCutInRegion phantom 0.1 mm +/gate/physics/Electron/SetCutInRegion phantom 0.1 mm +/gate/physics/Positron/SetCutInRegion phantom 0.1 mm + +/gate/physics/Gamma/SetCutInRegion bed 0.1 mm +/gate/physics/Electron/SetCutInRegion bed 0.1 mm +/gate/physics/Positron/SetCutInRegion bed 0.1 mm + +/gate/physics/Gamma/SetCutInRegion crystal 0.1 mm +/gate/physics/Electron/SetCutInRegion crystal 0.1 mm +/gate/physics/Positron/SetCutInRegion crystal 0.1 mm diff --git a/t25_offline_digit/mac/main2_source_NECR.mac b/t25_offline_digit/mac/main2_source_NECR.mac new file mode 100644 index 0000000..b8bf4f9 --- /dev/null +++ b/t25_offline_digit/mac/main2_source_NECR.mac @@ -0,0 +1,16 @@ + +# Source cylinder + +/gate/source/addSource source +/gate/source/source/gps/particle e+ +/gate/source/source/gps/energytype Fluor18 +/gate/source/source/gps/angtype iso +/gate/source/source/gps/type Volume +/gate/source/source/gps/shape Cylinder +/gate/source/source/setForcedUnstableFlag true +/gate/source/source/gps/radius 1.6 mm +/gate/source/source/gps/halfz 35 cm +/gate/source/source/setForcedHalfLife 6586.0 s +/gate/source/source/gps/centre 0.0 -4.5 0.0 cm +/gate/source/source/setActivity 1787.914158 MBq + diff --git a/t25_offline_digit/mac/main2_table_geometry.mac b/t25_offline_digit/mac/main2_table_geometry.mac new file mode 100644 index 0000000..ab1cfc0 --- /dev/null +++ b/t25_offline_digit/mac/main2_table_geometry.mac @@ -0,0 +1,31 @@ +# Patient Bed Exterior + +/gate/world/daughters/name bed +/gate/world/daughters/insert cylinder +/gate/bed/geometry/setRmax 439 mm +/gate/bed/geometry/setRmin 406 mm +/gate/bed/geometry/setHeight 200.0 cm +/gate/bed/geometry/setPhiStart 0 deg +/gate/bed/geometry/setDeltaPhi 70 deg +/gate/bed/placement/setRotationAxis 0 0 1 +/gate/bed/placement/setRotationAngle -125 deg +/gate/bed/placement/setTranslation 0.0 25 0.0 cm +/gate/bed/setMaterial CarbonFiber +/gate/bed/vis/setColor white +/gate/bed/vis/forceSolid +/gate/bed/vis/setVisible 1 + +# Patient Bed Interior +/gate/bed/daughters/name bedin +/gate/bed/daughters/insert cylinder +/gate/bedin/geometry/setRmax 436.5 mm +/gate/bedin/geometry/setRmin 408.5 mm +/gate/bedin/geometry/setHeight 200.0 cm +/gate/bedin/geometry/setPhiStart 0 deg +/gate/bedin/geometry/setDeltaPhi 69 deg +/gate/bedin/placement/setRotationAxis 0 0 1 +/gate/bedin/placement/setRotationAngle 0.5 deg +/gate/bedin/setMaterial Air +/gate/bedin/vis/setColor red +/gate/bedin/vis/forceSolid +/gate/bedin/vis/setVisible 1 diff --git a/t25_offline_digit/mac/verbose.mac b/t25_offline_digit/mac/verbose.mac new file mode 100644 index 0000000..0b1a376 --- /dev/null +++ b/t25_offline_digit/mac/verbose.mac @@ -0,0 +1,28 @@ + +# G4 verbose +/control/verbose 0 +/run/verbose 0 +/event/verbose 0 +/tracking/verbose 0 + +# gate verbose + +/gate/application/verbose 0 +/gate/generator/verbose 0 +/gate/source/verbose 0 +/gate/random/verbose 0 +/gate/output/verbose 0 +/gate/verbose Physic 0 +/gate/verbose Cuts 1 +/gate/verbose SD 0 +/gate/verbose Actions 0 +/gate/verbose Actor 0 +/gate/verbose Step 0 +/gate/verbose Error 0 +/gate/verbose Warning 0 +/gate/verbose Output 0 +/gate/verbose Beam 0 +/gate/verbose Volume 2 +/gate/verbose Image 0 +/gate/verbose Geometry 1 +/gate/verbose Core 1 diff --git a/t25_offline_digit/mac/visu.mac b/t25_offline_digit/mac/visu.mac new file mode 100644 index 0000000..676a495 --- /dev/null +++ b/t25_offline_digit/mac/visu.mac @@ -0,0 +1,17 @@ +/vis/open OGLIQt +/vis/drawVolume +/vis/viewer/flush +/tracking/storeTrajectory 1 +/vis/scene/add/trajectories +/vis/scene/endOfEventAction accumulate + +/vis/scene/add/axes 0 0 0 500 mm +/vis/scene/add/text 10 0 0 cm 20 0 0 X +/vis/scene/add/text 0 10 0 cm 20 0 0 Y +/vis/scene/add/text 0 0 10 cm 20 0 0 Z + +#/vis/viewer/set/viewpointThetaPhi 90 -90 +#/vis/viewer/panTo 0 0 +#/vis/viewer/zoom 50 + +/vis/viewer/set/auxiliaryEdge true \ No newline at end of file diff --git a/t25_offline_digit/output/.gitkeep b/t25_offline_digit/output/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/t25_offline_digit/readme.md b/t25_offline_digit/readme.md new file mode 100644 index 0000000..78fe7da --- /dev/null +++ b/t25_offline_digit/readme.md @@ -0,0 +1,33 @@ + + + +## Example 1 + +Simple Cylindrical PET with 20 x 20 block, 5x5 crystal, LSO and BGO layer, 4 rings. +- No phantom. +- Physics list: emstandard_opt4 +- Digitizer: adder, NO readout, threshold, coinc 10 ns +- Source: back to back 511 keV, half-life of 1223 sec (C11) + +```shell +Gate mac/main2.mac +``` +This will generate ```output/output1.root``` with all hits only. + + +```shell +GateDigit_hits_digitizer output/output1.root output/output1-singles.root mac/main1_offline_digitizer.mac +``` +This will generate ```output/output1-singles.root``` with the singles. + + +```shell +GateDigit_singles_sorter output/output1-singles.root output/output1-coinc.root mac/main1_offline_sorter.mac abs +``` +This will generate ```output/output1-coinc.root``` with the singles. + + + + +## Example 2 + diff --git a/t25_offline_digit/test_main1.py b/t25_offline_digit/test_main1.py new file mode 100755 index 0000000..9cfeace --- /dev/null +++ b/t25_offline_digit/test_main1.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import gam_gate as gam + +# ------------------------------------------------------ +gam.warning('Compare root singles') +root_ref = 'output/output1.root' +root_offline = 'output/output1-singles.root' + +checked_keys = ['time', 'energy', + 'globalPosX', 'globalPosY', 'globalPosZ'] +scalings = [1] * len(checked_keys) +tols = [0.01] * len(checked_keys) +tols[0] = 0.02 # time +tols[1] = 0.001 # energy +tols[2] = 0.8 # globalPosX +tols[3] = 0.4 # globalPosY +tols[4] = 0.2 # globalPosZ +is_ok = gam.compare_root3(root_ref, root_offline, + "Singles", "Singles", + checked_keys, checked_keys, + tols, scalings, scalings, + 'output/main1_root_singles.png') +print(is_ok) + + +# ------------------------------------------------------ +# not yet possible to compare + +'''print() +gam.warning('Compare root coinc') +root_ref = 'output/output1.root' +root_offline = 'output/output1-coinc.root' + +checked_keys = ['time', 'energy', + 'globalPosX', 'globalPosY', 'globalPosZ'] +scalings = [1] * len(checked_keys) +tols = [0.01] * len(checked_keys) +tols[0] = 0.02 # time +tols[1] = 0.001 # energy +tols[2] = 0.8 # globalPosX +tols[3] = 0.4 # globalPosY +tols[4] = 0.2 # globalPosZ + +print(scalings, tols) +is_ok = gam.compare_root3(root_ref, root_offline, + "Coincidences", "Coincidences", + checked_keys, checked_keys, + tols, scalings, scalings, + 'output/main1_root_singles.png') +print(is_ok)'''