39 #ifndef G4ITManager_hh
40 #define G4ITManager_hh 1
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>
G4IT is a interface which allows the inheriting object :
virtual ~allbox_iterator()
static G4ThreadLocal G4ITManager< T > * fInstance
allbox_iterator & operator++(G4int)
static void iUpdatePositionMap()
allbox_iterator & operator=(const allbox_iterator &i)
iterator & operator++(G4int)
std::ostringstream G4ExceptionDescription
CLHEP::Hep3Vector G4ThreeVector
virtual ~const_iterator()
G4ITBox * GetBox(const T *IT)
G4KDTreeResultHandle FindNearestInRange(const T *, const T *, G4double)
virtual G4ITBox * GetLastBox()
Tag the G4IT Should be automatically setup by G4IT using : ITDef(MyIT) and ITImp(MyIT) ...
G4int NbElements(const G4IT *)
virtual void Push(G4Track *)=0
G4KDTreeResultHandle FindNearest(const G4ThreeVector &, const T *it)
std::map< T, G4ITBox * > BoxMap
virtual G4ITBox * GetNextBox(G4ITBox *)=0
virtual G4ITBox * GetNextBox(G4ITBox *box)
G4IT * GetIT(const G4Track *track)
virtual G4ITBox * GetFirstBox()=0
virtual G4ITBox * GetBox(const G4IT *IT)
const_iterator(G4ITBox *)
iterator & operator=(const iterator &i)
virtual void CreateTree()
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *comments)
static G4ITManager< T > * Instance()
virtual G4ITBox * GetLastBox()=0
A G4ITBox contains all IT of the same kind.
virtual void Push(G4Track *)
void SetVerboseLevel(G4int level)
virtual void UpdatePositionMap()
allbox_iterator(G4ITType)
std::map< T, G4KDTree * > TreeMap
G4VITManager is just a virtual interface for G4ITManager.
G4ITBox * GetBox(const G4Track *track)
virtual G4ITBox * GetFirstBox()
G4ITManager is able to save into different boxes the ITs that will be used in the simulation...
virtual void UpdatePositionMap()=0
void SetVerboseLevel(G4int level)