76void* G4KDTree::operator
new(size_t)
84void G4KDTree::operator
delete(
void* aNode)
132 size_t Nnodes =
fKDMap->GetSize();
135 G4cout <<
"template<typename PointT> G4KDTree<PointT>::Build" <<
G4endl;
154 for(
size_t n = 0; n < Nnodes; n +=
fDim)
156 for(
size_t dim = 0; dim <
fDim; dim++)
163 fRect->Extend(*node);
177 std::vector<G4KDNode_Base*> result;
198 rset->
Insert(dist_sq, result[j]);
G4ThreadLocal G4Allocator< G4KDNode< PointT > > * G4KDNode< PointT >::fgAllocator
G4ReferenceCountedHandle< G4KDTreeResult > G4KDTreeResultHandle
G4GLOB_DLL std::ostream G4cout
void FreeSingle(Type *anElement)
G4KDNode_Base * GetRight()
G4KDNode_Base * Insert(PointT *point)
G4KDNode_Base * GetLeft()
void Insert(double, G4KDNode_Base *)
void __NearestToNode(G4KDNode_Base *source_node, G4KDNode_Base *node, const Position &pos, std::vector< G4KDNode_Base * > &result, G4double *result_dist_sq, HyperRect *fRect, G4int &nbresult)
G4KDTreeResultHandle Nearest(const Position &pos)
G4int __NearestInRange(G4KDNode_Base *node, const Position &pos, const G4double &range_sq, const G4double &range, G4KDTreeResult &list, G4int ordered, G4KDNode_Base *source_node=nullptr)
friend class G4KDNode_Base
void Print(std::ostream &out=G4cout) const
G4KDTreeResultHandle NearestInRange(const Position &pos, const G4double &range)
void __InsertMap(G4KDNode_Base *node)
static G4Allocator< G4KDTree > *& fgAllocator()
void __Clear_Rec(G4KDNode_Base *node)
G4KDTree(std::size_t dim=3)
#define G4ThreadLocalStatic