Geant4 11.2.2
Toolkit for the simulation of the passage of particles through matter
|
#include <G4KDTree.hh>
Classes | |
class | HyperRect |
Public Member Functions | |
G4KDTree (std::size_t dim=3) | |
~G4KDTree () | |
void | Clear () |
void | Print (std::ostream &out=G4cout) const |
void | Build () |
void | NoticeNodeDeactivation () |
std::size_t | GetDim () const |
G4int | GetNbNodes () const |
G4KDNode_Base * | GetRoot () |
template<typename PointT > | |
G4KDNode_Base * | InsertMap (PointT *pos) |
template<typename PointT > | |
G4KDNode_Base * | Insert (PointT *pos) |
template<typename PointT > | |
G4KDNode_Base * | Insert (const PointT &pos) |
template<typename Position > | |
G4KDTreeResultHandle | Nearest (const Position &pos) |
G4KDTreeResultHandle | Nearest (G4KDNode_Base *node) |
template<typename Position > | |
G4KDTreeResultHandle | NearestInRange (const Position &pos, const G4double &range) |
G4KDTreeResultHandle | NearestInRange (G4KDNode_Base *node, const G4double &range) |
void * | operator new (std::size_t) |
void | operator delete (void *) |
Protected Member Functions | |
void | __InsertMap (G4KDNode_Base *node) |
void | __Clear_Rec (G4KDNode_Base *node) |
template<typename Position > | |
G4int | __NearestInRange (G4KDNode_Base *node, const Position &pos, const G4double &range_sq, const G4double &range, G4KDTreeResult &list, G4int ordered, G4KDNode_Base *source_node=nullptr) |
template<typename Position > | |
void | __NearestToPosition (G4KDNode_Base *node, const Position &pos, G4KDNode_Base *&result, G4double *result_dist_sq, HyperRect *fRect) |
template<typename Position > | |
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) |
Static Protected Member Functions | |
static G4Allocator< G4KDTree > *& | fgAllocator () |
Protected Attributes | |
HyperRect * | fRect = nullptr |
G4KDNode_Base * | fRoot = nullptr |
std::size_t | fDim |
G4int | fNbNodes = 0 |
G4int | fNbActiveNodes = 0 |
G4KDMap * | fKDMap |
Friends | |
class | G4KDNode_Base |
G4KDTree is used by the ITManager to locate the neareast neighbours. A kdtree sorts out node in such a way that it reduces the number of node check. The results of this search can be retrieved by G4KDTreeResultHandle.
Definition at line 70 of file G4KDTree.hh.
G4KDTree::G4KDTree | ( | std::size_t | dim = 3 | ) |
Definition at line 53 of file G4KDTree.cc.
G4KDTree::~G4KDTree | ( | ) |
Definition at line 58 of file G4KDTree.cc.
|
protected |
Definition at line 109 of file G4KDTree.cc.
Referenced by __Clear_Rec(), Clear(), and ~G4KDTree().
|
protected |
Definition at line 128 of file G4KDTree.cc.
|
protected |
Referenced by NearestInRange().
|
protected |
Referenced by Nearest().
|
protected |
void G4KDTree::Build | ( | ) |
Definition at line 130 of file G4KDTree.cc.
void G4KDTree::Clear | ( | ) |
Definition at line 96 of file G4KDTree.cc.
Referenced by NoticeNodeDeactivation().
|
staticprotected |
Definition at line 45 of file G4KDTree.cc.
|
inline |
Definition at line 90 of file G4KDTree.hh.
Referenced by G4KDNode_Base::GetDim(), and G4KDNode_Base::Insert().
|
inline |
Definition at line 91 of file G4KDTree.hh.
|
inline |
Definition at line 92 of file G4KDTree.hh.
G4KDNode_Base * G4KDTree::Insert | ( | const PointT & | pos | ) |
G4KDNode_Base * G4KDTree::Insert | ( | PointT * | pos | ) |
G4KDNode_Base * G4KDTree::InsertMap | ( | PointT * | pos | ) |
G4KDTreeResultHandle G4KDTree::Nearest | ( | const Position & | pos | ) |
G4KDTreeResultHandle G4KDTree::Nearest | ( | G4KDNode_Base * | node | ) |
Definition at line 170 of file G4KDTree.cc.
G4KDTreeResultHandle G4KDTree::NearestInRange | ( | const Position & | pos, |
const G4double & | range ) |
G4KDTreeResultHandle G4KDTree::NearestInRange | ( | G4KDNode_Base * | node, |
const G4double & | range ) |
Definition at line 209 of file G4KDTree.cc.
|
inline |
Definition at line 81 of file G4KDTree.hh.
Referenced by G4KDNode_Base::InactiveNode().
void G4KDTree::operator delete | ( | void * | aNode | ) |
Definition at line 84 of file G4KDTree.cc.
void * G4KDTree::operator new | ( | std::size_t | ) |
Definition at line 76 of file G4KDTree.cc.
void G4KDTree::Print | ( | std::ostream & | out = G4cout | ) | const |
Definition at line 89 of file G4KDTree.cc.
|
friend |
Definition at line 72 of file G4KDTree.hh.
|
protected |
Definition at line 247 of file G4KDTree.hh.
Referenced by Build(), G4KDNode_Base::G4KDNode_Base(), and GetDim().
|
protected |
Definition at line 250 of file G4KDTree.hh.
Referenced by __InsertMap(), Build(), and ~G4KDTree().
|
protected |
Definition at line 249 of file G4KDTree.hh.
Referenced by Build(), and NoticeNodeDeactivation().
|
protected |
Definition at line 248 of file G4KDTree.hh.
Referenced by Clear(), and GetNbNodes().
|
protected |
Definition at line 245 of file G4KDTree.hh.
Referenced by Build(), Clear(), Nearest(), and ~G4KDTree().
|
protected |
Definition at line 246 of file G4KDTree.hh.
Referenced by Build(), Clear(), GetRoot(), Nearest(), NearestInRange(), Print(), and ~G4KDTree().