Geant4-11
Data Structures | Public Types | Public Member Functions | Private Types | Private Attributes
G4Octree< Iterator, Extractor, Point > Class Template Reference

#include <G4Octree.hh>

Data Structures

struct  LeafValues
 
class  Node
 

Public Types

using tree_type = G4Octree< Iterator, Extractor, Point >
 

Public Member Functions

 G4Octree ()
 
 G4Octree (Iterator, Iterator)
 
 G4Octree (Iterator, Iterator, Extractor)
 
 G4Octree (tree_type &&rhs)
 
void operator delete (void *)
 
void * operator new (size_t)
 
tree_typeoperator= (tree_type &&rhs)
 
tree_typeoperator= (tree_type rhs)
 
template<typename OutPutContainer >
void radiusNeighbors (const Point &query, const G4double &radius, OutPutContainer &resultIndices) const
 
size_t size () const
 
void swap (tree_type &rhs)
 
 ~G4Octree ()
 

Private Types

using childNodeArray = std::array< Node *, 8 >
 
enum  NodeTypes { DEFAULT , LEAF , MAX_DEPTH_LEAF , INTERNAL }
 
using NodeVector = std::vector< std::pair< Iterator, Point > >
 

Private Attributes

G4ThreadLocalStatic G4Allocator< tree_type > * fgAllocator
 
Extractor functor_
 
Nodehead_
 
size_t size_
 

Detailed Description

template<typename Iterator, class Extractor, typename Point = G4ThreeVector>
class G4Octree< Iterator, Extractor, Point >

Definition at line 57 of file G4Octree.hh.

Member Typedef Documentation

◆ childNodeArray

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
using G4Octree< Iterator, Extractor, Point >::childNodeArray = std::array<Node*,8>
private

Definition at line 94 of file G4Octree.hh.

◆ NodeVector

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
using G4Octree< Iterator, Extractor, Point >::NodeVector = std::vector<std::pair<Iterator,Point> >
private

Definition at line 93 of file G4Octree.hh.

◆ tree_type

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
using G4Octree< Iterator, Extractor, Point >::tree_type = G4Octree<Iterator,Extractor,Point>

Definition at line 63 of file G4Octree.hh.

Member Enumeration Documentation

◆ NodeTypes

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
enum G4Octree::NodeTypes
private
Enumerator
DEFAULT 
LEAF 
MAX_DEPTH_LEAF 
INTERNAL 

Definition at line 83 of file G4Octree.hh.

84 {
85 DEFAULT,
86 LEAF,
89 };
@ DEFAULT
Definition: G4Octree.hh:85
@ MAX_DEPTH_LEAF
Definition: G4Octree.hh:87
@ INTERNAL
Definition: G4Octree.hh:88

Constructor & Destructor Documentation

◆ G4Octree() [1/4]

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
G4Octree< Iterator, Extractor, Point >::G4Octree ( )

◆ G4Octree() [2/4]

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
G4Octree< Iterator, Extractor, Point >::G4Octree ( Iterator  ,
Iterator   
)

◆ G4Octree() [3/4]

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
G4Octree< Iterator, Extractor, Point >::G4Octree ( Iterator  ,
Iterator  ,
Extractor   
)

◆ G4Octree() [4/4]

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
G4Octree< Iterator, Extractor, Point >::G4Octree ( tree_type &&  rhs)

◆ ~G4Octree()

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
G4Octree< Iterator, Extractor, Point >::~G4Octree ( )

Member Function Documentation

◆ operator delete()

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
void G4Octree< Iterator, Extractor, Point >::operator delete ( void *  )

◆ operator new()

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
void * G4Octree< Iterator, Extractor, Point >::operator new ( size_t  )

◆ operator=() [1/2]

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
tree_type & G4Octree< Iterator, Extractor, Point >::operator= ( tree_type &&  rhs)

◆ operator=() [2/2]

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
tree_type & G4Octree< Iterator, Extractor, Point >::operator= ( tree_type  rhs)

◆ radiusNeighbors()

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
template<typename OutPutContainer >
void G4Octree< Iterator, Extractor, Point >::radiusNeighbors ( const Point &  query,
const G4double radius,
OutPutContainer &  resultIndices 
) const

◆ size()

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
size_t G4Octree< Iterator, Extractor, Point >::size ( ) const

◆ swap()

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
void G4Octree< Iterator, Extractor, Point >::swap ( tree_type rhs)

Field Documentation

◆ fgAllocator

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
G4ThreadLocalStatic G4Allocator<tree_type>* G4Octree< Iterator, Extractor, Point >::fgAllocator
private

Definition at line 163 of file G4Octree.hh.

◆ functor_

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
Extractor G4Octree< Iterator, Extractor, Point >::functor_
private

Definition at line 160 of file G4Octree.hh.

◆ head_

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
Node* G4Octree< Iterator, Extractor, Point >::head_
private

Definition at line 161 of file G4Octree.hh.

◆ size_

template<typename Iterator , class Extractor , typename Point = G4ThreeVector>
size_t G4Octree< Iterator, Extractor, Point >::size_
private

Definition at line 162 of file G4Octree.hh.


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