G4ITManager< T > Class Template Reference

#include <G4ITManager.hh>

Inheritance diagram for G4ITManager< T >:

G4VITManager

Public Member Functions

virtual ~G4ITManager ()
virtual void Push (G4Track *)
G4int NbElements (const G4IT *)
void EraseABox (T *)
void EraseABox (G4ITBox *)
void SetVerboseLevel (G4int level)
G4int GetVerboseLevel ()
virtual void UpdatePositionMap ()
G4KDTreeResultHandle FindNearestInRange (const T *, const T *, G4double)
G4KDTreeResultHandle FindNearest (const G4ThreeVector &, const T *it)
G4KDTreeResultHandle FindNearest (const T *it0, const T *it)
G4KDTreeResultHandle FindNearestInRange (const G4ThreeVector &, const T *, G4double)
G4ITBoxGetBox (const T *IT)
virtual G4ITBoxGetBox (const G4IT *IT)
virtual G4ITBoxGetFirstBox ()
virtual G4ITBoxGetNextBox (G4ITBox *box)
virtual G4ITBoxGetLastBox ()

Static Public Member Functions

static G4ITManager< T > * Instance ()
static void iUpdatePositionMap ()

Detailed Description

template<typename T>
class G4ITManager< T >

G4ITManager is able to save into different boxes the ITs that will be used in the simulation. It is a stack-like. Those boxes are used to fill a tree which helps finding the closest neighboor.

Definition at line 151 of file G4ITManager.hh.


Constructor & Destructor Documentation

template<typename T>
virtual G4ITManager< T >::~G4ITManager (  )  [virtual]


Member Function Documentation

template<typename T>
void G4ITManager< T >::EraseABox ( G4ITBox  ) 

template<typename T>
void G4ITManager< T >::EraseABox ( T *   ) 

template<typename T>
G4KDTreeResultHandle G4ITManager< T >::FindNearest ( const T *  it0,
const T *  it 
)

template<typename T>
G4KDTreeResultHandle G4ITManager< T >::FindNearest ( const G4ThreeVector ,
const T *  it 
)

template<typename T>
G4KDTreeResultHandle G4ITManager< T >::FindNearestInRange ( const G4ThreeVector ,
const T *  ,
G4double   
)

template<typename T>
G4KDTreeResultHandle G4ITManager< T >::FindNearestInRange ( const T *  ,
const T *  ,
G4double   
)

template<typename T>
virtual G4ITBox* G4ITManager< T >::GetBox ( const G4IT IT  )  [inline, virtual]

Implements G4VITManager.

Definition at line 198 of file G4ITManager.hh.

References FatalErrorInArgument, G4Exception(), G4ITManager< T >::GetBox(), and IT.

00199     {
00200         const T* myIT = dynamic_cast<const T*>(IT);
00201 
00202         if(myIT == 0)
00203         {
00204             G4ExceptionDescription exceptionDescription ("You are requested a bad IT");
00205             G4Exception("G4ITManager::GetBox","ITManager001",
00206                         FatalErrorInArgument,exceptionDescription);
00207             return 0; // coverity
00208         }
00209 
00210         return GetBox(myIT);
00211     }

template<typename T>
G4ITBox* G4ITManager< T >::GetBox ( const T *  IT  )  [inline]

Definition at line 191 of file G4ITManager.hh.

Referenced by G4ITManager< T >::GetBox().

00192     {
00193         typename BoxMap::const_iterator it = fBox.find(*IT);
00194         if(it == fBox.end()) return 0;
00195         return it->second;
00196     }

template<typename T>
virtual G4ITBox* G4ITManager< T >::GetFirstBox (  )  [inline, virtual]

Implements G4VITManager.

Definition at line 213 of file G4ITManager.hh.

00214     {
00215         typename BoxMap::iterator it = fBox.begin();
00216         if(it != fBox.end())
00217         {
00218             return it->second;
00219         }
00220         return 0;
00221     }

template<typename T>
virtual G4ITBox* G4ITManager< T >::GetLastBox (  )  [inline, virtual]

Implements G4VITManager.

Definition at line 232 of file G4ITManager.hh.

00233     {
00234         typename BoxMap::reverse_iterator it = fBox.rbegin();
00235         if(it != fBox.rend())
00236         {
00237             return it->second;
00238         }
00239         return 0;
00240     }

template<typename T>
virtual G4ITBox* G4ITManager< T >::GetNextBox ( G4ITBox box  )  [inline, virtual]

Implements G4VITManager.

Definition at line 223 of file G4ITManager.hh.

References G4ITBox::GetNextBox().

00224     {
00225         if(box)
00226         {
00227             return box->GetNextBox();
00228         }
00229         return 0;
00230     }

template<typename T>
G4int G4ITManager< T >::GetVerboseLevel (  )  [inline]

Reimplemented from G4VITManager.

Definition at line 178 of file G4ITManager.hh.

References G4VITManager::fVerbose.

00179     {
00180         return fVerbose;
00181     }

template<typename T>
static G4ITManager<T>* G4ITManager< T >::Instance (  )  [static]

Referenced by G4DNAChemistryManager::CreateSolvatedElectron(), G4DNAMolecularDecay::DecayIt(), G4AllITManager::FindNearest(), G4AllITManager::FindNearestInRange(), G4DNAMolecularReaction::MakeReaction(), G4DNAMoleculeEncounterStepper::Prepare(), G4DNAChemistryManager::PushMolecule(), and G4DNAChemistryManager::PushMoleculeAtParentTimeAndPlace().

template<typename T>
static void G4ITManager< T >::iUpdatePositionMap (  )  [static]

template<typename T>
G4int G4ITManager< T >::NbElements ( const G4IT  ) 

template<typename T>
virtual void G4ITManager< T >::Push ( G4Track  )  [virtual]

Implements G4VITManager.

template<typename T>
void G4ITManager< T >::SetVerboseLevel ( G4int  level  )  [inline]

Reimplemented from G4VITManager.

Definition at line 174 of file G4ITManager.hh.

References G4VITManager::fVerbose.

00175     {
00176         fVerbose = level;
00177     }

template<typename T>
virtual void G4ITManager< T >::UpdatePositionMap (  )  [virtual]

Implements G4VITManager.


The documentation for this class was generated from the following file:
Generated on Mon May 27 17:52:19 2013 for Geant4 by  doxygen 1.4.7