Geant4  10.02.p03
G4KDTreeResult Class Reference

#include <G4KDTreeResult.hh>

Inheritance diagram for G4KDTreeResult:
Collaboration diagram for G4KDTreeResult:

Public Member Functions

 G4KDTreeResult (G4KDTree *)
 
virtual ~G4KDTreeResult ()
 
void Insert (double, G4KDNode_Base *)
 
void Clear ()
 
void Sort ()
 
size_t GetSize () const
 
size_t size () const
 
void Rewind ()
 
bool End ()
 
void Next ()
 
template<typename PointT >
PointT * GetItem () const
 
G4KDNode_BaseGetNode () const
 
template<typename PointT >
PointT * GetItemNDistanceSQ (double &) const
 
double GetDistanceSqr () const
 

Protected Attributes

G4KDTreefTree
 
std::list< ResNode >::iterator fIterator
 

Detailed Description

G4KDTreeResult enables to go through the nearest entities found by G4KDTree.

Definition at line 68 of file G4KDTreeResult.hh.

Constructor & Destructor Documentation

◆ G4KDTreeResult()

G4KDTreeResult::G4KDTreeResult ( G4KDTree tree)

Definition at line 80 of file G4KDTreeResult.cc.

80  : std::list<ResNode>()
81 {
82  fTree = tree;
83 }
G4KDTree * fTree

◆ ~G4KDTreeResult()

G4KDTreeResult::~G4KDTreeResult ( )
virtual

Definition at line 85 of file G4KDTreeResult.cc.

86 {
87  std::list<ResNode>::erase(begin(),end());
88 }

Member Function Documentation

◆ Clear()

void G4KDTreeResult::Clear ( )

Definition at line 95 of file G4KDTreeResult.cc.

96 {
97  std::list<ResNode>::erase(begin(),end());
98  fIterator = std::list<ResNode>::begin();
99 }
std::list< ResNode >::iterator fIterator

◆ End()

bool G4KDTreeResult::End ( )

Definition at line 121 of file G4KDTreeResult.cc.

122 {
123  return (fIterator == end());
124 }
std::list< ResNode >::iterator fIterator

◆ GetDistanceSqr()

double G4KDTreeResult::GetDistanceSqr ( ) const

Definition at line 131 of file G4KDTreeResult.cc.

132 {
133  return (*fIterator).GetDistanceSqr();
134 }
Here is the caller graph for this function:

◆ GetItem()

template<typename PointT >
PointT * G4KDTreeResult::GetItem ( ) const

Definition at line 111 of file G4KDTreeResult.hh.

112  {
114  return node->GetPoint();
115  }
PointT * GetPoint()
Definition: G4KDNode.hh:144
G4KDNode_Base * GetNode() const
Here is the call graph for this function:

◆ GetItemNDistanceSQ()

template<typename PointT >
PointT * G4KDTreeResult::GetItemNDistanceSQ ( double &  dist_sq) const

Definition at line 118 of file G4KDTreeResult.hh.

119  {
120  dist_sq = GetDistanceSqr();
121  return this->GetItem<PointT>();
122  }
double GetDistanceSqr() const
Here is the call graph for this function:

◆ GetNode()

G4KDNode_Base * G4KDTreeResult::GetNode ( ) const

Definition at line 136 of file G4KDTreeResult.cc.

136  {
137  return (*fIterator).GetNode();
138 }
Here is the caller graph for this function:

◆ GetSize()

size_t G4KDTreeResult::GetSize ( ) const

Definition at line 106 of file G4KDTreeResult.cc.

107 {
108  return std::list<ResNode>::size();
109 }

◆ Insert()

void G4KDTreeResult::Insert ( double  dis_sq,
G4KDNode_Base node 
)

Definition at line 90 of file G4KDTreeResult.cc.

91 {
92  std::list<ResNode>::push_back(ResNode(dis_sq,node));
93 }

◆ Next()

void G4KDTreeResult::Next ( )

Definition at line 126 of file G4KDTreeResult.cc.

127 {
128  fIterator++;
129 }
std::list< ResNode >::iterator fIterator

◆ Rewind()

void G4KDTreeResult::Rewind ( )

Definition at line 116 of file G4KDTreeResult.cc.

117 {
118  fIterator = begin();
119 }
std::list< ResNode >::iterator fIterator
Here is the caller graph for this function:

◆ size()

size_t G4KDTreeResult::size ( ) const

Definition at line 111 of file G4KDTreeResult.cc.

112 {
113  return std::list<ResNode>::size();
114 }

◆ Sort()

void G4KDTreeResult::Sort ( )

Definition at line 101 of file G4KDTreeResult.cc.

102 {
103  std::list<ResNode>::sort(CompareResNode);
104 }
bool CompareResNode(const ResNode &left, const ResNode &right)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ fIterator

std::list<ResNode>::iterator G4KDTreeResult::fIterator
protected

Definition at line 72 of file G4KDTreeResult.hh.

◆ fTree

G4KDTree* G4KDTreeResult::fTree
protected

Definition at line 71 of file G4KDTreeResult.hh.


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