62{
63#ifdef G4VERBOSE
65 {
67 }
68#endif
69
71 for(
G4int ii = 0; ii < (
G4int)wl0.length(); ++ii)
72 {
73 wl0[ii] = (char)std::toupper(wl0[ii]);
74 }
75
76
77 if(wl0 == ":P")
78 {
80
81
82 }
83 else if(wl0 == ":PS")
84 {
86
87
88 }
89 else if(wl0 == ":ISOT")
90 {
93
94
95 }
96 else if(wl0 == ":ELEM")
97 {
101
102
103 }
104 else if(wl0 == ":ELEM_FROM_ISOT")
105 {
106
110
111
112 }
113 else if(wl0 == ":MATE")
114 {
118
119
120 }
121 else if((wl0 == ":MIXT") || (wl0 == ":MIXT_BY_WEIGHT"))
122 {
125 wl, "MaterialMixtureByWeight");
127
128
129 }
130 else if(wl0 == ":MIXT_BY_NATOMS")
131 {
134 wl, "MaterialMixtureByNoAtoms");
136
137
138 }
139 else if(wl0 == ":MIXT_BY_VOLUME")
140 {
143 wl, "MaterialMixtureByVolume");
145
146
147
148 }
149 else if(wl0 == ":MATE_MEE")
150 {
153 if(mate == 0)
154 {
155 G4Exception(
"G4tgrLineProcessor::ProcessLine()",
"Material not found",
157 return false;
158 }
160
161
162 }
163 else if(wl0 == ":MATE_STATE")
164 {
167 if(mate == 0)
168 {
169 G4Exception(
"G4tgrLineProcessor::ProcessLine()",
"Material not found",
171 }
173
174
175 }
176 else if(wl0 == ":MATE_TEMPERATURE")
177 {
180 if(mate == 0)
181 {
182 G4Exception(
"G4tgrLineProcessor::ProcessLine()",
"Material not found",
184 }
186
187
188 }
189 else if(wl0 == ":MATE_PRESSURE")
190 {
193 if(mate == 0)
194 {
195 G4Exception(
"G4tgrLineProcessor::ProcessLine()",
"Material not found",
197 }
199
200
201 }
202 else if(wl0 == ":SOLID")
203 {
205
206
207 }
208 else if(wl0 == ":VOLU")
209 {
212
213
214 }
215 else if(wl0 == ":PLACE")
216 {
220
221
222 }
223 else if(wl0 == ":PLACE_PARAM")
224 {
228
229
230 }
231 else if((wl0 == ":DIV_NDIV") || (wl0 == ":DIV_WIDTH") ||
232 (wl0 == ":DIV_NDIV_WIDTH"))
233 {
234
237
238
239 }
240 else if(wl0 == ":REPL")
241 {
245
246
247 }
248 else if(wl0 == ":VOLU_ASSEMBLY")
249 {
252
253
254 }
255 else if(wl0 == ":PLACE_ASSEMBLY")
256 {
260
261
262 }
263 else if(wl0 == ":ROTM")
264 {
265
266
270
271
272 }
273 else if(wl0 == ":VIS")
274 {
275 std::vector<G4tgrVolume*> vols =
277 for(std::size_t ii = 0; ii < vols.size(); ++ii)
278 {
279 vols[ii]->AddVisibility(wl);
280 }
281
282
283 }
284 else if((wl0 == ":COLOUR") || (wl0 == ":COLOR"))
285 {
286 std::vector<G4tgrVolume*> vols =
288 for(std::size_t ii = 0; ii < vols.size(); ++ii)
289 {
290 vols[ii]->AddRGBColour(wl);
291 }
292
293
294 }
295 else if(wl0 == ":CHECK_OVERLAPS")
296 {
297 std::vector<G4tgrVolume*> vols =
299 for(std::size_t ii = 0; ii < vols.size(); ++ii)
300 {
301 vols[ii]->AddCheckOverlaps(wl);
302 }
303
304 }
305 else
306 {
307 return false;
308 }
309
310 return true;
311}
G4tgrVolume * FindVolume(const G4String &volname)
G4tgrMaterial * FindMaterial(const G4String &name) const
static G4tgrMaterialFactory * GetInstance()
G4tgrElementFromIsotopes * AddElementFromIsotopes(const std::vector< G4String > &wl)
G4tgrElementSimple * AddElementSimple(const std::vector< G4String > &wl)
G4tgrMaterialMixture * AddMaterialMixture(const std::vector< G4String > &wl, const G4String &mixtType)
G4tgrIsotope * AddIsotope(const std::vector< G4String > &wl)
G4tgrMaterialSimple * AddMaterialSimple(const std::vector< G4String > &wl)
void SetTemperature(G4double val)
void SetPressure(G4double val)
void SetIonisationMeanExcitationEnergy(G4double mee)
void SetState(const G4String &val)
static G4int GetVerboseLevel()
void AddParameterNumber(const std::vector< G4String > &wl, G4bool mustBeNew=false)
void AddParameterString(const std::vector< G4String > &wl, G4bool mustBeNew=false)
static G4tgrParameterMgr * GetInstance()
G4tgrRotationMatrix * AddRotMatrix(const std::vector< G4String > &wl)
static G4tgrRotationMatrixFactory * GetInstance()
static G4String GetString(const G4String &str)
static void DumpVS(const std::vector< G4String > &wl, const char *msg)
static G4double GetDouble(const G4String &str, G4double unitval=1.)
std::vector< G4tgrVolume * > FindVolumes(const G4String &volname, G4bool exists)
void RegisterMe(G4tgrSolid *vol)
G4tgrSolid * CreateSolid(const std::vector< G4String > &wl, G4bool bVOLUtag)
virtual G4tgrPlace * AddPlace(const std::vector< G4String > &wl)
G4tgrPlaceParameterisation * AddPlaceParam(const std::vector< G4String > &wl)
G4tgrPlaceDivRep * AddPlaceReplica(const std::vector< G4String > &wl)