65 G4TransportationManager::GetTransportationManager()->
66 GetNavigatorForTracking();
69 if ( theNavigator->GetWorldVolume() )
70 fNavigator->SetWorldVolume(theNavigator->GetWorldVolume());
75 G4TouchableHandle touchable =
fNavigator->CreateTouchableHistoryHandle();
77 G4int depth = touchable->GetHistoryDepth();
78 for (G4int i = 0; i<depth; ++i) {
79 if(touchable->GetVolume()->GetLogicalVolume() ==
fVolume)
break;
80 touchable->MoveUpHistory();
87 G4double local[4], global[4];
89 G4ThreeVector globalPosition;
91 for (G4int i=0; i<2; ++i) {
92 local[0] = (i==0 ? -1.0 : 1.0) *
GetWidth()/2.;
93 for (G4int j=0; j<2; ++j) {
94 local[1] = (j==0 ? -1.0 : 1.0) *
GetHeight()/2.;
95 for (G4int k=0; k<2; ++k) {
96 local[2] = (k==0 ? -1.0 : 1.0) *
GetLength()/2.;
97 G4ThreeVector localPosition(local[0],local[1],local[2]);
100 global[0] = globalPosition.x();
101 global[1] = globalPosition.y();
102 global[2] = globalPosition.z();
114 if(color.size() > 0 &&
115 (isdigit(color.c_str()[0]) || color.c_str()[0] ==
'.')) {
116 G4double red=0.0, green=0.0, blue=0.0;
117 if (sscanf(color.c_str(),
"%lf,%lf,%lf",&red,&green,&blue) == 3) {
120 G4cout <<
" Invalid color " << color << G4endl;
125 p->SetDaughtersInvisible(
false);