59 stream <<
"(" << rhs.
x <<
", " << rhs.
y <<
", " << rhs.
z <<
")";
64 return x == rhs.
x &&
y == rhs.
y &&
z == rhs.
z;
68 return x != rhs.
x ||
y != rhs.
y ||
z != rhs.
z;
72 return {
x + rhs.
x,
y + rhs.
y,
z + rhs.
z };
77 using MapList = std::map<MolType, size_t>;
103 return (xhi - xlo) * (yhi - ylo) * (zhi - zlo);
139 VoxelMap::const_iterator
end()
const {
return fMesh.end(); }
140 VoxelMap::const_iterator
begin()
const {
return fMesh.begin(); }
static const G4double pos
void PrintVoxel(const Index &index)
void SetVoxelMapList(const Key &key, G4Voxel::MapList &&mapList)
VoxelMap::const_iterator end() const
VoxelMap::const_iterator begin() const
G4double GetResolution() const
Key GetKey(const G4ThreeVector &pos) const
std::vector< Index > FindNeighboringVoxels(const Index &index) const
G4Voxel * GetVoxel(Key key)
std::vector< Index > FindVoxelNeighbors(const Index &index) const
G4Voxel::MapList & GetVoxelMapList(Key key)
const G4DNABoundingBox * fpBoundingMesh
std::map< Key, G4Voxel * > VoxelMap
const G4DNABoundingBox & GetBoundingBox() const
VoxelMap::iterator begin()
G4int GetNumberOfType(G4Voxel::MolType type) const
Index GetIndex(Key key) const
G4DNAMesh(const G4DNABoundingBox &, G4int)
G4double GetVolume() const
const Index & GetIndex() const
void SetMapList(MapList &&mapList)
std::map< MolType, size_t > MapList
G4Voxel(MapList &&list, Index &index, G4DNABoundingBox &&box)
G4bool operator==(const Index &rhs) const
G4bool operator!=(const Index &rhs) const
Index operator+(const Index &rhs) const
friend std::ostream & operator<<(std::ostream &stream, const Index &rhs)
Index(int x0, int y0, int z0)