69 if(
this == &rhs)
return *
this;
87 std::list<ResNode>::erase(begin(),end());
92 std::list<ResNode>::push_back(
ResNode(pos,node));
97 std::list<ResNode>::erase(begin(),end());
108 return std::list<ResNode>::size();
113 return std::list<ResNode>::size();
134 memcpy(pos, (*fIterator).GetNode()->GetPosition(),
fTree->
GetDim() *
sizeof *
pos);
135 return (*fIterator).GetNode()->GetData();
140 x = (*fIterator).GetNode()->GetPosition()[0];
141 y = (*fIterator).GetNode()->GetPosition()[1];
142 z = (*fIterator).GetNode()->GetPosition()[2];
144 return (*fIterator).GetNode()->GetData();
149 dist_sq = (*fIterator).GetDistanceSqr();
150 return (*fIterator).GetNode()->GetData();
155 dist_sq = (*fIterator).GetDistanceSqr();
161 return (*fIterator).GetNode()->GetData();
166 return (*fIterator).GetDistanceSqr();
ResNode(const ResNode &right)
bool CompareResNode(const ResNode &left, const ResNode &right)
bool operator<(const ResNode &right) const
G4KDTree is used by the ITManager to locate the neareast neighbours.
virtual ~G4KDTreeResult()
G4KDTreeResult(G4KDTree *)
ResNode & operator=(const ResNode &rhs)
void Insert(double, G4KDNode *)
G4KDNode stores one entity in G4KDTree This class is for internal use only.
std::list< ResNode >::iterator fIterator
ResNode(double distsqr, G4KDNode *node)
void * GetItem(double *&)
static const G4double pos
void * GetItemNDistanceSQ(double &)