Geant4  10.02.p03
G4KDNode< PointT > Class Template Reference

#include <G4KDNode.hh>

Inheritance diagram for G4KDNode< PointT >:
Collaboration diagram for G4KDNode< PointT >:

Public Member Functions

 G4KDNode (G4KDTree *, PointT *, G4KDNode_Base *)
 
virtual ~G4KDNode ()
 
void * operator new (size_t)
 
void operator delete (void *)
 
PointT * GetPoint ()
 
virtual double operator[] (size_t i) const
 
virtual void InactiveNode ()
 
virtual bool IsValid () const
 
- Public Member Functions inherited from G4KDNode_Base
 G4KDNode_Base (G4KDTree *, G4KDNode_Base *)
 
virtual ~G4KDNode_Base ()
 
G4KDTreeGetTree () const
 
void SetTree (G4KDTree *tree)
 
int GetDim () const
 
int GetAxis () const
 
G4KDNode_BaseGetParent ()
 
G4KDNode_BaseGetLeft ()
 
G4KDNode_BaseGetRight ()
 
template<typename Position >
G4KDNode_BaseFindParent (const Position &x0)
 
template<typename PointT >
G4KDNode_BaseInsert (PointT *point)
 
template<typename PointT >
G4KDNode_BaseInsert (const PointT &point)
 
int Insert (G4KDNode_Base *newNode)
 
void PullSubTree ()
 
void RetrieveNodeList (std::list< G4KDNode_Base *> &node_list)
 
void Print (std::ostream &out, int level=0) const
 

Protected Attributes

PointT * fPoint
 
G4bool fValid
 
- Protected Attributes inherited from G4KDNode_Base
size_t fAxis
 
int fSide
 
G4KDTreefTree
 
G4KDNode_BasefLeft
 
G4KDNode_BasefRight
 
G4KDNode_BasefParent
 

Private Member Functions

 G4KDNode (const G4KDNode< PointT > &right)
 
G4KDNodeoperator= (const G4KDNode< PointT > &right)
 

Static Private Attributes

static G4ThreadLocal G4Allocator< G4KDNode< PointT > > * fgAllocator
 

Detailed Description

template<typename PointT>
class G4KDNode< PointT >

G4KDNode stores one entity in G4KDTree This class is for internal use only

Definition at line 132 of file G4KDNode.hh.

Constructor & Destructor Documentation

◆ G4KDNode() [1/2]

template<typename PointT>
G4KDNode< PointT >::G4KDNode ( G4KDTree ,
PointT *  ,
G4KDNode_Base  
)

◆ ~G4KDNode()

template<typename PointT>
virtual G4KDNode< PointT >::~G4KDNode ( )
virtual

◆ G4KDNode() [2/2]

template<typename PointT>
G4KDNode< PointT >::G4KDNode ( const G4KDNode< PointT > &  right)
private

Member Function Documentation

◆ GetPoint()

template<typename PointT>
PointT* G4KDNode< PointT >::GetPoint ( )
inline

Definition at line 144 of file G4KDNode.hh.

145  {
146  return fPoint;
147  }
PointT * fPoint
Definition: G4KDNode.hh:167
Here is the caller graph for this function:

◆ InactiveNode()

template<typename PointT>
virtual void G4KDNode< PointT >::InactiveNode ( )
inlinevirtual

Reimplemented from G4KDNode_Base.

Definition at line 155 of file G4KDNode.hh.

156  {
157  fValid = false;
159  }
virtual void InactiveNode()
Definition: G4KDNode.cc:107
G4bool fValid
Definition: G4KDNode.hh:168
Here is the call graph for this function:

◆ IsValid()

template<typename PointT>
virtual bool G4KDNode< PointT >::IsValid ( void  ) const
inlinevirtual

Reimplemented from G4KDNode_Base.

Definition at line 161 of file G4KDNode.hh.

162  {
163  return fValid;
164  }
G4bool fValid
Definition: G4KDNode.hh:168

◆ operator delete()

template<typename PointT >
void G4KDNode< PointT >::operator delete ( void *  aNode)

Definition at line 189 of file G4KDNode.hh.

190  {
192  }
static G4ThreadLocal G4Allocator< G4KDNode< PointT > > * fgAllocator
Definition: G4KDNode.hh:174
void FreeSingle(Type *anElement)
Definition: G4Allocator.hh:212

◆ operator new()

template<typename PointT >
void * G4KDNode< PointT >::operator new ( size_t  )

Definition at line 182 of file G4KDNode.hh.

183  {
185  return (void *) fgAllocator->MallocSingle();
186  }
Type * MallocSingle()
Definition: G4Allocator.hh:202
static G4ThreadLocal G4Allocator< G4KDNode< PointT > > * fgAllocator
Definition: G4KDNode.hh:174
Here is the call graph for this function:

◆ operator=()

template<typename PointT>
G4KDNode& G4KDNode< PointT >::operator= ( const G4KDNode< PointT > &  right)
private

◆ operator[]()

template<typename PointT>
virtual double G4KDNode< PointT >::operator[] ( size_t  i) const
inlinevirtual

Implements G4KDNode_Base.

Definition at line 149 of file G4KDNode.hh.

150  {
151  if(fPoint == 0) abort();
152  return (*fPoint)[i];
153  }
PointT * fPoint
Definition: G4KDNode.hh:167

Member Data Documentation

◆ fgAllocator

template<typename PointT>
G4ThreadLocal G4Allocator< G4KDNode< PointT > > * G4KDNode< PointT >::fgAllocator
staticprivate
Initial value:
=
0

Definition at line 174 of file G4KDNode.hh.

◆ fPoint

template<typename PointT>
PointT* G4KDNode< PointT >::fPoint
protected

Definition at line 167 of file G4KDNode.hh.

◆ fValid

template<typename PointT>
G4bool G4KDNode< PointT >::fValid
protected

Definition at line 168 of file G4KDNode.hh.


The documentation for this class was generated from the following file: