Geant4
10.03
|
#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 |
G4SmartVoxelProxy * | GetSlice (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 () |
G4ProxyVector * | BuildNodes (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) |
Definition at line 78 of file G4SmartVoxelHeader.hh.
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().
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.
G4bool G4SmartVoxelHeader::AllSlicesEqual | ( | ) | const |
Definition at line 1281 of file G4SmartVoxelHeader.cc.
References fslices.
|
protected |
Definition at line 395 of file G4SmartVoxelHeader.cc.
References FatalException, fslices, and G4Exception().
Referenced by BuildReplicaVoxels().
|
protected |
Definition at line 583 of file G4SmartVoxelHeader.cc.
References fslices, G4SmartVoxelNode::SetMaxEquivalentSliceNo(), and G4SmartVoxelNode::SetMinEquivalentSliceNo().
Referenced by BuildReplicaVoxels(), and BuildVoxelsWithinLimits().
|
protected |
Definition at line 750 of file G4SmartVoxelHeader.cc.
References G4VSolid::CalculateExtent(), G4VSolid::ComputeDimensions(), G4VPVParameterisation::ComputeSolid(), G4VPVParameterisation::ComputeTransformation(), FatalException, G4cout, G4endl, G4Exception(), G4LogicalVolume::GetDaughter(), G4VPhysicalVolume::GetLogicalVolume(), G4VoxelLimits::GetMaxExtent(), G4VoxelLimits::GetMinExtent(), G4VPhysicalVolume::GetName(), G4LogicalVolume::GetName(), G4LogicalVolume::GetNoDaughters(), G4VPhysicalVolume::GetParameterisation(), G4VPhysicalVolume::GetRotation(), G4LogicalVolume::GetSmartless(), G4LogicalVolume::GetSolid(), G4VPhysicalVolume::GetTranslation(), G4VoxelLimits::IsLimited(), G4VPhysicalVolume::IsReplicated(), kInfinity, kMaxVoxelNodes, and width.
Referenced by BuildReplicaVoxels(), and BuildVoxelsWithinLimits().
|
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().
|
protected |
Definition at line 247 of file G4SmartVoxelHeader.cc.
References BuildVoxelsWithinLimits(), and G4LogicalVolume::GetNoDaughters().
Referenced by G4SmartVoxelHeader().
|
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().
|
protected |
Definition at line 1073 of file G4SmartVoxelHeader.cc.
References FatalException, G4cout, G4endl, G4Exception(), G4SmartVoxelNode::GetNoContained(), and kInfinity.
Referenced by BuildVoxelsWithinLimits().
|
protected |
Definition at line 677 of file G4SmartVoxelHeader.cc.
References fslices, G4cout, G4endl, G4SmartVoxelProxy::GetHeader(), GetMaxEquivalentSliceNo(), and G4SmartVoxelProxy::IsHeader().
|
protected |
Definition at line 630 of file G4SmartVoxelHeader.cc.
References fslices, G4cout, G4endl, G4SmartVoxelNode::GetMaxEquivalentSliceNo(), and G4SmartVoxelProxy::GetNode().
Referenced by BuildReplicaVoxels(), and BuildVoxelsWithinLimits().
EAxis G4SmartVoxelHeader::GetAxis | ( | ) | const |
Referenced by G4DrawVoxels::ComputeVoxelPolyhedra(), G4VoxelNavigation::LocateNextVoxel(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
G4int G4SmartVoxelHeader::GetMaxEquivalentSliceNo | ( | ) | const |
Referenced by CollectEquivalentHeaders(), G4DrawVoxels::ComputeVoxelPolyhedra(), and G4VoxelSafety::SafetyForVoxelHeader().
G4double G4SmartVoxelHeader::GetMaxExtent | ( | ) | const |
Referenced by G4DrawVoxels::ComputeVoxelPolyhedra(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
G4int G4SmartVoxelHeader::GetMinEquivalentSliceNo | ( | ) | const |
G4double G4SmartVoxelHeader::GetMinExtent | ( | ) | const |
Referenced by G4ParameterisedNavigation::ComputeSafety(), G4DrawVoxels::ComputeVoxelPolyhedra(), G4ParameterisedNavigation::ComputeVoxelSafety(), G4VoxelNavigation::ComputeVoxelSafety(), G4ParameterisedNavigation::LocateNextVoxel(), G4VoxelNavigation::LocateNextVoxel(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
G4int G4SmartVoxelHeader::GetNoSlices | ( | ) | const |
Referenced by G4DrawVoxels::ComputeVoxelPolyhedra(), G4SmartVoxelStat::CountHeadsAndNodes(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
EAxis G4SmartVoxelHeader::GetParamAxis | ( | ) | const |
G4SmartVoxelProxy* G4SmartVoxelHeader::GetSlice | ( | G4int | n | ) | const |
Referenced by G4ParameterisedNavigation::ComputeSafety(), G4DrawVoxels::ComputeVoxelPolyhedra(), G4SmartVoxelStat::CountHeadsAndNodes(), G4ParameterisedNavigation::LocateNextVoxel(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
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().
|
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().
void G4SmartVoxelHeader::SetMaxEquivalentSliceNo | ( | G4int | pMax | ) |
void G4SmartVoxelHeader::SetMinEquivalentSliceNo | ( | G4int | pMin | ) |
|
friend |
Definition at line 1304 of file G4SmartVoxelHeader.cc.
|
protected |
Definition at line 191 of file G4SmartVoxelHeader.hh.
Referenced by BuildReplicaVoxels(), BuildVoxelsWithinLimits(), operator<<(), and RefineNodes().
|
protected |
Definition at line 188 of file G4SmartVoxelHeader.hh.
|
protected |
Definition at line 194 of file G4SmartVoxelHeader.hh.
Referenced by BuildReplicaVoxels(), BuildVoxelsWithinLimits(), and RefineNodes().
|
protected |
Definition at line 187 of file G4SmartVoxelHeader.hh.
|
protected |
Definition at line 195 of file G4SmartVoxelHeader.hh.
Referenced by BuildReplicaVoxels(), BuildVoxelsWithinLimits(), and RefineNodes().
|
protected |
Definition at line 191 of file G4SmartVoxelHeader.hh.
Referenced by BuildReplicaVoxels().
|
protected |
Definition at line 198 of file G4SmartVoxelHeader.hh.
Referenced by AllSlicesEqual(), BuildConsumedNodes(), BuildEquivalentSliceNos(), BuildReplicaVoxels(), BuildVoxelsWithinLimits(), CollectEquivalentHeaders(), CollectEquivalentNodes(), operator<<(), RefineNodes(), and ~G4SmartVoxelHeader().