|
Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
|
G4SmartVoxelHeader represents a set of voxels, created by a single axis of virtual division. It contains the individual voxels, which are potentially further divided along different axes. More...
#include <G4SmartVoxelHeader.hh>
Public Member Functions | |
| G4SmartVoxelHeader (G4LogicalVolume *pVolume, G4int pSlice=0) | |
| G4SmartVoxelHeader (G4LogicalVolume *pVolume, const G4VoxelLimits &pLimits, const G4VolumeNosVector *pCandidates, G4int pSlice=0) | |
| ~G4SmartVoxelHeader () | |
| G4bool | operator== (const G4SmartVoxelHeader &pHead) const |
| 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 |
| std::size_t | GetNoSlices () const |
| G4SmartVoxelProxy * | GetSlice (std::size_t n) const |
| G4bool | AllSlicesEqual () const |
Friends | |
| std::ostream & | operator<< (std::ostream &s, const G4SmartVoxelHeader &h) |
G4SmartVoxelHeader represents a set of voxels, created by a single axis of virtual division. It contains the individual voxels, which are potentially further divided along different axes.
Definition at line 80 of file G4SmartVoxelHeader.hh.
| G4SmartVoxelHeader::G4SmartVoxelHeader | ( | G4LogicalVolume * | pVolume, |
| G4int | pSlice = 0 ) |
Constructor for the topmost header, to begin voxel construction at a given logical volume; 'pSlice' is used to set max and min equivalent slice numbers for the header - they apply to the level of the header, not its nodes.
| [in] | pVolume | Pointer to the logical volume to voxelise. |
| [in] | pSlice | Max & min equivalent slice numbers for the header. |
Definition at line 59 of file G4SmartVoxelHeader.cc.
Referenced by operator<<, operator==(), and ~G4SmartVoxelHeader().
| G4SmartVoxelHeader::G4SmartVoxelHeader | ( | G4LogicalVolume * | pVolume, |
| const G4VoxelLimits & | pLimits, | ||
| const G4VolumeNosVector * | pCandidates, | ||
| G4int | pSlice = 0 ) |
Constructor for building and refine voxels between specified limits, considering only the physical volumes numbered 'pCandidates'; 'pSlice' is used to set max and min equivalent slice numbers for the header; they apply to the level of the header, not its nodes.
| [in] | pVolume | Pointer to the logical volume to voxelise. |
| [in] | pLimits | Refinement limits for building the voxels. |
| [in] | pCandidates | Candidate volumes to be considered. |
| [in] | pSlice | Max & min equivalent slice numbers for the header. |
Definition at line 91 of file G4SmartVoxelHeader.cc.
| G4SmartVoxelHeader::~G4SmartVoxelHeader | ( | ) |
Destructor. Deletes all referenced nodes [but not the referenced physical volumes].
Definition at line 117 of file G4SmartVoxelHeader.cc.
| G4bool G4SmartVoxelHeader::AllSlicesEqual | ( | ) | const |
Returns true if all slices are equal (after collection).
Definition at line 1247 of file G4SmartVoxelHeader.cc.
| EAxis G4SmartVoxelHeader::GetAxis | ( | ) | const |
Returns the current division axis.
Referenced by G4VoxelNavigation::LocateNextVoxel(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
| G4int G4SmartVoxelHeader::GetMaxEquivalentSliceNo | ( | ) | const |
Access functions for min/max equivalent slices (nodes & headers).
Referenced by G4VoxelSafety::SafetyForVoxelHeader().
| G4double G4SmartVoxelHeader::GetMaxExtent | ( | ) | const |
Returns the maximum coordinate limit along the current axis.
Referenced by operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
| G4int G4SmartVoxelHeader::GetMinEquivalentSliceNo | ( | ) | const |
Referenced by G4VoxelSafety::SafetyForVoxelHeader().
| G4double G4SmartVoxelHeader::GetMinExtent | ( | ) | const |
Returns the minimum coordinate limit along the current axis.
Referenced by G4VoxelNavigation::ComputeVoxelSafety(), G4VoxelNavigation::LocateNextVoxel(), operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
| std::size_t G4SmartVoxelHeader::GetNoSlices | ( | ) | const |
Returns the number of slices along the current axis.
Referenced by operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
| EAxis G4SmartVoxelHeader::GetParamAxis | ( | ) | const |
Returns the suggested division axis for parameterised volume.
| G4SmartVoxelProxy * G4SmartVoxelHeader::GetSlice | ( | std::size_t | n | ) | const |
Returns the pointer to the proxy for the n-th slice (numbering from 0, no bounds checking is performed).
Referenced by operator==(), and G4VoxelSafety::SafetyForVoxelHeader().
| G4bool G4SmartVoxelHeader::operator== | ( | const G4SmartVoxelHeader & | pHead | ) | const |
Equality operator.
Definition at line 173 of file G4SmartVoxelHeader.cc.
| void G4SmartVoxelHeader::SetMaxEquivalentSliceNo | ( | G4int | pMax | ) |
| void G4SmartVoxelHeader::SetMinEquivalentSliceNo | ( | G4int | pMin | ) |
|
friend |
Streaming operator.
Definition at line 1270 of file G4SmartVoxelHeader.cc.