ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
G4MIRDBodyFactory.cc
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file G4MIRDBodyFactory.cc
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 //
27 // Previous authors: G. Guerrieri, S. Guatelli and M. G. Pia, INFN Genova, Italy
28 // Authors (since 2007): S. Guatelli, University of Wollongong, Australia
29 //
30 //
31 #include "G4MIRDBodyFactory.hh"
32 #include "G4MIRDStomach.hh"
33 #include "G4MIRDSmallIntestine.hh"
36 #include "G4MIRDLeftKidney.hh"
37 #include "G4MIRDRightKidney.hh"
38 #include "G4MIRDLiver.hh"
39 #include "G4MIRDPancreas.hh"
40 #include "G4MIRDSpleen.hh"
41 #include "G4MIRDUrinaryBladder.hh"
42 #include "G4MIRDLeftLung.hh"
43 #include "G4MIRDRightLung.hh"
44 #include "G4MIRDHeart.hh"
45 #include "G4MIRDBrain.hh"
46 #include "G4MIRDHead.hh"
47 #include "G4MIRDTrunk.hh"
48 #include "G4MIRDMaleGenitalia.hh"
49 #include "G4MIRDLeftLeg.hh"
50 #include "G4MIRDRightLeg.hh"
51 #include "G4MIRDThyroid.hh"
52 #include "G4MIRDThymus.hh"
53 #include "G4MIRDUterus.hh"
54 #include "G4MIRDLeftBreast.hh"
55 #include "G4MIRDRightBreast.hh"
56 #include "G4MIRDRightOvary.hh"
57 #include "G4MIRDLeftOvary.hh"
58 #include "G4MIRDUpperSpine.hh"
60 #include "G4MIRDLeftLegBone.hh"
61 #include "G4MIRDRightLegBone.hh"
62 #include "G4MIRDLeftClavicle.hh"
63 #include "G4MIRDRightClavicle.hh"
64 #include "G4MIRDLeftArmBone.hh"
65 #include "G4MIRDRightArmBone.hh"
66 #include "G4MIRDSkull.hh"
67 #include "G4MIRDRibCage.hh"
68 #include "G4MIRDPelvis.hh"
69 #include "G4MIRDLeftTeste.hh"
70 #include "G4MIRDRightTeste.hh"
71 #include "G4MIRDLeftScapula.hh"
72 #include "G4MIRDRightScapula.hh"
73 #include "G4MIRDLeftAdrenal.hh"
74 #include "G4MIRDRightAdrenal.hh"
75 
77 {
78  // Map with name of the organ and pointer to the MIRDOrgan class
79  // organ["ParameterisedRightBreast"] = new G4ParameterisedRightBreast();
80  //organ["ParameterisedLeftBreast"] = new G4ParameterisedLeftBreast();
81  organ["Head"] = new G4MIRDHead();
82  organ["Trunk"] = new G4MIRDTrunk();
83  organ["LeftLeg"] = new G4MIRDLeftLeg();
84  organ["RightLeg"] = new G4MIRDRightLeg();
85 
86  organ["Skull"] = new G4MIRDSkull();
87  organ["LeftArmBone"] = new G4MIRDLeftArmBone();
88  organ["RightArmBone"] = new G4MIRDRightArmBone();
89  organ["UpperSpine"] = new G4MIRDUpperSpine();
90  organ["MiddleLowerSpine"] = new G4MIRDMiddleLowerSpine();
91  organ["Pelvis"]= new G4MIRDPelvis();
92  organ["RibCage"] = new G4MIRDRibCage();
93  organ["LeftClavicle"]= new G4MIRDLeftClavicle();
94  organ["RightClavicle"] = new G4MIRDRightClavicle();
95  organ["LeftLegBone"] = new G4MIRDLeftLegBone();
96  organ["RightLegBone"] = new G4MIRDRightLegBone();
97  organ["LeftScapula"]= new G4MIRDLeftScapula();
98  organ["RightScapula"]= new G4MIRDRightScapula();
99 
100  organ["Heart"] = new G4MIRDHeart();
101  organ["Thyroid"] = new G4MIRDThyroid();
102  organ["Thymus"] = new G4MIRDThymus();
103  organ["MaleGenitalia"] = new G4MIRDMaleGenitalia();
104  organ["Brain"] = new G4MIRDBrain();
105  organ["Stomach"] = new G4MIRDStomach();
106  organ["UpperLargeIntestine"] = new G4MIRDUpperLargeIntestine();
107  organ["LowerLargeIntestine"] = new G4MIRDLowerLargeIntestine();
108  organ["SmallIntestine"] = new G4MIRDSmallIntestine();
109  organ["Spleen"] = new G4MIRDSpleen();
110  organ["Pancreas"] = new G4MIRDPancreas();
111  organ["LeftKidney"] = new G4MIRDLeftKidney();
112  organ["RightKidney"] = new G4MIRDRightKidney();
113  organ["UrinaryBladder"] = new G4MIRDUrinaryBladder();
114  organ["Uterus"] = new G4MIRDUterus();
115  organ["Liver"] = new G4MIRDLiver();
116  organ["LeftLung"]= new G4MIRDLeftLung();
117  organ["RightLung"] = new G4MIRDRightLung();
118  organ["LeftOvary"] = new G4MIRDLeftOvary();
119  organ["RightOvary"] = new G4MIRDRightOvary();
120  organ["LeftTeste"] = new G4MIRDLeftTeste();
121  organ["RightTeste"] = new G4MIRDRightTeste();
122  organ["RightBreast"] = new G4MIRDRightBreast();
123  organ["LeftBreast"] = new G4MIRDLeftBreast();
124  organ["LeftAdrenal"]= new G4MIRDLeftAdrenal();
125  organ["RightAdrenal"]= new G4MIRDRightAdrenal();
126 }
127 
129 {
130  delete organ["Head"]; organ["Head"]=0;
131  delete organ["RightLeg"]; organ["RightLeg"]=0;
132  delete organ["LeftLeg"]; organ["LeftLeg"]=0;
133  delete organ["Trunk"]; organ["Trunk"]=0;
134 
135  delete organ["RightScapula"];organ["RightScapula"] =0;
136  delete organ["LeftScapula"];organ["LeftScapula"] =0;
137  delete organ["RightLegBone"]; organ["RightLegBone"]=0;
138  delete organ["LeftLegBone"]; organ["LeftLegBone"]=0;
139  delete organ["RibCage"]; organ["RibCage"] =0;
140  delete organ["MiddleLowerSpine"]; organ["MidlleLowerSpine"]=0;
141  delete organ["UpperSpine"]; organ["UpperSpine"]=0;
142  delete organ["Skull"]; organ["Skull"] =0;
143  delete organ["RightArmBone"]; organ["RightArmBone"] =0;
144  delete organ["LeftArmBone"]; organ["LeftArmBone"] =0;
145  delete organ["RightClavicle"]; organ["RightClavicle"]=0;
146  delete organ["LeftClavicle"]; organ["LeftClavicle"]=0;
147  delete organ["Pelvis"]; organ["Pelvis"] =0;
148 
149  delete organ["RightAdrenal"]; organ["RightAdrenal"]=0;
150  delete organ["LeftAdrenal"]; organ["LeftAdrenal"]=0;
151  delete organ["LeftBreast"]; organ["LeftBreast"]=0;
152  delete organ["RightBreast"]; organ["RightBreast"]=0;
153  delete organ["RightOvary"]; organ["RightOvary"]=0;
154  delete organ["LeftOvary"]; organ["LeftOvary"]=0;
155  delete organ["RightTeste"]; organ["RightTeste"]=0;
156  delete organ["LeftTeste"]; organ["LeftTeste"]=0;
157  delete organ["RightLung"]; organ["RightLung"] =0;
158  delete organ["LeftLung"]; organ["LeftLung"]=0;
159  delete organ["Uterus"]; organ["Uterus"]=0;
160  delete organ["UrinaryBladder"]; organ["UrinaryBladder"]=0;
161  delete organ["RightKidney"]; organ["RightKidney"] =0;
162  delete organ["LeftKidney"]; organ["LeftKidney"] =0;
163  delete organ["Pancreas"]; organ["Pancreas"] =0;
164  delete organ["Spleen"]; organ["Spleen"] =0;
165  delete organ["LowerLargeIntestine"]; organ["LowerLargeIntestine"] =0;
166  delete organ["SmallIntestine"]; organ["SmallIntestine"] =0;
167  delete organ["UpperLargeIntestine"]; organ["UpperLargeIntestine"] =0;
168  delete organ["Stomach"]; organ["Stomach"] =0;
169  delete organ["Brain"]; organ["Brain"]=0;
170  delete organ["Heart"]; organ["Heart"]=0;
171  delete organ["Thymus"]; organ["Thymus"]=0;
172  delete organ["MaleGenitalia"]; organ["MaleGenitalia"]=0;
173  delete organ["Thyroid"]; organ["Thyroid"]=0;
174  delete organ["Liver"]; organ["Liver"]=0;
175 }
176 
177 
178 
180  const G4String& colourName, G4bool visAttribute,
182 {
183  return organ[organ_name]->Construct(organ_name,motherVolume,colourName, visAttribute, sensitivity);
184 }
185 
186