Geant4  10.02.p03
G4ITNavigator1.cc File Reference
#include <iomanip>
#include "G4ITNavigator1.hh"
#include "G4ios.hh"
#include "G4SystemOfUnits.hh"
#include "G4GeometryTolerance.hh"
#include "G4VPhysicalVolume.hh"
#include "G4VoxelSafety.hh"
Include dependency graph for G4ITNavigator1.cc:

Go to the source code of this file.

Macros

#define G4DEBUG_NAVIGATION   1
 
#define G4NEW_SAFETY   1
 

Functions

std::ostream & operator<< (std::ostream &os, const G4ITNavigator1 &n)
 

Macro Definition Documentation

◆ G4DEBUG_NAVIGATION

#define G4DEBUG_NAVIGATION   1

Definition at line 53 of file G4ITNavigator1.cc.

◆ G4NEW_SAFETY

#define G4NEW_SAFETY   1

Definition at line 1681 of file G4ITNavigator1.cc.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  os,
const G4ITNavigator1 n 
)

Definition at line 2003 of file G4ITNavigator1.cc.

2004 {
2005  // Old version did only the following:
2006  // os << "Current History: " << G4endl << n.fHistory;
2007  // Old behaviour is recovered for fVerbose = 0
2008 
2009  // Adapted from G4ITNavigator1::PrintState() const
2010 
2011  G4int oldcoutPrec = os.precision(4);
2012  if( n.fVerbose >= 4 )
2013  {
2014  os << "The current state of G4ITNavigator1 is: " << G4endl;
2015  os << " ValidExitNormal= " << n.fValidExitNormal << G4endl
2016  << " ExitNormal = " << n.fExitNormal << G4endl
2017  << " Exiting = " << n.fExiting << G4endl
2018  << " Entering = " << n.fEntering << G4endl
2019  << " BlockedPhysicalVolume= " ;
2020  if (n.fBlockedPhysicalVolume==0)
2021  os << "None";
2022  else
2023  os << n.fBlockedPhysicalVolume->GetName();
2024  os << G4endl
2025  << " BlockedReplicaNo = " << n.fBlockedReplicaNo << G4endl
2026  << " LastStepWasZero = " << n.fLastStepWasZero << G4endl
2027  << G4endl;
2028  }
2029  if( ( 1 < n.fVerbose) && (n.fVerbose < 4) )
2030  {
2031  os << G4endl; // Make sure to line up
2032  os << std::setw(30) << " ExitNormal " << " "
2033  << std::setw( 5) << " Valid " << " "
2034  << std::setw( 9) << " Exiting " << " "
2035  << std::setw( 9) << " Entering" << " "
2036  << std::setw(15) << " Blocked:Volume " << " "
2037  << std::setw( 9) << " ReplicaNo" << " "
2038  << std::setw( 8) << " LastStepZero " << " "
2039  << G4endl;
2040  os << "( " << std::setw(7) << n.fExitNormal.x()
2041  << ", " << std::setw(7) << n.fExitNormal.y()
2042  << ", " << std::setw(7) << n.fExitNormal.z() << " ) "
2043  << std::setw( 5) << n.fValidExitNormal << " "
2044  << std::setw( 9) << n.fExiting << " "
2045  << std::setw( 9) << n.fEntering << " ";
2046  if ( n.fBlockedPhysicalVolume==0 )
2047  { os << std::setw(15) << "None"; }
2048  else
2049  { os << std::setw(15)<< n.fBlockedPhysicalVolume->GetName(); }
2050  os << std::setw( 9) << n.fBlockedReplicaNo << " "
2051  << std::setw( 8) << n.fLastStepWasZero << " "
2052  << G4endl;
2053  }
2054  if( n.fVerbose > 2 )
2055  {
2056  os.precision(8);
2057  os << " Current Localpoint = " << n.fLastLocatedPointLocal << G4endl;
2058  os << " PreviousSftOrigin = " << n.fPreviousSftOrigin << G4endl;
2059  os << " PreviousSafety = " << n.fPreviousSafety << G4endl;
2060  }
2061  if( n.fVerbose > 3 || n.fVerbose == 0 )
2062  {
2063  os << "Current History: " << G4endl << n.fHistory;
2064  }
2065 
2066  os.precision(oldcoutPrec);
2067  return os;
2068 }
G4ThreeVector fExitNormal
G4double fPreviousSafety
int G4int
Definition: G4Types.hh:78
G4NavigationHistory fHistory
G4ThreeVector fPreviousSftOrigin
double x() const
const G4String & GetName() const
double y() const
G4ThreeVector fLastLocatedPointLocal
double z() const
#define G4endl
Definition: G4ios.hh:61
G4VPhysicalVolume * fBlockedPhysicalVolume
Here is the call graph for this function: