40#define G4ITManager_hh 1
156 typedef std::map<T,G4ITBox* > BoxMap;
159 typedef std::map<T, G4KDTree* > TreeMap;
161 TreeMap fPrevious_tree;
193 typename BoxMap::const_iterator it = fBox.find(*
IT);
194 if(it == fBox.end())
return 0;
200 const T* myIT =
dynamic_cast<const T*
>(
IT);
215 typename BoxMap::iterator it = fBox.begin();
234 typename BoxMap::reverse_iterator it = fBox.rbegin();
235 if(it != fBox.rend())
248#define TEMPLATE template<typename T>
249#define G4ITMANAGER G4ITManager<T>
251#include "G4ITManager.icc"
G4IT * GetIT(const G4Track *track)
void SetVerboseLevel(G4int level)
virtual G4ITBox * GetNextBox(G4ITBox *box)
G4KDTreeResultHandle FindNearest(const G4ThreeVector &, const T *it)
static void iUpdatePositionMap()
virtual void Push(G4Track *)
G4KDTreeResultHandle FindNearest(const T *it0, const T *it)
G4KDTreeResultHandle FindNearestInRange(const G4ThreeVector &, const T *, G4double)
G4ITBox * GetBox(const T *IT)
virtual G4ITBox * GetBox(const G4IT *IT)
G4int NbElements(const G4IT *)
void EraseABox(G4ITBox *)
virtual G4ITBox * GetLastBox()
static G4ITManager< T > * Instance()
G4KDTreeResultHandle FindNearestInRange(const T *, const T *, G4double)
virtual void UpdatePositionMap()
virtual G4ITBox * GetFirstBox()
virtual ~allbox_iterator()
allbox_iterator & operator++(G4int)
allbox_iterator & operator=(const allbox_iterator &i)
virtual ~const_iterator()
iterator & operator++(G4int)
iterator & operator=(const iterator &i)
virtual void CreateTree()
virtual G4ITBox * GetBox(const G4IT *)=0
virtual G4ITBox * GetLastBox()=0
virtual G4ITBox * GetFirstBox()=0
void SetVerboseLevel(G4int level)
G4ITBox * GetBox(const G4Track *track)
virtual void Push(G4Track *)=0
virtual G4ITBox * GetNextBox(G4ITBox *)=0
virtual void UpdatePositionMap()=0
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
std::ostringstream G4ExceptionDescription