55 template<
typename Po
intT>
 
  101   template<
typename Po
intT>
 
  122   template<
typename Position>
 
  124                                         const double& range);
 
  127   void *
operator new(size_t);
 
  128   void operator delete(
void *);
 
  143     template<
typename Position>
 
  146         for (
size_t i = 0; i < 
fDim; i++)
 
  165       for (
size_t i = 0; i < 
fDim; i++)
 
  172     template<
typename Position>
 
  175         for (
size_t i = 0; i < 
fDim; i++)
 
  177           if (pos[i] < 
fMin[i])
 
  181           if (pos[i] > 
fMax[i])
 
  188     template<
typename Position>
 
  193         for (
size_t i = 0; i < 
fDim; i++)
 
  195           if (pos[i] < 
fMin[i])
 
  197             result += 
sqr(
fMin[i] - pos[i]);
 
  199           else if (pos[i] > 
fMax[i])
 
  201             result += 
sqr(
fMax[i] - pos[i]);
 
  204           if (result >= *bestmatch) 
return false;
 
  231       if (
this == &rhs) 
return *
this;
 
  240   template<
typename Position>
 
  243                          const double& range_sq,
 
  249   template<
typename Position>
 
  253                              double *result_dist_sq,
 
  256   template<
typename Position>
 
  260                          std::vector<G4KDNode_Base*>& result,
 
  261                          double *result_dist_sq,
 
  278 #endif // G4KDTREE_HH 
G4KDNode_Base * GetRoot()
 
void Print(std::ostream &out=G4cout) const 
 
void SetMinMax(const Position &min, const Position &max)
 
void __NearestToNode(G4KDNode_Base *source_node, G4KDNode_Base *node, const Position &pos, std::vector< G4KDNode_Base * > &result, double *result_dist_sq, HyperRect *fRect, int &nbresult)
 
G4KDTree is used by the ITManager to locate the neareast neighbours. 
 
#define G4ThreadLocalStatic
 
G4KDTreeResultHandle Nearest(const Position &pos)
 
HyperRect(const HyperRect &rect)
 
G4GLOB_DLL std::ostream G4cout
 
bool CompareDistSqr(const Position &pos, const double *bestmatch)
 
void InactiveNode(G4KDNode_Base *)
 
G4KDNode stores one entity in G4KDTree This class is for internal use only. 
 
void Extend(const Position &pos)
 
void Free(G4KDNode_Base *&)
 
G4KDTreeResultHandle NearestInRange(const Position &pos, const double &range)
 
void __InsertMap(G4KDNode_Base *node)
 
T max(const T t1, const T t2)
brief Return the largest of the two arguments 
 
T min(const T t1, const T t2)
brief Return the smallest of the two arguments 
 
HyperRect & operator=(const HyperRect &rhs)
 
void __Clear_Rec(G4KDNode_Base *node)
 
void __NearestToPosition(G4KDNode_Base *node, const Position &pos, G4KDNode_Base *&result, double *result_dist_sq, HyperRect *fRect)
 
G4KDNode_Base * Insert(PointT *pos)
 
int __NearestInRange(G4KDNode_Base *node, const Position &pos, const double &range_sq, const double &range, G4KDTreeResult &list, int ordered, G4KDNode_Base *source_node=0)
 
G4ThreadLocalStatic G4Allocator< G4KDTree > * fgAllocator
 
void NoticeNodeDeactivation()
 
static const G4double pos
 
G4KDNode_Base * InsertMap(PointT *pos)
 
G4KDTreeResult enables to go through the nearest entities found by G4KDTree.