79 G4String ErrMessage =
"Solid already exists... " + wl[1];
80 G4Exception(
"G4tgrVolumeMgr::CreateSolid()",
"InvalidSetup",
84 std::vector<G4String> wlc = wl;
85 if( bVOLUtag ) { wlc.pop_back(); }
88 for(
size_t ii = 0; ii < wl2.length(); ii++ )
90 wl2[ii] = toupper( wl2[ii] );
92 if( (wl2 ==
"UNION") || (wl2 ==
"SUBTRACTION") || (wl2 ==
"INTERSECTION") )
112 G4String ErrMessage =
"Cannot be two solids with the same name... "
114 G4Exception(
"G4tgrVolumeMgr::RegisterMe()",
"InvalidSetup",
126 G4String ErrMessage =
"Cannot unregister a solid that is not registered... "
128 G4Exception(
"G4tgrSolidMgr::unRegisterMe()",
"InvalidSetup",
144 G4String ErrMessage =
"Cannot be two volumes with the same name... "
146 G4Exception(
"G4tgrVolumeMgr::RegisterMe()",
"InvalidSetup",
156 std::vector<G4tgrVolume*>::iterator ite;
159 if((*ite) == vol ) {
break; }
163 G4String ErrMessage =
"Cannot unregister a volume not registered... "
165 G4Exception(
"G4tgrVolumeMgr::unRegisterMe()",
"InvalidSetup",
200 G4String ErrMessage =
"Solid not found... " + volname;
201 G4Exception(
"G4tgrVolumeMgr::FindSolid()",
"InvalidSetup",
207 vol =
const_cast<G4tgrSolid*
>((*svite).second);
230 G4String ErrMessage =
"Volume not found... " + volname;
231 G4Exception(
"G4tgrVolumeMgr::FindVolume()",
"InvalidSetup",
236 G4String WarMessage =
"Volume does not exists... " + volname;
237 G4Exception(
"G4tgrVolumeMgr::FindVolume()",
"SearchFailed",
250 std::vector<G4tgrVolume*>
253 std::vector<G4tgrVolume*> vols;
255 G4mapsvol::iterator svite;
261 vols.push_back(const_cast<G4tgrVolume*>((*svite).second) );
265 if( vols.size() == 0 )
274 G4String ErrMessage =
"Volume not found... " + volname;
275 G4Exception(
"G4tgrVolumeMgr::FindVolumes()",
"InvalidSetup",
280 G4String WarMessage =
"Volume does not exists... " + volname;
281 G4Exception(
"G4tgrVolumeMgr::FindVolumes()",
"SearchFailed",
297 G4mapsvol::const_iterator itetv;
305 G4cout <<
" G4tgrVolumeMgr::GetTopVolume() - Vol: "
306 << vol->
GetName() <<
" no place = "
317 G4cout <<
" G4tgrVolumeMgr::GetTopVolume() - Vol: "
318 << vol->
GetName()<<
" N place = "
323 if ( (topVol != 0) && (topVol != vol)
324 && (topVol->
GetType() !=
"VOLDivision")
325 && (vol->
GetType() !=
"VOLDivision") )
328 "Two world volumes found, second will be taken",
JustWarning,
329 (
G4String(
"Both volumes are at the top of a hierarchy: ")
340 std::pair<G4mmapspl::iterator, G4mmapspl::iterator>
343 std::pair<G4mmapspl::iterator, G4mmapspl::iterator> dite;
352 G4cout <<
" @@@@@@@@@@@@@@@@ DUMPING G4tgrVolume's Tree " <<
G4endl;
363 unsigned int leafDepth)
365 for(
size_t ii=0; ii < leafDepth; ii++ )
370 <<
" copy No " << copyNo <<
G4endl;
373 std::pair<G4mmapspl::iterator, G4mmapspl::iterator> children
375 G4mmapspl::const_iterator cite;
378 for( cite = children.first; cite != children.second; cite++ )
394 G4cout <<
" @@@@@@@@@@@@@@@@@@ Dumping Detector Summary " <<
G4endl;
395 G4cout <<
" @@@ Geometry built inside world volume: "
397 G4cout <<
" Number of G4tgrVolume's: "
399 G4mapsvol::const_iterator cite;
400 unsigned int nPlace = 0;
404 nPlace += ((*cite).second)->GetPlacements().size();
406 G4cout <<
" Number of G4tgrPlace's: " << nPlace <<
G4endl;
409 G4cout <<
" Number of G4tgrIsotope's: "
411 G4cout <<
" Number of G4tgrElement's: "
413 G4cout <<
" Number of G4tgrMaterial's: "
417 G4cout <<
" Number of G4tgrRotationMatrix's: "