Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4ITNavigator2::G4NavigatorState Struct Reference

#include <G4ITNavigator2.hh>

+ Inheritance diagram for G4ITNavigator2::G4NavigatorState:

Public Member Functions

 G4NavigatorState ()
 
 G4NavigatorState (const G4NavigatorState &)
 
 ~G4NavigatorState () override
 
G4NavigatorStateoperator= (const G4NavigatorState &)
 
G4NavigatorStateoperator= (const G4SaveNavigatorState &)
 
void ResetState ()
 
void ResetStack ()
 
void ResetStackAndState ()
 
- Public Member Functions inherited from G4ITNavigatorState_Lock2
virtual ~G4ITNavigatorState_Lock2 ()=default
 

Public Attributes

G4NavigationHistory fHistory
 
G4bool fEnteredDaughter
 
G4bool fExitedMother
 
G4bool fWasLimitedByGeometry
 
G4ThreeVector fStepEndPoint
 
G4ThreeVector fLastStepEndPointLocal
 
G4bool fPushed
 

Friends

class G4ITNavigator2
 
struct G4SaveNavigatorState
 
std::ostream & operator<< (std::ostream &os, const G4ITNavigator2 &n)
 

Additional Inherited Members

- Protected Member Functions inherited from G4ITNavigatorState_Lock2
 G4ITNavigatorState_Lock2 ()=default
 

Detailed Description

Definition at line 415 of file G4ITNavigator2.hh.

Constructor & Destructor Documentation

◆ G4NavigatorState() [1/2]

G4ITNavigator2::G4NavigatorState::G4NavigatorState ( )

Definition at line 38 of file G4ITNavigatorState2.cc.

◆ G4NavigatorState() [2/2]

G4ITNavigator2::G4NavigatorState::G4NavigatorState ( const G4NavigatorState & rhs)

Definition at line 80 of file G4ITNavigatorState2.cc.

81{
82 fExitNormal = rhs.fExitNormal;
83 fValidExitNormal = rhs.fValidExitNormal;
84 fExiting = rhs.fExiting;
85 fEntering = rhs.fEntering;
86
87 fBlockedPhysicalVolume = rhs.fBlockedPhysicalVolume;
88 fBlockedReplicaNo = rhs.fBlockedReplicaNo,
89
90 fLastStepWasZero = rhs.fLastStepWasZero;
91
92 fLocatedOutsideWorld = rhs.fLocatedOutsideWorld;
93 fLastLocatedPointLocal = rhs.fLastLocatedPointLocal;
94 fEnteredDaughter = rhs.fEnteredDaughter;
95 fExitedMother = rhs.fExitedMother;
96 fWasLimitedByGeometry = rhs.fWasLimitedByGeometry;
97
98 fPreviousSftOrigin = rhs.fPreviousSftOrigin;
99 fPreviousSafety = rhs.fPreviousSafety;
100
101 fLastTriedStepComputation = rhs.fLastTriedStepComputation;
102 fChangedGrandMotherRefFrame = rhs.fChangedGrandMotherRefFrame;
103 fCalculatedExitNormal = rhs.fCalculatedExitNormal;
104
105 fNumberZeroSteps = rhs.fNumberZeroSteps;
106 fLocatedOnEdge = rhs.fLocatedOnEdge;
107 fPushed = rhs.fPushed;
108 fNumberZeroSteps = rhs.fNumberZeroSteps;
109}
#define fWasLimitedByGeometry
#define fExiting
#define fLocatedOutsideWorld
#define fBlockedReplicaNo
#define fLocatedOnEdge
#define fLastLocatedPointLocal
#define fValidExitNormal
#define fChangedGrandMotherRefFrame
#define fBlockedPhysicalVolume
#define fCalculatedExitNormal
#define fNumberZeroSteps
#define fPreviousSftOrigin
#define fEnteredDaughter
#define fPushed
#define fExitNormal
#define fExitedMother
#define fLastStepWasZero
#define fPreviousSafety
#define fEntering
#define fLastTriedStepComputation

◆ ~G4NavigatorState()

G4ITNavigator2::G4NavigatorState::~G4NavigatorState ( )
inlineoverride

Definition at line 419 of file G4ITNavigator2.hh.

420 { ;}

Member Function Documentation

◆ operator=() [1/2]

G4ITNavigator2::G4NavigatorState & G4ITNavigator2::G4NavigatorState::operator= ( const G4NavigatorState & rhs)

Definition at line 112 of file G4ITNavigatorState2.cc.

113{
114 if (this == &rhs) return *this;
115 fExitNormal = rhs.fExitNormal;
116 fValidExitNormal = rhs.fValidExitNormal;
117 fExiting = rhs.fExiting;
118 fEntering = rhs.fEntering;
119
120 fBlockedPhysicalVolume = rhs.fBlockedPhysicalVolume;
121 fBlockedReplicaNo = rhs.fBlockedReplicaNo;
122 fCalculatedExitNormal = rhs.fCalculatedExitNormal;
123
124 fLastStepWasZero = rhs.fLastStepWasZero;
125 fLastTriedStepComputation = rhs.fLastTriedStepComputation;
126 fChangedGrandMotherRefFrame = rhs.fChangedGrandMotherRefFrame;
127
128 fPreviousSftOrigin = rhs.fPreviousSftOrigin;
129 fPreviousSafety = rhs.fPreviousSafety;
130 fNumberZeroSteps = rhs.fNumberZeroSteps;
131 fLocatedOnEdge = rhs.fLocatedOnEdge;
132 fWasLimitedByGeometry = rhs.fWasLimitedByGeometry;
133 fPushed = rhs.fPushed;
134 fNumberZeroSteps = rhs.fNumberZeroSteps;
135 fEnteredDaughter = rhs.fEnteredDaughter;
136 fExitedMother = rhs.fExitedMother;
137
138 fLastLocatedPointLocal = rhs.fLastLocatedPointLocal;
139 fLocatedOutsideWorld = rhs.fLocatedOutsideWorld;
140
141 return *this;
142}

Referenced by operator=(), and operator=().

◆ operator=() [2/2]

G4ITNavigator2::G4NavigatorState & G4ITNavigator2::G4NavigatorState::operator= ( const G4SaveNavigatorState & rhs)

Definition at line 200 of file G4ITNavigatorState2.cc.

201{
202 fExitNormal = rhs.sExitNormal;
203 fValidExitNormal = rhs.sValidExitNormal;
204 fExiting = rhs.sExiting;
205 fEntering = rhs.sEntering;
206
207 fBlockedPhysicalVolume = rhs.spBlockedPhysicalVolume;
208 fBlockedReplicaNo = rhs.sBlockedReplicaNo;
209// fCalculatedExitNormal = rhs.sCalculatedExitNormal;
210
211 fLastStepWasZero = (rhs.sLastStepWasZero != 0);
212// fLastTriedStepComputation =rhs.sLastTriedStepComputation;
213// fChangedGrandMotherRefFrame = rhs.sChangedGrandMotherRefFrame;
214
215 fPreviousSftOrigin = rhs.sPreviousSftOrigin;
216 fPreviousSafety = rhs.sPreviousSafety;
217// fNumberZeroSteps = rhs.sNumberZeroSteps;
218// fLocatedOnEdge = rhs.sLocatedOnEdge;
219// fPushed = rhs.sPushed;
220 fWasLimitedByGeometry = rhs.sWasLimitedByGeometry;
221
222 fEnteredDaughter = rhs.sEnteredDaughter;
223 fExitedMother = rhs.sExitedMother;
224
225 fLastLocatedPointLocal = rhs.sLastLocatedPointLocal;
226 fLocatedOutsideWorld = rhs.sLocatedOutsideWorld;
227 return *this;
228}

◆ ResetStack()

void G4ITNavigator2::G4NavigatorState::ResetStack ( )

Definition at line 43 of file G4ITNavigatorState2.cc.

44{
45 fHistory.Reset();
46}
#define fHistory

Referenced by ResetStack().

◆ ResetStackAndState()

void G4ITNavigator2::G4NavigatorState::ResetStackAndState ( )

◆ ResetState()

void G4ITNavigator2::G4NavigatorState::ResetState ( )

Definition at line 48 of file G4ITNavigatorState2.cc.

49{
54 fEntering = false;
55 fExiting = false;
56 fLocatedOnEdge = false;
57 fLastStepWasZero = false;
58 fEnteredDaughter = false;
59 fExitedMother = false;
60 fPushed = false;
61
62 fValidExitNormal = false;
63 fExitNormal = G4ThreeVector(0, 0, 0);
64
66 fPreviousSafety = 0.0;
67
69
70 fStepEndPoint = G4ThreeVector(kInfinity, kInfinity, kInfinity);
71 fLastStepEndPointLocal = G4ThreeVector(kInfinity, kInfinity, kInfinity);
72
73 fBlockedPhysicalVolume = nullptr;
75
76 fLastLocatedPointLocal = G4ThreeVector(kInfinity, -kInfinity, 0.0);
78}
#define fLastStepEndPointLocal
#define fStepEndPoint
CLHEP::Hep3Vector G4ThreeVector

Referenced by ResetState().

Friends And Related Symbol Documentation

◆ G4ITNavigator2

friend class G4ITNavigator2
friend

Definition at line 457 of file G4ITNavigator2.hh.

◆ G4SaveNavigatorState

friend struct G4SaveNavigatorState
friend

Definition at line 461 of file G4ITNavigator2.hh.

◆ operator<<

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

Definition at line 2429 of file G4ITNavigator2.cc.

2430{
2431 // Old version did only the following:
2432 // os << "Current History: " << G4endl << n.fHistory;
2433 // Old behaviour is recovered for fVerbose = 0
2434
2435 // Adapted from G4ITNavigator2::PrintState() const
2436
2437 G4long oldcoutPrec = os.precision(4);
2438 if( n.fVerbose >= 4 )
2439 {
2440 os << "The current state of G4ITNavigator2 is: " << G4endl;
2441 os << " ValidExitNormal= " << n.fValidExitNormal << G4endl
2442 << " ExitNormal = " << n.fExitNormal << G4endl
2443 << " Exiting = " << n.fExiting << G4endl
2444 << " Entering = " << n.fEntering << G4endl
2445 << " BlockedPhysicalVolume= " ;
2446
2447 if (n.fBlockedPhysicalVolume==nullptr)
2448 {
2449 os << "None";
2450 }
2451 else
2452 {
2453 os << n.fBlockedPhysicalVolume->GetName();
2454 }
2455
2456 os << G4endl
2457 << " BlockedReplicaNo = " << n.fBlockedReplicaNo << G4endl
2458 << " LastStepWasZero = " << n.fLastStepWasZero << G4endl
2459 << G4endl;
2460 }
2461 if( ( 1 < n.fVerbose) && (n.fVerbose < 4) )
2462 {
2463 os << G4endl; // Make sure to line up
2464 os << std::setw(30) << " ExitNormal " << " "
2465 << std::setw( 5) << " Valid " << " "
2466 << std::setw( 9) << " Exiting " << " "
2467 << std::setw( 9) << " Entering" << " "
2468 << std::setw(15) << " Blocked:Volume " << " "
2469 << std::setw( 9) << " ReplicaNo" << " "
2470 << std::setw( 8) << " LastStepZero " << " "
2471 << G4endl;
2472 os << "( " << std::setw(7) << n.fExitNormal.x()
2473 << ", " << std::setw(7) << n.fExitNormal.y()
2474 << ", " << std::setw(7) << n.fExitNormal.z() << " ) "
2475 << std::setw( 5) << n.fValidExitNormal << " "
2476 << std::setw( 9) << n.fExiting << " "
2477 << std::setw( 9) << n.fEntering << " ";
2478
2479 if ( n.fBlockedPhysicalVolume==nullptr )
2480 { os << std::setw(15) << "None"; }
2481 else
2482 { os << std::setw(15)<< n.fBlockedPhysicalVolume->GetName(); }
2483
2484 os << std::setw( 9) << n.fBlockedReplicaNo << " "
2485 << std::setw( 8) << n.fLastStepWasZero << " "
2486 << G4endl;
2487 }
2488 if( n.fVerbose > 2 )
2489 {
2490 os.precision(8);
2491 os << " Current Localpoint = " << n.fLastLocatedPointLocal << G4endl;
2492 os << " PreviousSftOrigin = " << n.fPreviousSftOrigin << G4endl;
2493 os << " PreviousSafety = " << n.fPreviousSafety << G4endl;
2494 }
2495 if( n.fVerbose > 3 || n.fVerbose == 0 )
2496 {
2497 os << "Current History: " << G4endl << n.fHistory;
2498 }
2499
2500 os.precision(oldcoutPrec);
2501 return os;
2502}
long G4long
Definition G4Types.hh:87
#define G4endl
Definition G4ios.hh:67

Member Data Documentation

◆ fEnteredDaughter

G4bool G4ITNavigator2::G4NavigatorState::fEnteredDaughter

◆ fExitedMother

G4bool G4ITNavigator2::G4NavigatorState::fExitedMother

◆ fHistory

G4NavigationHistory G4ITNavigator2::G4NavigatorState::fHistory

Definition at line 429 of file G4ITNavigator2.hh.

◆ fLastStepEndPointLocal

G4ThreeVector G4ITNavigator2::G4NavigatorState::fLastStepEndPointLocal

Definition at line 449 of file G4ITNavigator2.hh.

◆ fPushed

G4bool G4ITNavigator2::G4NavigatorState::fPushed

Definition at line 453 of file G4ITNavigator2.hh.

Referenced by G4NavigatorState(), and operator=().

◆ fStepEndPoint

G4ThreeVector G4ITNavigator2::G4NavigatorState::fStepEndPoint

Definition at line 446 of file G4ITNavigator2.hh.

◆ fWasLimitedByGeometry

G4bool G4ITNavigator2::G4NavigatorState::fWasLimitedByGeometry

The documentation for this struct was generated from the following files: