Geant4  10.03
G4SmartVoxelHeader Class Reference

#include <G4SmartVoxelHeader.hh>

Public Member Functions

 G4SmartVoxelHeader (G4LogicalVolume *pVolume, G4int pSlice=0)
 
 ~G4SmartVoxelHeader ()
 
G4int GetMaxEquivalentSliceNo () const
 
void SetMaxEquivalentSliceNo (G4int pMax)
 
G4int GetMinEquivalentSliceNo () const
 
void SetMinEquivalentSliceNo (G4int pMin)
 
EAxis GetAxis () const
 
EAxis GetParamAxis () const
 
G4double GetMaxExtent () const
 
G4double GetMinExtent () const
 
G4int GetNoSlices () const
 
G4SmartVoxelProxyGetSlice (G4int n) const
 
G4bool AllSlicesEqual () const
 
G4bool operator== (const G4SmartVoxelHeader &pHead) const
 
 G4SmartVoxelHeader (G4LogicalVolume *pVolume, const G4VoxelLimits &pLimits, const G4VolumeNosVector *pCandidates, G4int pSlice=0)
 

Protected Member Functions

void BuildVoxels (G4LogicalVolume *pVolume)
 
void BuildReplicaVoxels (G4LogicalVolume *pVolume)
 
void BuildConsumedNodes (G4int nReplicas)
 
void BuildVoxelsWithinLimits (G4LogicalVolume *pVolume, G4VoxelLimits pLimits, const G4VolumeNosVector *pCandidates)
 
void BuildEquivalentSliceNos ()
 
void CollectEquivalentNodes ()
 
void CollectEquivalentHeaders ()
 
G4ProxyVectorBuildNodes (G4LogicalVolume *pVolume, G4VoxelLimits pLimits, const G4VolumeNosVector *pCandidates, EAxis pAxis)
 
G4double CalculateQuality (G4ProxyVector *pSlice)
 
void RefineNodes (G4LogicalVolume *pVolume, G4VoxelLimits pLimits)
 

Protected Attributes

G4int fminEquivalent
 
G4int fmaxEquivalent
 
EAxis faxis
 
EAxis fparamAxis
 
G4double fmaxExtent
 
G4double fminExtent
 
G4ProxyVector fslices
 

Friends

std::ostream & operator<< (std::ostream &s, const G4SmartVoxelHeader &h)
 

Detailed Description

Definition at line 78 of file G4SmartVoxelHeader.hh.

Constructor & Destructor Documentation

G4SmartVoxelHeader::G4SmartVoxelHeader ( G4LogicalVolume pVolume,
G4int  pSlice = 0 
)

Definition at line 66 of file G4SmartVoxelHeader.cc.

References BuildReplicaVoxels(), BuildVoxels(), G4LogicalVolume::GetDaughter(), G4LogicalVolume::GetNoDaughters(), and G4VPhysicalVolume::IsReplicated().

Referenced by RefineNodes().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4SmartVoxelHeader::~G4SmartVoxelHeader ( )

Definition at line 127 of file G4SmartVoxelHeader.cc.

References fslices.

G4SmartVoxelHeader::G4SmartVoxelHeader ( G4LogicalVolume pVolume,
const G4VoxelLimits pLimits,
const G4VolumeNosVector pCandidates,
G4int  pSlice = 0 
)

Definition at line 100 of file G4SmartVoxelHeader.cc.

References BuildVoxelsWithinLimits(), G4cout, and G4endl.

+ Here is the call graph for this function:

Member Function Documentation

G4bool G4SmartVoxelHeader::AllSlicesEqual ( ) const

Definition at line 1281 of file G4SmartVoxelHeader.cc.

References fslices.

void G4SmartVoxelHeader::BuildConsumedNodes ( G4int  nReplicas)
protected

Definition at line 395 of file G4SmartVoxelHeader.cc.

References FatalException, fslices, and G4Exception().

Referenced by BuildReplicaVoxels().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SmartVoxelHeader::BuildEquivalentSliceNos ( )
protected

Definition at line 583 of file G4SmartVoxelHeader.cc.

References fslices, G4SmartVoxelNode::SetMaxEquivalentSliceNo(), and G4SmartVoxelNode::SetMinEquivalentSliceNo().

Referenced by BuildReplicaVoxels(), and BuildVoxelsWithinLimits().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SmartVoxelHeader::BuildReplicaVoxels ( G4LogicalVolume pVolume)
protected

Definition at line 267 of file G4SmartVoxelHeader.cc.

References BuildConsumedNodes(), BuildEquivalentSliceNos(), BuildNodes(), BuildVoxelsWithinLimits(), G4VSolid::CalculateExtent(), CollectEquivalentNodes(), emax, FatalException, faxis, fmaxExtent, fminExtent, fparamAxis, fslices, G4endl, G4Exception(), G4LogicalVolume::GetDaughter(), G4LogicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), G4VPhysicalVolume::GetReplicationData(), G4LogicalVolume::GetSolid(), G4VPhysicalVolume::IsReplicated(), kInfinity, kPhi, kRho, kUndefined, kXAxis, kYAxis, kZAxis, and width.

Referenced by G4SmartVoxelHeader().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SmartVoxelHeader::BuildVoxels ( G4LogicalVolume pVolume)
protected

Definition at line 247 of file G4SmartVoxelHeader.cc.

References BuildVoxelsWithinLimits(), and G4LogicalVolume::GetNoDaughters().

Referenced by G4SmartVoxelHeader().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SmartVoxelHeader::BuildVoxelsWithinLimits ( G4LogicalVolume pVolume,
G4VoxelLimits  pLimits,
const G4VolumeNosVector pCandidates 
)
protected

Definition at line 443 of file G4SmartVoxelHeader.cc.

References BuildEquivalentSliceNos(), BuildNodes(), G4VSolid::CalculateExtent(), CalculateQuality(), CollectEquivalentNodes(), FatalException, faxis, fmaxExtent, fminExtent, fslices, G4cout, G4endl, G4Exception(), G4LogicalVolume::GetName(), G4LogicalVolume::GetSolid(), G4VoxelLimits::IsLimited(), kInfinity, kXAxis, kYAxis, kZAxis, and RefineNodes().

Referenced by BuildReplicaVoxels(), BuildVoxels(), and G4SmartVoxelHeader().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

G4double G4SmartVoxelHeader::CalculateQuality ( G4ProxyVector pSlice)
protected

Definition at line 1073 of file G4SmartVoxelHeader.cc.

References FatalException, G4cout, G4endl, G4Exception(), G4SmartVoxelNode::GetNoContained(), and kInfinity.

Referenced by BuildVoxelsWithinLimits().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SmartVoxelHeader::CollectEquivalentHeaders ( )
protected

Definition at line 677 of file G4SmartVoxelHeader.cc.

References fslices, G4cout, G4endl, G4SmartVoxelProxy::GetHeader(), GetMaxEquivalentSliceNo(), and G4SmartVoxelProxy::IsHeader().

+ Here is the call graph for this function:

void G4SmartVoxelHeader::CollectEquivalentNodes ( )
protected

Definition at line 630 of file G4SmartVoxelHeader.cc.

References fslices, G4cout, G4endl, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), and G4SmartVoxelProxy::GetNode().

Referenced by BuildReplicaVoxels(), and BuildVoxelsWithinLimits().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

EAxis G4SmartVoxelHeader::GetAxis ( ) const

Referenced by G4DrawVoxels::ComputeVoxelPolyhedra(), G4VoxelNavigation::LocateNextVoxel(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().

+ Here is the caller graph for this function:

G4int G4SmartVoxelHeader::GetMaxEquivalentSliceNo ( ) const

Referenced by CollectEquivalentHeaders(), G4DrawVoxels::ComputeVoxelPolyhedra(), and G4VoxelSafety::SafetyForVoxelHeader().

+ Here is the caller graph for this function:

G4double G4SmartVoxelHeader::GetMaxExtent ( ) const

Referenced by G4DrawVoxels::ComputeVoxelPolyhedra(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().

+ Here is the caller graph for this function:

G4int G4SmartVoxelHeader::GetMinEquivalentSliceNo ( ) const

Referenced by G4VoxelSafety::SafetyForVoxelHeader().

+ Here is the caller graph for this function:

G4double G4SmartVoxelHeader::GetMinExtent ( ) const
G4int G4SmartVoxelHeader::GetNoSlices ( ) const

Referenced by G4DrawVoxels::ComputeVoxelPolyhedra(), G4SmartVoxelStat::CountHeadsAndNodes(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().

+ Here is the caller graph for this function:

EAxis G4SmartVoxelHeader::GetParamAxis ( ) const
G4SmartVoxelProxy* G4SmartVoxelHeader::GetSlice ( G4int  n) const

Referenced by G4ParameterisedNavigation::ComputeSafety(), G4DrawVoxels::ComputeVoxelPolyhedra(), G4SmartVoxelStat::CountHeadsAndNodes(), G4ParameterisedNavigation::LocateNextVoxel(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().

+ Here is the caller graph for this function:

G4bool G4SmartVoxelHeader::operator== ( const G4SmartVoxelHeader pHead) const

Definition at line 183 of file G4SmartVoxelHeader.cc.

References GetAxis(), G4SmartVoxelProxy::GetHeader(), GetMaxExtent(), GetMinExtent(), G4SmartVoxelProxy::GetNode(), GetNoSlices(), GetSlice(), G4SmartVoxelProxy::IsHeader(), and G4SmartVoxelProxy::IsNode().

+ Here is the call graph for this function:

void G4SmartVoxelHeader::RefineNodes ( G4LogicalVolume pVolume,
G4VoxelLimits  pLimits 
)
protected

Definition at line 1139 of file G4SmartVoxelHeader.cc.

References G4VoxelLimits::AddLimit(), FatalException, faxis, fmaxExtent, fminExtent, fslices, G4cout, G4endl, G4Exception(), G4SmartVoxelHeader(), G4SmartVoxelNode::GetMaxEquivalentSliceNo(), G4SmartVoxelNode::GetMinEquivalentSliceNo(), G4SmartVoxelNode::GetNoContained(), G4SmartVoxelProxy::GetNode(), G4SmartVoxelNode::GetVolume(), G4VoxelLimits::IsXLimited(), G4VoxelLimits::IsYLimited(), G4VoxelLimits::IsZLimited(), kMinVoxelVolumesLevel2, kMinVoxelVolumesLevel3, SetMaxEquivalentSliceNo(), and SetMinEquivalentSliceNo().

Referenced by BuildVoxelsWithinLimits().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void G4SmartVoxelHeader::SetMaxEquivalentSliceNo ( G4int  pMax)

Referenced by RefineNodes().

+ Here is the caller graph for this function:

void G4SmartVoxelHeader::SetMinEquivalentSliceNo ( G4int  pMin)

Referenced by RefineNodes().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const G4SmartVoxelHeader h 
)
friend

Definition at line 1304 of file G4SmartVoxelHeader.cc.

Member Data Documentation

EAxis G4SmartVoxelHeader::faxis
protected
G4int G4SmartVoxelHeader::fmaxEquivalent
protected

Definition at line 188 of file G4SmartVoxelHeader.hh.

G4double G4SmartVoxelHeader::fmaxExtent
protected

Definition at line 194 of file G4SmartVoxelHeader.hh.

Referenced by BuildReplicaVoxels(), BuildVoxelsWithinLimits(), and RefineNodes().

G4int G4SmartVoxelHeader::fminEquivalent
protected

Definition at line 187 of file G4SmartVoxelHeader.hh.

G4double G4SmartVoxelHeader::fminExtent
protected

Definition at line 195 of file G4SmartVoxelHeader.hh.

Referenced by BuildReplicaVoxels(), BuildVoxelsWithinLimits(), and RefineNodes().

EAxis G4SmartVoxelHeader::fparamAxis
protected

Definition at line 191 of file G4SmartVoxelHeader.hh.

Referenced by BuildReplicaVoxels().


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