60 G4Exception(
"G4TransportationManager::G4TransportationManager()",
62 "Only ONE instance of G4TransportationManager is allowed!");
148 std::vector<G4Navigator*>::iterator pNav;
175 wPV->GetTranslation(),
176 wLV, worldName, 0,
false, 0);
193 std::vector<G4Navigator*>::iterator pNav;
196 if ((*pNav)->GetWorldVolume()->GetName() == worldName) {
return *pNav; }
213 =
"World volume with name -" + worldName
214 +
"- does not exist. Create it first by GetParallelWorld() method!";
215 G4Exception(
"G4TransportationManager::GetNavigator(name)",
231 std::vector<G4Navigator*>::iterator pNav;
234 if ((*pNav)->GetWorldVolume() == aWorld) {
return *pNav; }
237 std::vector<G4VPhysicalVolume*>::iterator pWorld =
248 =
"World volume with name -" + aWorld->
GetName()
249 +
"- does not exist. Create it first by GetParallelWorld() method!";
250 G4Exception(
"G4TransportationManager::GetNavigator(pointer)",
269 G4Exception(
"G4TransportationManager::DeRegisterNavigator()",
271 "The navigator for tracking CANNOT be deregistered!");
273 std::vector<G4Navigator*>::iterator pNav =
289 +
"- not found in memory!";
290 G4Exception(
"G4TransportationManager::DeRegisterNavigator()",
306 std::vector<G4Navigator*>::iterator pNav =
312 +
"- not found in memory!";
313 G4Exception(
"G4TransportationManager::ActivateNavigator()",
320 std::vector<G4Navigator*>::iterator pActiveNav;
324 if (*pActiveNav == aNavigator) {
return id; }
341 std::vector<G4Navigator*>::iterator pNav =
345 (*pNav)->Activate(
false);
351 +
"- not found in memory!";
352 G4Exception(
"G4TransportationManager::DeActivateNavigator()",
356 std::vector<G4Navigator*>::iterator pActiveNav =
372 std::vector<G4Navigator*>::iterator pNav;
375 (*pNav)->Activate(
false);
394 std::vector<G4VPhysicalVolume*>::iterator pWorld =
fWorlds.begin();
395 if (*pWorld==0) { *pWorld=
fNavigators[0]->GetWorldVolume(); }
399 if ((*pWorld)->GetName() ==
name ) {
return *pWorld; }
415 std::vector<G4VPhysicalVolume*>::iterator pWorld =
434 std::vector<G4VPhysicalVolume*>::iterator pWorld =
443 =
"World volume -" + aWorld->
GetName() +
"- not found in memory!";
444 G4Exception(
"G4TransportationManager::DeRegisterWorld()",
459 std::vector<G4Navigator*>::iterator pNav =
fNavigators.begin();
463 if (*pNav != trackingNavigator) {
delete *pNav; }
G4VPhysicalVolume * IsWorldExisting(const G4String &worldName)
void SetNavigatorForPropagating(G4Navigator *SimpleOrMultiNavigator)
G4TransportationManager()
G4Navigator * GetNavigatorForTracking() const
void SetFieldManager(G4FieldManager *newFieldManager)
std::vector< G4VPhysicalVolume * > fWorlds
G4PropagatorInField * fPropagatorInField
std::vector< G4Navigator * > fActiveNavigators
~G4TransportationManager()
const G4String & GetName() const
void DeActivateNavigator(G4Navigator *aNavigator)
void Activate(G4bool flag)
void DeRegisterNavigator(G4Navigator *aNavigator)
G4GeometryMessenger * fGeomMessenger
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
static G4TransportationManager * GetTransportationManager()
void ClearParallelWorlds()
G4FieldManager * fFieldManager
G4VPhysicalVolume * GetParallelWorld(const G4String &worldName)
G4int ActivateNavigator(G4Navigator *aNavigator)
G4LogicalVolume * GetLogicalVolume() const
G4Navigator * GetNavigator(const G4String &worldName)
G4SafetyHelper * fSafetyHelper
void SetWorldVolume(G4VPhysicalVolume *pWorld)
static G4ThreadLocal G4TransportationManager * fTransportationManager
void DeRegisterWorld(G4VPhysicalVolume *aWorld)
std::vector< G4Navigator * > fNavigators
G4bool RegisterWorld(G4VPhysicalVolume *aWorld)
void SetNavigatorForTracking(G4Navigator *newNavigator)
G4VPhysicalVolume * GetWorldVolume() const
G4VSolid * GetSolid() const