Geant4
10.01.p02
|
#include <G4VoxelSafety.hh>
Public Member Functions | |
G4VoxelSafety () | |
~G4VoxelSafety () | |
G4SmartVoxelNode * | VoxelLocate (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) |
G4double | ComputeSafety (const G4ThreeVector &localPoint, const G4VPhysicalVolume ¤tPhysical, G4double maxLength=DBL_MAX) |
G4int | GetVerboseLevel () const |
void | SetVerboseLevel (G4int level) |
Protected Member Functions | |
G4double | SafetyForVoxelHeader (const G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint, G4double maxLength, const G4VPhysicalVolume ¤tPhysical, G4double distUpperDepth=0.0, G4double previousMinSafety=DBL_MAX) |
G4double | SafetyForVoxelNode (const G4SmartVoxelNode *curVoxelNode, const G4ThreeVector &localPoint) |
G4SmartVoxelNode * | VoxelLocateLight (G4SmartVoxelHeader *pHead, const G4ThreeVector &localPoint) const |
Private Attributes | |
G4BlockingList | fBlockList |
G4LogicalVolume * | fpMotherLogical |
G4int | fVoxelDepth |
std::vector< EAxis > | fVoxelAxisStack |
std::vector< G4int > | fVoxelNoSlicesStack |
std::vector< G4double > | fVoxelSliceWidthStack |
std::vector< G4int > | fVoxelNodeNoStack |
std::vector< const G4SmartVoxelHeader * > | fVoxelHeaderStack |
G4SmartVoxelNode * | fVoxelNode |
G4bool | fCheck |
G4int | fVerbose |
G4double | kCarTolerance |
Definition at line 56 of file G4VoxelSafety.hh.
G4VoxelSafety::G4VoxelSafety | ( | ) |
Definition at line 45 of file G4VoxelSafety.cc.
References G4GeometryTolerance::GetInstance(), G4GeometryTolerance::GetSurfaceTolerance(), and kCarTolerance.
G4VoxelSafety::~G4VoxelSafety | ( | ) |
Definition at line 65 of file G4VoxelSafety.cc.
G4double G4VoxelSafety::ComputeSafety | ( | const G4ThreeVector & | localPoint, |
const G4VPhysicalVolume & | currentPhysical, | ||
G4double | maxLength = DBL_MAX |
||
) |
Definition at line 78 of file G4VoxelSafety.cc.
References G4VSolid::DistanceToIn(), G4VSolid::DistanceToOut(), G4BlockingList::Enlarge(), FatalException, fBlockList, fCheck, fpMotherLogical, fVerbose, fVoxelDepth, G4cout, G4endl, G4Exception(), G4VPhysicalVolume::GetCopyNo(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), G4LogicalVolume::GetSolid(), G4LogicalVolume::GetVoxelHeader(), G4VSolid::Inside(), kInside, kOutside, G4INCL::Math::min(), G4BlockingList::Reset(), and SafetyForVoxelHeader().
Referenced by G4VoxelNavigation::ComputeSafety(), G4Navigator::ComputeSafety(), G4ITNavigator1::ComputeSafety(), and G4ITNavigator2::ComputeSafety().
|
inline |
Definition at line 70 of file G4VoxelSafety.hh.
References fVerbose.
|
protected |
Definition at line 220 of file G4VoxelSafety.cc.
References DBL_MAX, FatalException, fVerbose, fVoxelAxisStack, fVoxelDepth, fVoxelHeaderStack, fVoxelNodeNoStack, fVoxelNoSlicesStack, fVoxelSliceWidthStack, G4cout, G4endl, G4Exception(), G4SmartVoxelHeader::GetAxis(), G4VSolid::GetEntityType(), G4SmartVoxelProxy::GetHeader(), G4VPhysicalVolume::GetLogicalVolume(), G4SmartVoxelHeader::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelHeader::GetMaxExtent(), G4SmartVoxelHeader::GetMinEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelHeader::GetMinExtent(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), G4SmartVoxelProxy::GetNode(), G4SmartVoxelHeader::GetNoSlices(), G4SmartVoxelHeader::GetSlice(), G4LogicalVolume::GetSolid(), G4SmartVoxelProxy::IsNode(), JustWarning, G4INCL::Math::max(), G4INCL::Math::min(), minSafety, and SafetyForVoxelNode().
Referenced by ComputeSafety().
|
protected |
Definition at line 164 of file G4VoxelSafety.cc.
References G4BlockingList::BlockVolume(), DBL_MAX, G4VSolid::DistanceToIn(), fBlockList, fCheck, fpMotherLogical, fVerbose, G4cout, G4endl, G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4VSolid::GetName(), G4SmartVoxelNode::GetNoContained(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSolid(), G4VPhysicalVolume::GetTranslation(), G4SmartVoxelNode::GetVolume(), G4AffineTransform::Invert(), G4BlockingList::IsBlocked(), G4INCL::Math::min(), and G4AffineTransform::TransformPoint().
Referenced by SafetyForVoxelHeader().
|
inline |
Definition at line 71 of file G4VoxelSafety.hh.
References fVerbose.
Referenced by G4VoxelNavigation::SetVerboseLevel().
G4SmartVoxelNode* G4VoxelSafety::VoxelLocate | ( | G4SmartVoxelHeader * | pHead, |
const G4ThreeVector & | localPoint | ||
) |
|
protected |
|
private |
Definition at line 94 of file G4VoxelSafety.hh.
Referenced by ComputeSafety(), and SafetyForVoxelNode().
|
private |
Definition at line 126 of file G4VoxelSafety.hh.
Referenced by ComputeSafety(), and SafetyForVoxelNode().
|
private |
Definition at line 97 of file G4VoxelSafety.hh.
Referenced by ComputeSafety(), and SafetyForVoxelNode().
|
private |
Definition at line 127 of file G4VoxelSafety.hh.
Referenced by ComputeSafety(), GetVerboseLevel(), SafetyForVoxelHeader(), SafetyForVoxelNode(), and SetVerboseLevel().
|
private |
Definition at line 105 of file G4VoxelSafety.hh.
Referenced by SafetyForVoxelHeader().
|
private |
Definition at line 101 of file G4VoxelSafety.hh.
Referenced by ComputeSafety(), and SafetyForVoxelHeader().
|
private |
Definition at line 117 of file G4VoxelSafety.hh.
Referenced by SafetyForVoxelHeader().
|
private |
Definition at line 120 of file G4VoxelSafety.hh.
|
private |
Definition at line 114 of file G4VoxelSafety.hh.
Referenced by SafetyForVoxelHeader().
|
private |
Definition at line 108 of file G4VoxelSafety.hh.
Referenced by SafetyForVoxelHeader().
|
private |
Definition at line 111 of file G4VoxelSafety.hh.
Referenced by SafetyForVoxelHeader().
|
private |
Definition at line 128 of file G4VoxelSafety.hh.
Referenced by G4VoxelSafety().