60 G4Exception(
"G4TransportationManager::G4TransportationManager()",
62 "Only ONE instance of G4TransportationManager is allowed!");
154 std::vector<G4Navigator*>::iterator pNav;
181 wPV->GetTranslation(),
182 wLV, worldName, 0,
false, 0);
199 std::vector<G4Navigator*>::iterator pNav;
202 if ((*pNav)->GetWorldVolume()->GetName() == worldName) {
return *pNav; }
219 =
"World volume with name -" + worldName
220 +
"- does not exist. Create it first by GetParallelWorld() method!";
221 G4Exception(
"G4TransportationManager::GetNavigator(name)",
237 std::vector<G4Navigator*>::iterator pNav;
240 if ((*pNav)->GetWorldVolume() == aWorld) {
return *pNav; }
243 std::vector<G4VPhysicalVolume*>::iterator pWorld =
254 =
"World volume with name -" + aWorld->
GetName()
255 +
"- does not exist. Create it first by GetParallelWorld() method!";
256 G4Exception(
"G4TransportationManager::GetNavigator(pointer)",
275 G4Exception(
"G4TransportationManager::DeRegisterNavigator()",
277 "The navigator for tracking CANNOT be deregistered!");
279 std::vector<G4Navigator*>::iterator pNav =
295 +
"- not found in memory!";
296 G4Exception(
"G4TransportationManager::DeRegisterNavigator()",
312 std::vector<G4Navigator*>::iterator pNav =
318 +
"- not found in memory!";
319 G4Exception(
"G4TransportationManager::ActivateNavigator()",
326 std::vector<G4Navigator*>::iterator pActiveNav;
330 if (*pActiveNav == aNavigator) {
return id; }
347 std::vector<G4Navigator*>::iterator pNav =
351 (*pNav)->Activate(
false);
357 +
"- not found in memory!";
358 G4Exception(
"G4TransportationManager::DeActivateNavigator()",
362 std::vector<G4Navigator*>::iterator pActiveNav =
378 std::vector<G4Navigator*>::iterator pNav;
381 (*pNav)->Activate(
false);
400 std::vector<G4VPhysicalVolume*>::iterator pWorld =
fWorlds.begin();
401 if (*pWorld==0) { *pWorld=
fNavigators[0]->GetWorldVolume(); }
405 if ((*pWorld)->GetName() ==
name ) {
return *pWorld; }
421 std::vector<G4VPhysicalVolume*>::iterator pWorld =
440 std::vector<G4VPhysicalVolume*>::iterator pWorld =
449 =
"World volume -" + aWorld->
GetName() +
"- not found in memory!";
450 G4Exception(
"G4TransportationManager::DeRegisterWorld()",
465 std::vector<G4Navigator*>::iterator pNav =
fNavigators.begin();
469 if (*pNav != trackingNavigator) {
delete *pNav; }
G4LogicalVolume * GetLogicalVolume() const
static G4TransportationManager * GetInstanceIfExist()
void message(RunManager *runmanager)
G4Navigator * GetNavigatorForTracking() const
G4VPhysicalVolume * GetParallelWorld(const G4String &worldName)
G4GeometryMessenger * fGeomMessenger
void SetFieldManager(G4FieldManager *newFieldManager)
void DeRegisterWorld(G4VPhysicalVolume *aWorld)
G4VPhysicalVolume * IsWorldExisting(const G4String &worldName)
void SetNavigatorForPropagating(G4Navigator *SimpleOrMultiNavigator)
void ClearParallelWorlds()
G4TransportationManager()
G4SafetyHelper * fSafetyHelper
G4bool RegisterWorld(G4VPhysicalVolume *aWorld)
void SetWorldVolume(G4VPhysicalVolume *pWorld)
std::vector< G4Navigator * > fActiveNavigators
static G4TransportationManager * GetTransportationManager()
G4Navigator * GetNavigator(const G4String &worldName)
~G4TransportationManager()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
G4FieldManager * fFieldManager
G4int ActivateNavigator(G4Navigator *aNavigator)
std::vector< G4VPhysicalVolume * > fWorlds
G4VSolid * GetSolid() const
G4PropagatorInField * fPropagatorInField
void SetNavigatorForTracking(G4Navigator *newNavigator)
void Activate(G4bool flag)
void DeRegisterNavigator(G4Navigator *aNavigator)
G4VPhysicalVolume * GetWorldVolume() const
void DeActivateNavigator(G4Navigator *aNavigator)
static G4ThreadLocal G4TransportationManager * fTransportationManager
const G4String & GetName() const
std::vector< G4Navigator * > fNavigators