Geant4-11
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
G4OctreeFinder< T, CONTAINER > Class Template Reference

#include <G4OctreeFinder.hh>

Inheritance diagram for G4OctreeFinder< T, CONTAINER >:
G4VFinder

Public Member Functions

void BuildTreeMap (const std::map< G4int, CONTAINER * > &listMap)
 
void Clear () override
 
void FindNearest (const G4Track &track, const int &key, G4double R, std::vector< std::pair< typename CONTAINER::iterator, G4double > > &result, G4bool isSort=false) const
 
void FindNearestInRange (const G4ThreeVector &, G4double R, std::vector< std::pair< typename CONTAINER::iterator, G4double > > &result, G4bool isSorted) const
 
void FindNearestInRange (const G4ThreeVector &position, const G4int &key, G4double R, std::vector< std::pair< typename CONTAINER::iterator, G4double > > &result, G4bool isSort=false) const
 
void FindNearestInRange (const G4Track &track, const int &key, G4double R, std::vector< std::pair< typename CONTAINER::iterator, G4double > > &result, G4bool isSort=false) const
 
G4ITType GetITType () override
 
G4int GetVerboseLevel () override
 
G4bool IsOctreeBuilt () const
 
G4bool IsOctreeUsed () const
 
void SetOctreeBuilt (G4bool used)
 
void SetOctreeUsed (G4bool used)
 
void SetVerboseLevel (G4int level) override
 
 ~G4OctreeFinder () override
 

Static Public Member Functions

static G4OctreeFinderInstance ()
 

Private Types

using Octree = G4Octree< typename CONTAINER::iterator, Extractor< CONTAINER > >
 
using OctreeHandle = G4shared_ptr< Octree >
 
using TreeMap = std::map< int, OctreeHandle >
 

Private Member Functions

 G4OctreeFinder ()
 

Private Attributes

Extractor< CONTAINER > fExtractor
 
G4bool fIsOctreeBuit
 
G4bool fIsOctreeUsed
 
OctreeHandle fTree
 
TreeMap fTreeMap
 
int fVerbose
 

Static Private Attributes

static G4ThreadLocal G4OctreeFinderfInstance
 

Detailed Description

template<class T, typename CONTAINER>
class G4OctreeFinder< T, CONTAINER >

Definition at line 75 of file G4OctreeFinder.hh.

Member Typedef Documentation

◆ Octree

template<class T , typename CONTAINER >
using G4OctreeFinder< T, CONTAINER >::Octree = G4Octree<typename CONTAINER::iterator, Extractor<CONTAINER> >
private

Definition at line 77 of file G4OctreeFinder.hh.

◆ OctreeHandle

template<class T , typename CONTAINER >
using G4OctreeFinder< T, CONTAINER >::OctreeHandle = G4shared_ptr<Octree>
private

Definition at line 79 of file G4OctreeFinder.hh.

◆ TreeMap

template<class T , typename CONTAINER >
using G4OctreeFinder< T, CONTAINER >::TreeMap = std::map<int, OctreeHandle>
private

Definition at line 80 of file G4OctreeFinder.hh.

Constructor & Destructor Documentation

◆ G4OctreeFinder()

template<class T , typename CONTAINER >
G4OctreeFinder< T, CONTAINER >::G4OctreeFinder ( )
private

◆ ~G4OctreeFinder()

template<class T , typename CONTAINER >
G4OctreeFinder< T, CONTAINER >::~G4OctreeFinder ( )
override

Member Function Documentation

◆ BuildTreeMap()

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::BuildTreeMap ( const std::map< G4int, CONTAINER * > &  listMap)

◆ Clear()

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::Clear ( )
overridevirtual

◆ FindNearest()

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::FindNearest ( const G4Track track,
const int &  key,
G4double  R,
std::vector< std::pair< typename CONTAINER::iterator, G4double > > &  result,
G4bool  isSort = false 
) const

◆ FindNearestInRange() [1/3]

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::FindNearestInRange ( const G4ThreeVector ,
G4double  R,
std::vector< std::pair< typename CONTAINER::iterator, G4double > > &  result,
G4bool  isSorted 
) const

◆ FindNearestInRange() [2/3]

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::FindNearestInRange ( const G4ThreeVector position,
const G4int key,
G4double  R,
std::vector< std::pair< typename CONTAINER::iterator, G4double > > &  result,
G4bool  isSort = false 
) const

◆ FindNearestInRange() [3/3]

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::FindNearestInRange ( const G4Track track,
const int &  key,
G4double  R,
std::vector< std::pair< typename CONTAINER::iterator, G4double > > &  result,
G4bool  isSort = false 
) const

◆ GetITType()

template<class T , typename CONTAINER >
G4ITType G4OctreeFinder< T, CONTAINER >::GetITType ( )
inlineoverridevirtual

Implements G4VFinder.

Definition at line 113 of file G4OctreeFinder.hh.

114 {
115 return T::ITType();
116 }

◆ GetVerboseLevel()

template<class T , typename CONTAINER >
G4int G4OctreeFinder< T, CONTAINER >::GetVerboseLevel ( )
inlineoverridevirtual

Implements G4VFinder.

Definition at line 108 of file G4OctreeFinder.hh.

109 {
110 return fVerbose;
111 }

References G4OctreeFinder< T, CONTAINER >::fVerbose.

◆ Instance()

template<class T , typename CONTAINER >
static G4OctreeFinder * G4OctreeFinder< T, CONTAINER >::Instance ( )
static

◆ IsOctreeBuilt()

template<class T , typename CONTAINER >
G4bool G4OctreeFinder< T, CONTAINER >::IsOctreeBuilt ( ) const

◆ IsOctreeUsed()

template<class T , typename CONTAINER >
G4bool G4OctreeFinder< T, CONTAINER >::IsOctreeUsed ( ) const

◆ SetOctreeBuilt()

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::SetOctreeBuilt ( G4bool  used)

◆ SetOctreeUsed()

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::SetOctreeUsed ( G4bool  used)

◆ SetVerboseLevel()

template<class T , typename CONTAINER >
void G4OctreeFinder< T, CONTAINER >::SetVerboseLevel ( G4int  level)
inlineoverridevirtual

Implements G4VFinder.

Definition at line 103 of file G4OctreeFinder.hh.

104 {
105 fVerbose = level;
106 }

References G4OctreeFinder< T, CONTAINER >::fVerbose.

Field Documentation

◆ fExtractor

template<class T , typename CONTAINER >
Extractor<CONTAINER> G4OctreeFinder< T, CONTAINER >::fExtractor
private

Definition at line 88 of file G4OctreeFinder.hh.

◆ fInstance

template<class T , typename CONTAINER >
G4ThreadLocal G4OctreeFinder* G4OctreeFinder< T, CONTAINER >::fInstance
staticprivate

Definition at line 83 of file G4OctreeFinder.hh.

◆ fIsOctreeBuit

template<class T , typename CONTAINER >
G4bool G4OctreeFinder< T, CONTAINER >::fIsOctreeBuit
private

Definition at line 87 of file G4OctreeFinder.hh.

◆ fIsOctreeUsed

template<class T , typename CONTAINER >
G4bool G4OctreeFinder< T, CONTAINER >::fIsOctreeUsed
private

Definition at line 86 of file G4OctreeFinder.hh.

◆ fTree

template<class T , typename CONTAINER >
OctreeHandle G4OctreeFinder< T, CONTAINER >::fTree
private

Definition at line 90 of file G4OctreeFinder.hh.

◆ fTreeMap

template<class T , typename CONTAINER >
TreeMap G4OctreeFinder< T, CONTAINER >::fTreeMap
private

Definition at line 89 of file G4OctreeFinder.hh.

◆ fVerbose

template<class T , typename CONTAINER >
int G4OctreeFinder< T, CONTAINER >::fVerbose
private

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