Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/human_phantom/src/G4MIRDBodyFactory.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/advanced/human_phantom/src/G4MIRDBodyFactory.cc (Version 11.3.0) and /examples/advanced/human_phantom/src/G4MIRDBodyFactory.cc (Version 8.3)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 //                                             <<  26 // Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy
 27 // Previous authors: G. Guerrieri, S. Guatelli <<  27 // 
 28 // Authors (since 2007): S. Guatelli, Universi <<  28 // Based on code developed by the undergraduate student G. Guerrieri 
 29 //                                             <<  29 // Note: this is a preliminary beta-version of the code; an improved 
                                                   >>  30 // version will be distributed in the next Geant4 public release, compliant
                                                   >>  31 // with the design in a forthcoming publication, and subject to a 
                                                   >>  32 // design and code review.
 30 //                                                 33 //
 31 #include "G4MIRDBodyFactory.hh"                    34 #include "G4MIRDBodyFactory.hh"
 32 #include "G4MIRDStomach.hh"                        35 #include "G4MIRDStomach.hh"
 33 #include "G4MIRDSmallIntestine.hh"             << 
 34 #include "G4MIRDUpperLargeIntestine.hh"            36 #include "G4MIRDUpperLargeIntestine.hh"
 35 #include "G4MIRDLowerLargeIntestine.hh"            37 #include "G4MIRDLowerLargeIntestine.hh"
 36 #include "G4MIRDLeftKidney.hh"                 <<  38 #include "G4MIRDKidney.hh"
 37 #include "G4MIRDRightKidney.hh"                <<  39 #include "G4MIRDAdrenal.hh"
 38 #include "G4MIRDLiver.hh"                          40 #include "G4MIRDLiver.hh"
 39 #include "G4MIRDPancreas.hh"                       41 #include "G4MIRDPancreas.hh"
 40 #include "G4MIRDSpleen.hh"                         42 #include "G4MIRDSpleen.hh"
 41 #include "G4MIRDUrinaryBladder.hh"                 43 #include "G4MIRDUrinaryBladder.hh"
 42 #include "G4MIRDLeftLung.hh"                   <<  44 #include "G4MIRDLung.hh"
 43 #include "G4MIRDRightLung.hh"                  << 
 44 #include "G4MIRDHeart.hh"                          45 #include "G4MIRDHeart.hh"
 45 #include "G4MIRDBrain.hh"                          46 #include "G4MIRDBrain.hh"
 46 #include "G4MIRDHead.hh"                           47 #include "G4MIRDHead.hh"
 47 #include "G4MIRDTrunk.hh"                          48 #include "G4MIRDTrunk.hh"
 48 #include "G4MIRDMaleGenitalia.hh"              <<  49 #include "G4MIRDLegs.hh"
 49 #include "G4MIRDLeftLeg.hh"                    << 
 50 #include "G4MIRDRightLeg.hh"                   << 
 51 #include "G4MIRDThyroid.hh"                        50 #include "G4MIRDThyroid.hh"
 52 #include "G4MIRDThymus.hh"                     << 
 53 #include "G4MIRDUterus.hh"                         51 #include "G4MIRDUterus.hh"
 54 #include "G4MIRDLeftBreast.hh"                 <<  52 #include "G4MIRDBreast.hh"
 55 #include "G4MIRDRightBreast.hh"                <<  53 #include "G4MIRDOvary.hh"
 56 #include "G4MIRDRightOvary.hh"                 << 
 57 #include "G4MIRDLeftOvary.hh"                  << 
 58 #include "G4MIRDUpperSpine.hh"                     54 #include "G4MIRDUpperSpine.hh"
 59 #include "G4MIRDMiddleLowerSpine.hh"               55 #include "G4MIRDMiddleLowerSpine.hh"
 60 #include "G4MIRDLeftLegBone.hh"                <<  56 #include "G4MIRDLegBone.hh"
 61 #include "G4MIRDRightLegBone.hh"               <<  57 #include "G4MIRDArmBone.hh"
 62 #include "G4MIRDLeftClavicle.hh"               << 
 63 #include "G4MIRDRightClavicle.hh"              << 
 64 #include "G4MIRDLeftArmBone.hh"                << 
 65 #include "G4MIRDRightArmBone.hh"               << 
 66 #include "G4MIRDSkull.hh"                          58 #include "G4MIRDSkull.hh"
 67 #include "G4MIRDRibCage.hh"                        59 #include "G4MIRDRibCage.hh"
 68 #include "G4MIRDPelvis.hh"                         60 #include "G4MIRDPelvis.hh"
 69 #include "G4MIRDLeftTeste.hh"                  <<  61 #include "G4MIRDTestes.hh"
 70 #include "G4MIRDRightTeste.hh"                 <<  62 #include "G4ParameterisedBreast.hh"
 71 #include "G4MIRDLeftScapula.hh"                << 
 72 #include "G4MIRDRightScapula.hh"               << 
 73 #include "G4MIRDLeftAdrenal.hh"                << 
 74 #include "G4MIRDRightAdrenal.hh"               << 
 75                                                    63 
 76 G4MIRDBodyFactory::G4MIRDBodyFactory()             64 G4MIRDBodyFactory::G4MIRDBodyFactory()
 77 {                                                  65 {
 78   // Map with name of the fOrgan and pointer t << 
 79   fOrgan["Head"] = new G4MIRDHead();           << 
 80   fOrgan["Trunk"] = new G4MIRDTrunk();         << 
 81   fOrgan["LeftLeg"] = new G4MIRDLeftLeg();     << 
 82   fOrgan["RightLeg"] = new G4MIRDRightLeg();   << 
 83   fOrgan["Skull"] = new G4MIRDSkull();         << 
 84   fOrgan["LeftArmBone"] = new G4MIRDLeftArmBon << 
 85   fOrgan["RightArmBone"] = new G4MIRDRightArmB << 
 86   fOrgan["UpperSpine"] = new G4MIRDUpperSpine( << 
 87   fOrgan["MiddleLowerSpine"] = new G4MIRDMiddl << 
 88   fOrgan["Pelvis"]= new G4MIRDPelvis();        << 
 89   fOrgan["RibCage"] = new G4MIRDRibCage();     << 
 90   fOrgan["LeftClavicle"]= new G4MIRDLeftClavic << 
 91   fOrgan["RightClavicle"] = new G4MIRDRightCla << 
 92   fOrgan["LeftLegBone"] = new G4MIRDLeftLegBon << 
 93   fOrgan["RightLegBone"] = new G4MIRDRightLegB << 
 94   fOrgan["LeftScapula"]= new G4MIRDLeftScapula << 
 95   fOrgan["RightScapula"]= new G4MIRDRightScapu << 
 96   fOrgan["Heart"] = new G4MIRDHeart();         << 
 97   fOrgan["Thyroid"] = new G4MIRDThyroid();     << 
 98   fOrgan["Thymus"] = new G4MIRDThymus();       << 
 99   fOrgan["MaleGenitalia"] = new G4MIRDMaleGeni << 
100   fOrgan["Brain"] = new G4MIRDBrain();         << 
101   fOrgan["Stomach"] = new G4MIRDStomach();     << 
102   fOrgan["UpperLargeIntestine"] = new G4MIRDUp << 
103   fOrgan["LowerLargeIntestine"] = new G4MIRDLo << 
104   fOrgan["SmallIntestine"] = new G4MIRDSmallIn << 
105   fOrgan["Spleen"] = new G4MIRDSpleen();       << 
106   fOrgan["Pancreas"] = new G4MIRDPancreas();   << 
107   fOrgan["LeftKidney"] = new G4MIRDLeftKidney( << 
108   fOrgan["RightKidney"] = new G4MIRDRightKidne << 
109   fOrgan["UrinaryBladder"] = new G4MIRDUrinary << 
110   fOrgan["Uterus"] = new G4MIRDUterus();       << 
111   fOrgan["Liver"] = new G4MIRDLiver();         << 
112   fOrgan["LeftLung"]= new G4MIRDLeftLung();    << 
113   fOrgan["RightLung"] = new G4MIRDRightLung(); << 
114   fOrgan["LeftOvary"] = new G4MIRDLeftOvary(); << 
115   fOrgan["RightOvary"] = new G4MIRDRightOvary( << 
116   fOrgan["LeftTeste"] = new G4MIRDLeftTeste(); << 
117   fOrgan["RightTeste"] = new G4MIRDRightTeste( << 
118   fOrgan["RightBreast"] = new G4MIRDRightBreas << 
119   fOrgan["LeftBreast"] = new G4MIRDLeftBreast( << 
120   fOrgan["LeftAdrenal"]= new G4MIRDLeftAdrenal << 
121   fOrgan["RightAdrenal"]= new G4MIRDRightAdren << 
122 }                                                  66 }
123                                                    67 
124 G4MIRDBodyFactory::~G4MIRDBodyFactory()            68 G4MIRDBodyFactory::~G4MIRDBodyFactory()
125 {                                                  69 {
126   delete fOrgan["Head"]; fOrgan["Head"]=nullpt <<  70 }
127   delete fOrgan["RightLeg"]; fOrgan["RightLeg" <<  71 
128   delete fOrgan["LeftLeg"]; fOrgan["LeftLeg"]= <<  72 G4VPhysicalVolume* G4MIRDBodyFactory::CreateStomach(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
129   delete fOrgan["Trunk"]; fOrgan["Trunk"]=null <<  73 {
130   delete fOrgan["RightScapula"];fOrgan["RightS <<  74   G4MIRDStomach* stomach = new G4MIRDStomach();
131   delete fOrgan["LeftScapula"];fOrgan["LeftSca <<  75   return stomach -> ConstructStomach(motherVolume,sex,sensitivity);
132   delete fOrgan["RightLegBone"]; fOrgan["Right <<  76   delete stomach;
133   delete fOrgan["LeftLegBone"]; fOrgan["LeftLe <<  77 }
134   delete fOrgan["RibCage"]; fOrgan["RibCage"]  <<  78 
135   delete fOrgan["MiddleLowerSpine"]; fOrgan["M <<  79 G4VPhysicalVolume* G4MIRDBodyFactory::CreateUpperLargeIntestine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
136   delete fOrgan["UpperSpine"]; fOrgan["UpperSp <<  80 {
137   delete fOrgan["Skull"]; fOrgan["Skull"]=null <<  81   G4MIRDUpperLargeIntestine* upperLargeIntestine = new G4MIRDUpperLargeIntestine();
138   delete fOrgan["RightArmBone"]; fOrgan["Right <<  82   return upperLargeIntestine -> ConstructUpperLargeIntestine(motherVolume,sex,sensitivity);
139   delete fOrgan["LeftArmBone"]; fOrgan["LeftAr <<  83   delete upperLargeIntestine;
140   delete fOrgan["RightClavicle"]; fOrgan["Righ <<  84 }
141   delete fOrgan["LeftClavicle"]; fOrgan["LeftC <<  85 G4VPhysicalVolume* G4MIRDBodyFactory::CreateLowerLargeIntestine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
142   delete fOrgan["Pelvis"]; fOrgan["Pelvis"]=nu << 
143   delete fOrgan["RightAdrenal"]; fOrgan["Right << 
144   delete fOrgan["LeftAdrenal"]; fOrgan["LeftAd << 
145   delete fOrgan["LeftBreast"]; fOrgan["LeftBre << 
146   delete fOrgan["RightBreast"]; fOrgan["RightB << 
147   delete fOrgan["RightOvary"]; fOrgan["RightOv << 
148   delete fOrgan["LeftOvary"]; fOrgan["LeftOvar << 
149   delete fOrgan["RightTeste"]; fOrgan["RightTe << 
150   delete fOrgan["LeftTeste"]; fOrgan["LeftTest << 
151   delete fOrgan["RightLung"]; fOrgan["RightLun << 
152   delete fOrgan["LeftLung"]; fOrgan["LeftLung" << 
153   delete fOrgan["Uterus"]; fOrgan["Uterus"]=nu << 
154   delete fOrgan["UrinaryBladder"]; fOrgan["Uri << 
155   delete fOrgan["RightKidney"]; fOrgan["RightK << 
156   delete fOrgan["LeftKidney"]; fOrgan["LeftKid << 
157   delete fOrgan["Pancreas"]; fOrgan["Pancreas" << 
158   delete fOrgan["Spleen"]; fOrgan["Spleen"]=nu << 
159   delete fOrgan["LowerLargeIntestine"]; fOrgan << 
160   delete fOrgan["SmallIntestine"]; fOrgan["Sma << 
161   delete fOrgan["UpperLargeIntestine"]; fOrgan << 
162   delete fOrgan["Stomach"]; fOrgan["Stomach"]= << 
163   delete fOrgan["Brain"]; fOrgan["Brain"]=null << 
164   delete fOrgan["Heart"]; fOrgan["Heart"]=null << 
165   delete fOrgan["Thymus"]; fOrgan["Thymus"]=nu << 
166   delete fOrgan["MaleGenitalia"]; fOrgan["Male << 
167   delete fOrgan["Thyroid"]; fOrgan["Thyroid"]= << 
168   delete fOrgan["Liver"]; fOrgan["Liver"]=null << 
169 }                                              << 
170                                                << 
171 G4VPhysicalVolume* G4MIRDBodyFactory::CreateOr << 
172               const G4String& colourName, G4bo << 
173               G4bool sensitivity)              << 
174 {                                                  86 {
175   return fOrgan[organ_name]->Construct(organ_n <<  87   G4MIRDLowerLargeIntestine* lowerLargeIntestine = new G4MIRDLowerLargeIntestine();
                                                   >>  88   return lowerLargeIntestine -> ConstructLowerLargeIntestine(motherVolume,sex,sensitivity);
                                                   >>  89   delete lowerLargeIntestine;
176 }                                                  90 }
177                                                    91 
                                                   >>  92 G4VPhysicalVolume* G4MIRDBodyFactory::CreateKidney(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >>  93 {
                                                   >>  94   G4MIRDKidney* kidney = new G4MIRDKidney();
                                                   >>  95   return kidney -> ConstructKidney(motherVolume,sex,sensitivity);
                                                   >>  96   delete kidney;
                                                   >>  97 }
                                                   >>  98 G4VPhysicalVolume* G4MIRDBodyFactory::CreateAdrenal(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >>  99 {
                                                   >> 100   G4MIRDAdrenal* adrenal = new G4MIRDAdrenal();
                                                   >> 101   return adrenal -> ConstructAdrenal(motherVolume,sex,sensitivity);
                                                   >> 102   delete adrenal;
                                                   >> 103 }
                                                   >> 104 G4VPhysicalVolume* G4MIRDBodyFactory::CreateLiver(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 105 {
                                                   >> 106   G4MIRDLiver* liver = new G4MIRDLiver();
                                                   >> 107   return liver -> ConstructLiver(motherVolume,sex,sensitivity);
                                                   >> 108   delete liver;
                                                   >> 109 }
                                                   >> 110 G4VPhysicalVolume* G4MIRDBodyFactory::CreatePancreas(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 111 {
                                                   >> 112   G4MIRDPancreas* pancreas = new G4MIRDPancreas();
                                                   >> 113   return pancreas -> ConstructPancreas(motherVolume,sex,sensitivity);
                                                   >> 114   delete pancreas;
                                                   >> 115 }
                                                   >> 116 G4VPhysicalVolume* G4MIRDBodyFactory::CreateSpleen(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 117 {
                                                   >> 118   G4MIRDSpleen* spleen = new G4MIRDSpleen();
                                                   >> 119   return spleen -> ConstructSpleen(motherVolume,sex,sensitivity);
                                                   >> 120   delete spleen;
                                                   >> 121 }
                                                   >> 122 G4VPhysicalVolume* G4MIRDBodyFactory::CreateUrinaryBladder(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 123 {
                                                   >> 124   G4MIRDUrinaryBladder* urinaryBladder = new G4MIRDUrinaryBladder();
                                                   >> 125   return urinaryBladder -> ConstructUrinaryBladder(motherVolume,sex,sensitivity);
                                                   >> 126 }
                                                   >> 127 G4VPhysicalVolume* G4MIRDBodyFactory::CreateLung(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 128 {
                                                   >> 129   G4MIRDLung* lung = new G4MIRDLung();
                                                   >> 130   return lung -> ConstructLung(motherVolume,sex,sensitivity);
                                                   >> 131   delete lung;
                                                   >> 132 }
                                                   >> 133 G4VPhysicalVolume* G4MIRDBodyFactory::CreateHeart(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 134 {
                                                   >> 135   G4MIRDHeart* heart = new G4MIRDHeart();
                                                   >> 136   return heart -> ConstructHeart(motherVolume,sex,sensitivity);
                                                   >> 137   delete heart;
                                                   >> 138 }
                                                   >> 139 G4VPhysicalVolume* G4MIRDBodyFactory::CreateBrain(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 140 {
                                                   >> 141   G4MIRDBrain* brain = new G4MIRDBrain();
                                                   >> 142   return brain -> ConstructBrain(motherVolume,sex,sensitivity);
                                                   >> 143   delete brain;
                                                   >> 144 }
178                                                   145 
                                                   >> 146 G4VPhysicalVolume* G4MIRDBodyFactory::CreateHead(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 147 {
                                                   >> 148   G4MIRDHead* head = new G4MIRDHead();
                                                   >> 149   return head -> ConstructHead(motherVolume, sex, sensitivity);
                                                   >> 150   delete head;
                                                   >> 151 }
                                                   >> 152 G4VPhysicalVolume* G4MIRDBodyFactory::CreateTrunk(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 153 {
                                                   >> 154   G4MIRDTrunk* trunk = new G4MIRDTrunk();
                                                   >> 155   return trunk -> ConstructTrunk(motherVolume,sex,sensitivity);
                                                   >> 156   delete trunk;
                                                   >> 157 }
                                                   >> 158 G4VPhysicalVolume* G4MIRDBodyFactory::CreateLegs(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 159 {
                                                   >> 160   G4MIRDLegs* legs = new G4MIRDLegs();
                                                   >> 161   return legs -> ConstructLegs(motherVolume,sex,sensitivity);
                                                   >> 162   delete legs;
                                                   >> 163 }
                                                   >> 164 G4VPhysicalVolume* G4MIRDBodyFactory::CreateThyroid(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 165 {
                                                   >> 166   G4MIRDThyroid* thyroid = new G4MIRDThyroid();
                                                   >> 167   return thyroid -> ConstructThyroid(motherVolume,sex,sensitivity);
                                                   >> 168   delete thyroid;
                                                   >> 169 }
                                                   >> 170 G4VPhysicalVolume* G4MIRDBodyFactory::CreateUterus(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 171 {
                                                   >> 172   G4MIRDUterus* uterus = new G4MIRDUterus();
                                                   >> 173   return uterus -> ConstructUterus(motherVolume,sex,sensitivity);
                                                   >> 174   delete uterus;
                                                   >> 175 }
                                                   >> 176 G4VPhysicalVolume* G4MIRDBodyFactory::CreateBreast(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 177 {
                                                   >> 178   G4MIRDBreast* breast = new G4MIRDBreast();
                                                   >> 179   return breast -> ConstructBreast(motherVolume,sex,sensitivity);
                                                   >> 180   delete breast;
                                                   >> 181 }
                                                   >> 182 
                                                   >> 183 G4VPhysicalVolume* G4MIRDBodyFactory::CreateParameterisedBreast(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 184 {
                                                   >> 185   G4cout << "G4MIRDBodyFactory::CreateParameterisedBreast" << G4endl;
                                                   >> 186   G4ParameterisedBreast* breast = new G4ParameterisedBreast();
                                                   >> 187   return breast -> ConstructBreast(motherVolume,sex,sensitivity);
                                                   >> 188   delete breast;
                                                   >> 189 }
                                                   >> 190 
                                                   >> 191 G4VPhysicalVolume* G4MIRDBodyFactory::CreateOvary(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 192 {
                                                   >> 193   G4MIRDOvary* ovary = new G4MIRDOvary();
                                                   >> 194   return ovary -> ConstructOvary(motherVolume,sex,sensitivity);
                                                   >> 195   delete ovary;
                                                   >> 196 }
                                                   >> 197 G4VPhysicalVolume* G4MIRDBodyFactory::CreateUpperSpine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 198 {
                                                   >> 199   G4MIRDUpperSpine* upperSpine = new G4MIRDUpperSpine();
                                                   >> 200   return upperSpine -> ConstructUpperSpine(motherVolume,sex,sensitivity);
                                                   >> 201   delete upperSpine;
                                                   >> 202 }
                                                   >> 203 G4VPhysicalVolume* G4MIRDBodyFactory::CreateMiddleLowerSpine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 204 {
                                                   >> 205   G4MIRDMiddleLowerSpine* middleLowerSpine = new G4MIRDMiddleLowerSpine();
                                                   >> 206   return middleLowerSpine -> ConstructMiddleLowerSpine(motherVolume,sex,sensitivity);
                                                   >> 207   delete middleLowerSpine;
                                                   >> 208 }
                                                   >> 209 G4VPhysicalVolume* G4MIRDBodyFactory::CreateLegBone(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 210 {
                                                   >> 211   G4MIRDLegBone* legBone = new G4MIRDLegBone();
                                                   >> 212   return legBone -> ConstructLegBone(motherVolume,sex,sensitivity);
                                                   >> 213   delete legBone;
                                                   >> 214 }
                                                   >> 215 G4VPhysicalVolume* G4MIRDBodyFactory::CreateArmBone(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 216 {
                                                   >> 217   G4MIRDArmBone* armBone = new G4MIRDArmBone();
                                                   >> 218   return armBone -> ConstructArmBone(motherVolume,sex,sensitivity);
                                                   >> 219   delete armBone;
                                                   >> 220 }
                                                   >> 221 G4VPhysicalVolume* G4MIRDBodyFactory::CreateSkull(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 222 {
                                                   >> 223   G4MIRDSkull* skull = new G4MIRDSkull();
                                                   >> 224   return skull -> ConstructSkull(motherVolume,sex,sensitivity);
                                                   >> 225   delete skull;
                                                   >> 226 }
                                                   >> 227 G4VPhysicalVolume* G4MIRDBodyFactory::CreateRibCage(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 228 {
                                                   >> 229   G4MIRDRibCage* ribCage = new G4MIRDRibCage();
                                                   >> 230   return ribCage -> ConstructRibCage(motherVolume,sex,sensitivity);
                                                   >> 231   delete ribCage;
                                                   >> 232 }
                                                   >> 233 G4VPhysicalVolume* G4MIRDBodyFactory::CreatePelvis(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 234 {
                                                   >> 235   G4MIRDPelvis* pelvis = new G4MIRDPelvis();
                                                   >> 236   return pelvis -> ConstructPelvis(motherVolume,sex,sensitivity);
                                                   >> 237   delete pelvis;
                                                   >> 238 }
                                                   >> 239 G4VPhysicalVolume* G4MIRDBodyFactory::CreateTestes(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 240 {
                                                   >> 241   G4MIRDTestes* testes = new G4MIRDTestes();
                                                   >> 242   return testes -> ConstructTestes(motherVolume,sex,sensitivity);
                                                   >> 243   delete testes;
                                                   >> 244 }
                                                   >> 245 G4VPhysicalVolume* G4MIRDBodyFactory::CreateEsophagus(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 246 {
                                                   >> 247    G4cout << motherVolume << ">>>> Cannot create Esophagus of " << sex 
                                                   >> 248     << "phantom and with sensitivity = " << sensitivity 
                                                   >> 249     << ": not yet implemented!" << G4endl;
                                                   >> 250    return 0;
                                                   >> 251 }
                                                   >> 252 G4VPhysicalVolume* G4MIRDBodyFactory::CreateClavicles(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 253 {
                                                   >> 254    G4cout << motherVolume << ">>>> Cannot create Clavicles of " << sex 
                                                   >> 255    << "phantom and with sensitivity = " << sensitivity 
                                                   >> 256    << ": not yet implemented!" << G4endl; 
                                                   >> 257    return 0;
                                                   >> 258 }
                                                   >> 259 G4VPhysicalVolume* G4MIRDBodyFactory::CreateScapulae(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 260 {
                                                   >> 261    G4cout << motherVolume << ">>>> Cannot create Scapulae of " << sex 
                                                   >> 262    << "phantom and with sensitivity = " << sensitivity 
                                                   >> 263    << ": not yet implemented!" << G4endl;
                                                   >> 264    return 0;
                                                   >> 265 }
                                                   >> 266 G4VPhysicalVolume* G4MIRDBodyFactory::CreateNeck(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 267 {
                                                   >> 268    G4cout << motherVolume << ">>>> Cannot create Neck of " << sex 
                                                   >> 269    << "phantom and with sensitivity = " << sensitivity 
                                                   >> 270    << ": not yet implemented!" << G4endl;
                                                   >> 271    return 0;
                                                   >> 272 }
                                                   >> 273 G4VPhysicalVolume* G4MIRDBodyFactory::CreateMaleGenitalia(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity)
                                                   >> 274 {
                                                   >> 275    G4cout << motherVolume << ">>>> Cannot create Male Genitalia of " << sex 
                                                   >> 276    << "phantom and with sensitivity = " << sensitivity 
                                                   >> 277    << ": not yet implemented!" << G4endl;
                                                   >> 278    return 0;
                                                   >> 279 }
179                                                   280