Geant4
10.02.p02
|
#include <G4VoxelNavigation.hh>
Public Member Functions | |
G4VoxelNavigation () | |
virtual | ~G4VoxelNavigation () |
G4SmartVoxelNode * | VoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) |
virtual G4bool | LevelLocate (G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint) |
virtual G4double | ComputeStep (const G4ThreeVector &globalPoint, const G4ThreeVector &globalDirection, const G4double currentProposedStepLength, G4double &newSafety, G4NavigationHistory &history, G4bool &validExitNormal, G4ThreeVector &exitNormal, G4bool &exiting, G4bool &entering, G4VPhysicalVolume *(*pBlockedPhysical), G4int &blockedReplicaNo) |
virtual G4double | ComputeSafety (const G4ThreeVector &globalpoint, const G4NavigationHistory &history, const G4double pMaxLength=DBL_MAX) |
G4int | GetVerboseLevel () const |
void | SetVerboseLevel (G4int level) |
void | CheckMode (G4bool mode) |
void | EnableBestSafety (G4bool flag=false) |
Protected Member Functions | |
G4double | ComputeVoxelSafety (const G4ThreeVector &localPoint) const |
G4bool | LocateNextVoxel (const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentStep) |
G4SmartVoxelNode * | VoxelLocateLight (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) const |
Protected Attributes | |
G4BlockingList | fBList |
G4int | fVoxelDepth |
std::vector< EAxis > | fVoxelAxisStack |
std::vector< G4int > | fVoxelNoSlicesStack |
std::vector< G4double > | fVoxelSliceWidthStack |
std::vector< G4int > | fVoxelNodeNoStack |
std::vector< G4SmartVoxelHeader * > | fVoxelHeaderStack |
G4SmartVoxelNode * | fVoxelNode |
G4VoxelSafety * | fpVoxelSafety |
G4double | fHalfTolerance |
G4bool | fCheck |
G4bool | fBestSafety |
G4NavigationLogger * | fLogger |
Private Member Functions | |
void | PreComputeStepLog (const G4VPhysicalVolume *motherPhysical, G4double motherSafety, const G4ThreeVector &localPoint) |
void | AlongComputeStepLog (const G4VSolid *sampleSolid, const G4ThreeVector &samplePoint, const G4ThreeVector &sampleDirection, const G4ThreeVector &localDirection, G4double sampleSafety, G4double sampleStep) |
void | PostComputeStepLog (const G4VSolid *motherSolid, const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, G4double motherStep, G4double motherSafety) |
void | ComputeSafetyLog (const G4VSolid *solid, const G4ThreeVector &point, G4double safety, G4bool banner) |
void | PrintDaughterLog (const G4VSolid *sampleSolid, const G4ThreeVector &samplePoint, G4double sampleSafety, G4double sampleStep) |
Definition at line 67 of file G4VoxelNavigation.hh.
G4VoxelNavigation::G4VoxelNavigation | ( | ) |
Definition at line 47 of file G4VoxelNavigation.cc.
References fHalfTolerance, fLogger, fpVoxelSafety, G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and SetVerboseLevel().
|
virtual |
Definition at line 69 of file G4VoxelNavigation.cc.
References fLogger, and fpVoxelSafety.
|
private |
|
inline |
|
virtual |
Reimplemented in G4ParameterisedNavigation.
Definition at line 669 of file G4VoxelNavigation.cc.
References G4VoxelSafety::ComputeSafety(), G4NavigationLogger::ComputeSafetyLog(), ComputeVoxelSafety(), G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), fBestSafety, fCheck, fLogger, fpVoxelSafety, fVoxelNode, G4endl, G4Exception(), G4VPhysicalVolume::GetCopyNo(), G4LogicalVolume::GetDaughter(), G4VSolid::GetEntityType(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4VPhysicalVolume::GetName(), G4SmartVoxelNode::GetNoContained(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4NavigationHistory::GetTopVolume(), G4VPhysicalVolume::GetTranslation(), G4SmartVoxelNode::GetVolume(), G4VSolid::Inside(), G4AffineTransform::Invert(), JustWarning, kInside, kOutside, and G4AffineTransform::TransformPoint().
Referenced by G4Navigator::ComputeSafety(), G4ITNavigator1::ComputeSafety(), and G4ITNavigator2::ComputeSafety().
|
private |
|
virtual |
Reimplemented in G4ParameterisedNavigation.
Definition at line 80 of file G4VoxelNavigation.cc.
References G4NavigationLogger::AlongComputeStepLog(), G4BlockingList::BlockVolume(), G4NavigationLogger::CheckAndReportBadNormal(), G4NavigationLogger::CheckDaughterEntryPoint(), ComputeVoxelSafety(), DBL_MAX, G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), G4BlockingList::Enlarge(), fBList, fCheck, fLogger, fVoxelNode, G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4SmartVoxelNode::GetNoContained(), G4LogicalVolume::GetNoDaughters(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4NavigationHistory::GetTopVolume(), G4VPhysicalVolume::GetTranslation(), G4SmartVoxelNode::GetVolume(), G4AffineTransform::Invert(), G4BlockingList::IsBlocked(), kInfinity, kMinExitingNormalCosine, LocateNextVoxel(), G4NavigationLogger::PostComputeStepLog(), G4NavigationLogger::PreComputeStepLog(), G4NavigationLogger::PrintDaughterLog(), G4NavigationLogger::ReportOutsideMother(), G4BlockingList::Reset(), and G4AffineTransform::TransformPoint().
Referenced by G4Navigator::ComputeStep(), G4ITNavigator1::ComputeStep(), and G4ITNavigator2::ComputeStep().
|
protected |
Definition at line 409 of file G4VoxelNavigation.cc.
References fVoxelAxisStack, fVoxelDepth, fVoxelHeaderStack, fVoxelNode, fVoxelNodeNoStack, fVoxelSliceWidthStack, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), and G4INCL::Math::min().
Referenced by ComputeSafety(), ComputeStep(), and G4ParameterisedNavigation::ComputeVoxelSafety().
|
inline |
|
inline |
|
virtual |
Reimplemented in G4ParameterisedNavigation.
Referenced by G4Navigator::LocateGlobalPointAndSetup(), G4ITNavigator1::LocateGlobalPointAndSetup(), and G4ITNavigator2::LocateGlobalPointAndSetup().
|
protected |
Definition at line 497 of file G4VoxelNavigation.cc.
References fHalfTolerance, fVoxelAxisStack, fVoxelDepth, fVoxelHeaderStack, fVoxelNode, fVoxelNodeNoStack, fVoxelNoSlicesStack, fVoxelSliceWidthStack, G4SmartVoxelHeader::GetAxis(), G4SmartVoxelProxy::GetHeader(), G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), G4SmartVoxelProxy::GetNode(), and G4SmartVoxelProxy::IsNode().
Referenced by ComputeStep(), and G4ParameterisedNavigation::LocateNextVoxel().
|
private |
|
private |
|
inlineprivate |
void G4VoxelNavigation::SetVerboseLevel | ( | G4int | level | ) |
Definition at line 794 of file G4VoxelNavigation.cc.
References fLogger, fpVoxelSafety, G4VoxelSafety::SetVerboseLevel(), and G4NavigationLogger::SetVerboseLevel().
Referenced by G4VoxelNavigation().
G4SmartVoxelNode* G4VoxelNavigation::VoxelLocate | ( | G4SmartVoxelHeader * | pHead, |
const G4ThreeVector & | localPoint | ||
) |
Referenced by G4Navigator::LocateGlobalPointWithinVolume(), G4ITNavigator1::LocateGlobalPointWithinVolume(), and G4ITNavigator2::LocateGlobalPointWithinVolume().
|
protected |
|
protected |
Definition at line 190 of file G4VoxelNavigation.hh.
Referenced by ComputeSafety().
|
protected |
Definition at line 150 of file G4VoxelNavigation.hh.
Referenced by G4ParameterisedNavigation::ComputeStep(), and ComputeStep().
|
protected |
Definition at line 189 of file G4VoxelNavigation.hh.
Referenced by ComputeSafety(), G4ParameterisedNavigation::ComputeStep(), and ComputeStep().
|
protected |
Definition at line 186 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation(), and LocateNextVoxel().
|
protected |
Definition at line 192 of file G4VoxelNavigation.hh.
Referenced by ComputeSafety(), G4ParameterisedNavigation::ComputeStep(), ComputeStep(), G4VoxelNavigation(), SetVerboseLevel(), and ~G4VoxelNavigation().
|
protected |
Definition at line 183 of file G4VoxelNavigation.hh.
Referenced by ComputeSafety(), G4VoxelNavigation(), SetVerboseLevel(), and ~G4VoxelNavigation().
|
protected |
Definition at line 161 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 157 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 173 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 176 of file G4VoxelNavigation.hh.
Referenced by G4ParameterisedNavigation::ComputeSafety(), ComputeSafety(), G4ParameterisedNavigation::ComputeStep(), ComputeStep(), G4ParameterisedNavigation::ComputeVoxelSafety(), ComputeVoxelSafety(), G4ParameterisedNavigation::LocateNextVoxel(), and LocateNextVoxel().
|
protected |
Definition at line 170 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().
|
protected |
Definition at line 164 of file G4VoxelNavigation.hh.
Referenced by LocateNextVoxel().
|
protected |
Definition at line 167 of file G4VoxelNavigation.hh.
Referenced by ComputeVoxelSafety(), and LocateNextVoxel().