Geant4-11
|
#include <G4ParameterisedNavigation.hh>
Public Member Functions | |
void | CheckMode (G4bool mode) |
G4double | ComputeSafety (const G4ThreeVector &localPoint, const G4NavigationHistory &history, const G4double pProposedMaxLength=DBL_MAX) |
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) |
void | EnableBestSafety (G4bool flag=false) |
G4ParameterisedNavigation () | |
G4int | GetVerboseLevel () const |
G4bool | LevelLocate (G4NavigationHistory &history, const G4VPhysicalVolume *blockedVol, const G4int blockedNum, const G4ThreeVector &globalPoint, const G4ThreeVector *globalDirection, const G4bool pLocatedOnEdge, G4ThreeVector &localPoint) |
G4SmartVoxelNode * | ParamVoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) |
void | SetVerboseLevel (G4int level) |
G4SmartVoxelNode * | VoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) |
~G4ParameterisedNavigation () | |
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 | |
G4bool | fBestSafety = false |
G4BlockingList | fBList |
G4bool | fCheck = false |
G4double | fHalfTolerance |
G4NavigationLogger * | fLogger |
G4VoxelSafety * | fpVoxelSafety = nullptr |
std::vector< EAxis > | fVoxelAxisStack |
G4int | fVoxelDepth = -1 |
std::vector< G4SmartVoxelHeader * > | fVoxelHeaderStack |
G4SmartVoxelNode * | fVoxelNode = nullptr |
std::vector< G4int > | fVoxelNodeNoStack |
std::vector< G4int > | fVoxelNoSlicesStack |
std::vector< G4double > | fVoxelSliceWidthStack |
Private Member Functions | |
void | AlongComputeStepLog (const G4VSolid *sampleSolid, const G4ThreeVector &samplePoint, const G4ThreeVector &sampleDirection, const G4ThreeVector &localDirection, G4double sampleSafety, G4double sampleStep) |
void | ComputeSafetyLog (const G4VSolid *solid, const G4ThreeVector &point, G4double safety, G4bool banner) |
G4double | ComputeVoxelSafety (const G4ThreeVector &localPoint, const EAxis pAxis) const |
G4VPhysicalVolume * | CreateVolumeWithParent (G4VPhysicalVolume *curPhysical, const G4NavigationHistory &hist) |
G4VSolid * | IdentifyAndPlaceSolid (G4int num, G4VPhysicalVolume *apparentPhys, G4VPVParameterisation *curParam) |
G4bool | LocateNextVoxel (const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, const G4double currentStep, const EAxis pAxis) |
void | PostComputeStepLog (const G4VSolid *motherSolid, const G4ThreeVector &localPoint, const G4ThreeVector &localDirection, G4double motherStep, G4double motherSafety) |
void | PreComputeStepLog (const G4VPhysicalVolume *motherPhysical, G4double motherSafety, const G4ThreeVector &localPoint) |
void | PrintDaughterLog (const G4VSolid *sampleSolid, const G4ThreeVector &samplePoint, G4double sampleSafety, G4double sampleStep) |
Private Attributes | |
EAxis | fVoxelAxis = kUndefined |
G4SmartVoxelHeader * | fVoxelHeader = nullptr |
size_t | fVoxelNodeNo = 0 |
G4int | fVoxelNoSlices = 0 |
G4double | fVoxelSliceWidth = 0.0 |
Definition at line 54 of file G4ParameterisedNavigation.hh.
G4ParameterisedNavigation::G4ParameterisedNavigation | ( | ) |
Definition at line 56 of file G4ParameterisedNavigation.cc.
G4ParameterisedNavigation::~G4ParameterisedNavigation | ( | ) |
Definition at line 64 of file G4ParameterisedNavigation.cc.
|
privateinherited |
|
inlineinherited |
|
virtual |
Reimplemented from G4VoxelNavigation.
Definition at line 396 of file G4ParameterisedNavigation.cc.
References ComputeVoxelSafety(), G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), fVoxelAxis, fVoxelHeader, G4VoxelNavigation::fVoxelNode, fVoxelNodeNo, fVoxelSliceWidth, G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4SmartVoxelHeader::GetMinExtent(), G4SmartVoxelNode::GetNoContained(), G4SmartVoxelProxy::GetNode(), G4VPhysicalVolume::GetParameterisation(), G4VPhysicalVolume::GetReplicationData(), G4VPhysicalVolume::GetRotation(), G4SmartVoxelHeader::GetSlice(), G4LogicalVolume::GetSolid(), G4VPhysicalVolume::GetTranslation(), G4SmartVoxelNode::GetVolume(), g4zmq::history(), IdentifyAndPlaceSolid(), G4AffineTransform::Invert(), kUndefined, and G4AffineTransform::TransformPoint().
Referenced by G4Navigator::ComputeSafety(), G4ITNavigator1::ComputeSafety(), and G4ITNavigator2::ComputeSafety().
|
privateinherited |
|
virtual |
Reimplemented from G4VoxelNavigation.
Definition at line 72 of file G4ParameterisedNavigation.cc.
References G4BlockingList::BlockVolume(), G4NavigationLogger::CheckAndReportBadNormal(), ComputeVoxelSafety(), DBL_MAX, G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), CLHEP::Hep3Vector::dot(), G4VSolid::DumpInfo(), G4BlockingList::Enlarge(), FatalException, G4VoxelNavigation::fBList, G4VoxelNavigation::fCheck, G4VoxelNavigation::fLogger, G4VoxelNavigation::fVoxelNode, G4cout, G4endl, G4Exception(), G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4VPhysicalVolume::GetName(), G4VSolid::GetName(), G4SmartVoxelNode::GetNoContained(), G4VPhysicalVolume::GetParameterisation(), G4VPhysicalVolume::GetReplicationData(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4VSolid::GetTolerance(), G4VPhysicalVolume::GetTranslation(), G4SmartVoxelNode::GetVolume(), g4zmq::history(), IdentifyAndPlaceSolid(), G4VSolid::Inside(), CLHEP::HepRotation::inverse(), G4AffineTransform::Invert(), G4BlockingList::IsBlocked(), JustWarning, kInfinity, kInside, kMinExitingNormalCosine, kOutside, kSurface, LocateNextVoxel(), G4NavigationLogger::ReportOutsideMother(), G4BlockingList::Reset(), G4AffineTransform::TransformAxis(), and G4AffineTransform::TransformPoint().
Referenced by G4Navigator::ComputeStep(), G4ITNavigator1::ComputeStep(), and G4ITNavigator2::ComputeStep().
|
protectedinherited |
Definition at line 383 of file G4VoxelNavigation.cc.
References G4VoxelNavigation::fVoxelAxisStack, G4VoxelNavigation::fVoxelDepth, G4VoxelNavigation::fVoxelHeaderStack, G4VoxelNavigation::fVoxelNode, G4VoxelNavigation::fVoxelNodeNoStack, G4VoxelNavigation::fVoxelSliceWidthStack, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), and G4INCL::Math::min().
Referenced by G4VoxelNavigation::ComputeSafety(), G4VoxelNavigation::ComputeStep(), and ComputeVoxelSafety().
|
private |
Definition at line 492 of file G4ParameterisedNavigation.cc.
References G4VoxelNavigation::ComputeVoxelSafety(), fVoxelAxis, fVoxelHeader, G4VoxelNavigation::fVoxelNode, fVoxelNodeNo, fVoxelSliceWidth, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), kUndefined, and G4INCL::Math::min().
Referenced by ComputeSafety(), and ComputeStep().
|
private |
|
inlineinherited |
|
inlineinherited |
|
inlineprivate |
Referenced by ComputeSafety(), ComputeStep(), and LevelLocate().
|
virtual |
Reimplemented from G4VoxelNavigation.
Definition at line 602 of file G4ParameterisedNavigation.cc.
References G4AuxiliaryNavServices::CheckPointOnSurface(), G4VPVParameterisation::ComputeMaterial(), G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4SmartVoxelNode::GetNoContained(), G4VPhysicalVolume::GetParameterisation(), G4SmartVoxelNode::GetVolume(), G4LogicalVolume::GetVoxelHeader(), g4zmq::history(), IdentifyAndPlaceSolid(), kParameterised, ParamVoxelLocate(), G4VPhysicalVolume::SetCopyNo(), G4LogicalVolume::SetSolid(), and G4LogicalVolume::UpdateMaterial().
Referenced by G4ITNavigator1::LocateGlobalPointAndSetup(), G4ITNavigator2::LocateGlobalPointAndSetup(), and G4Navigator::LocateGlobalPointAndSetup().
|
protectedinherited |
Definition at line 472 of file G4VoxelNavigation.cc.
References G4VoxelNavigation::fHalfTolerance, G4VoxelNavigation::fVoxelAxisStack, G4VoxelNavigation::fVoxelDepth, G4VoxelNavigation::fVoxelHeaderStack, G4VoxelNavigation::fVoxelNode, G4VoxelNavigation::fVoxelNodeNoStack, G4VoxelNavigation::fVoxelNoSlicesStack, G4VoxelNavigation::fVoxelSliceWidthStack, G4SmartVoxelHeader::GetAxis(), G4SmartVoxelProxy::GetHeader(), G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), G4SmartVoxelProxy::GetNode(), and G4SmartVoxelProxy::IsNode().
Referenced by G4VoxelNavigation::ComputeStep(), and LocateNextVoxel().
|
private |
Definition at line 540 of file G4ParameterisedNavigation.cc.
References fVoxelAxis, fVoxelHeader, G4VoxelNavigation::fVoxelNode, fVoxelNodeNo, fVoxelSliceWidth, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), G4SmartVoxelProxy::GetNode(), G4SmartVoxelHeader::GetNoSlices(), G4SmartVoxelHeader::GetSlice(), kUndefined, and G4VoxelNavigation::LocateNextVoxel().
Referenced by ComputeStep().
|
inline |
|
privateinherited |
|
privateinherited |
|
inlineprivateinherited |
|
inherited |
Definition at line 767 of file G4VoxelNavigation.cc.
References G4VoxelNavigation::fLogger, G4VoxelNavigation::fpVoxelSafety, G4NavigationLogger::SetVerboseLevel(), and G4VoxelSafety::SetVerboseLevel().
Referenced by G4VoxelNavigation::G4VoxelNavigation().
|
inherited |
|
protectedinherited |
|
protectedinherited |
Definition at line 186 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeSafety().
|
protectedinherited |
Definition at line 146 of file G4VoxelNavigation.hh.
Referenced by ComputeStep(), and G4VoxelNavigation::ComputeStep().
|
protectedinherited |
Definition at line 185 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeSafety(), ComputeStep(), and G4VoxelNavigation::ComputeStep().
|
protectedinherited |
Definition at line 182 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::G4VoxelNavigation(), and G4VoxelNavigation::LocateNextVoxel().
|
protectedinherited |
Definition at line 188 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeSafety(), ComputeStep(), G4VoxelNavigation::ComputeStep(), G4VoxelNavigation::G4VoxelNavigation(), G4VoxelNavigation::SetVerboseLevel(), and G4VoxelNavigation::~G4VoxelNavigation().
|
protectedinherited |
Definition at line 179 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeSafety(), G4VoxelNavigation::G4VoxelNavigation(), G4VoxelNavigation::SetVerboseLevel(), and G4VoxelNavigation::~G4VoxelNavigation().
|
private |
Definition at line 114 of file G4ParameterisedNavigation.hh.
Referenced by ComputeSafety(), ComputeVoxelSafety(), and LocateNextVoxel().
|
protectedinherited |
Definition at line 157 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeVoxelSafety(), and G4VoxelNavigation::LocateNextVoxel().
|
protectedinherited |
Definition at line 153 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeVoxelSafety(), and G4VoxelNavigation::LocateNextVoxel().
|
private |
Definition at line 118 of file G4ParameterisedNavigation.hh.
Referenced by ComputeSafety(), ComputeVoxelSafety(), and LocateNextVoxel().
|
protectedinherited |
Definition at line 169 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeVoxelSafety(), and G4VoxelNavigation::LocateNextVoxel().
|
protectedinherited |
Definition at line 172 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeSafety(), ComputeSafety(), ComputeStep(), G4VoxelNavigation::ComputeStep(), G4VoxelNavigation::ComputeVoxelSafety(), ComputeVoxelSafety(), G4VoxelNavigation::LocateNextVoxel(), and LocateNextVoxel().
|
private |
Definition at line 117 of file G4ParameterisedNavigation.hh.
Referenced by ComputeSafety(), ComputeVoxelSafety(), and LocateNextVoxel().
|
protectedinherited |
Definition at line 166 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeVoxelSafety(), and G4VoxelNavigation::LocateNextVoxel().
|
private |
Definition at line 115 of file G4ParameterisedNavigation.hh.
|
protectedinherited |
Definition at line 160 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::LocateNextVoxel().
|
private |
Definition at line 116 of file G4ParameterisedNavigation.hh.
Referenced by ComputeSafety(), ComputeVoxelSafety(), and LocateNextVoxel().
|
protectedinherited |
Definition at line 163 of file G4VoxelNavigation.hh.
Referenced by G4VoxelNavigation::ComputeVoxelSafety(), and G4VoxelNavigation::LocateNextVoxel().