G4AllITManager Class Reference

#include <G4AllITManager.hh>


Public Member Functions

 ~G4AllITManager ()
template<typename T>
G4ITManager< T > * Instance ()
G4VITManagerGetInstance (G4ITType)
G4ITBoxGetBox (const G4Track *)
void RegisterManager (G4VITManager *manager)
void Push (G4Track *track)
void SetVerboseLevel (G4int level)
G4int GetVerboseLevel ()
void UpdatePositionMap ()
void CreateTree ()
template<typename T>
std::vector< std::pair< G4IT *,
double > > * 
FindNearest (const G4ThreeVector &pos, const T *it)
template<typename T>
std::vector< std::pair< G4IT *,
double > > * 
FindNearest (const T *it0, const T *it)
template<typename T>
std::vector< std::pair< G4IT *,
double > > * 
FindNearestInRange (const G4ThreeVector &pos, const T *it, G4double range)
template<typename T>
std::vector< std::pair< G4IT *,
double > > * 
FindNearestInRange (const T *it0, const T *it, G4double range)

Static Public Member Functions

static G4AllITManagerInstance ()
static void DeleteInstance ()


Detailed Description

Holds all IT Manager, and take care of deleting them when AllITManager is deleted Set general verbose for all IT Manager

Definition at line 60 of file G4AllITManager.hh.


Constructor & Destructor Documentation

G4AllITManager::~G4AllITManager (  ) 

To delete the Instance you should use DeleteInstance() rather than the destructor

Definition at line 58 of file G4AllITManager.cc.

00059 {
00060     std::map<G4ITType, G4VITManager*>::iterator it ;
00061     std::map<G4ITType, G4VITManager*>::iterator it_tmp ;
00062 
00063     for(it = fITSubManager.begin(); it!=fITSubManager.end() ; )
00064     {
00065         if(it->second) delete it->second;
00066         it_tmp = it;
00067         it++;
00068         fITSubManager.erase(it_tmp);
00069     }
00070     fInstance.release();
00071 }


Member Function Documentation

void G4AllITManager::CreateTree (  ) 

Definition at line 83 of file G4AllITManager.cc.

00084 {
00085     std::map<G4ITType, G4VITManager*>::iterator it = fITSubManager.begin() ;
00086 
00087     for(; it!=fITSubManager.end() ; it++)
00088     {
00089         it->second->CreateTree();
00090     }
00091 }

void G4AllITManager::DeleteInstance (  )  [static]

Definition at line 53 of file G4AllITManager.cc.

00054 {
00055     fInstance.reset();
00056 }

template<typename T>
std::vector< std::pair< G4IT *, double > > * G4AllITManager::FindNearest ( const T *  it0,
const T *  it 
) [inline]

Definition at line 117 of file G4AllITManager.hh.

References G4ITManager< T >::Instance().

00118 {
00119     return G4ITManager<T>::Instance()->FindNearest(it0, it) ;
00120 }

template<typename T>
std::vector< std::pair< G4IT *, double > > * G4AllITManager::FindNearest ( const G4ThreeVector pos,
const T *  it 
) [inline]

Definition at line 111 of file G4AllITManager.hh.

References G4ITManager< T >::Instance().

00112 {
00113     return G4ITManager<T>::Instance()->FindNearest(pos,it);
00114 }

template<typename T>
std::vector< std::pair< G4IT *, double > > * G4AllITManager::FindNearestInRange ( const T *  it0,
const T *  it,
G4double  range 
) [inline]

Definition at line 129 of file G4AllITManager.hh.

References G4ITManager< T >::Instance().

00130 {
00131     return G4ITManager<T>::Instance()->FindNearestInRange(it0, it, range);
00132 }

template<typename T>
std::vector< std::pair< G4IT *, double > > * G4AllITManager::FindNearestInRange ( const G4ThreeVector pos,
const T *  it,
G4double  range 
) [inline]

Definition at line 123 of file G4AllITManager.hh.

References G4ITManager< T >::Instance().

00124 {
00125     return G4ITManager<T>::Instance()->FindNearestInRange(pos, it, range);
00126 }

G4ITBox * G4AllITManager::GetBox ( const G4Track  ) 

Definition at line 112 of file G4AllITManager.cc.

References GetIT().

00113 {
00114     map<G4ITType, G4VITManager*>::iterator it = fITSubManager.find(GetIT(track)->GetITType());
00115 
00116     if(it == fITSubManager.end()) return 0;
00117 
00118     return it->second->GetBox(track);
00119 }

G4VITManager * G4AllITManager::GetInstance ( G4ITType   ) 

Definition at line 98 of file G4AllITManager.cc.

Referenced by G4VITManager::allbox_iterator::allbox_iterator().

00099 {
00100     map<G4ITType, G4VITManager*>::iterator it = fITSubManager.find(type);
00101 
00102     if(it == fITSubManager.end()) return 0;
00103 
00104     return it->second;
00105 }

G4int G4AllITManager::GetVerboseLevel (  )  [inline]

Definition at line 88 of file G4AllITManager.hh.

00089     {
00090         return fVerbose;
00091     }

template<typename T>
G4ITManager<T>* G4AllITManager::Instance (  ) 

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

Definition at line 47 of file G4AllITManager.cc.

Referenced by G4VITManager::allbox_iterator::allbox_iterator().

00048 {
00049     if(fInstance.get() == 0) fInstance = auto_ptr<G4AllITManager>(new G4AllITManager());
00050     return fInstance.get() ;
00051 }

void G4AllITManager::Push ( G4Track track  ) 

Definition at line 121 of file G4AllITManager.cc.

References GetIT(), and G4IT::GetITType().

00122 {
00123     fITSubManager[GetIT(track)->GetITType()]->Push(track);
00124 }

void G4AllITManager::RegisterManager ( G4VITManager manager  ) 

Definition at line 107 of file G4AllITManager.cc.

References G4VITManager::GetITType().

00108 {
00109     fITSubManager[manager->GetITType()] = manager;
00110 }

void G4AllITManager::SetVerboseLevel ( G4int  level  )  [inline]

Set General verbose for all IT Manager See ITManager builder

Definition at line 84 of file G4AllITManager.hh.

00085     {
00086         fVerbose = level;
00087     }

void G4AllITManager::UpdatePositionMap (  ) 

Definition at line 73 of file G4AllITManager.cc.

00074 {
00075     std::map<G4ITType, G4VITManager*>::iterator it = fITSubManager.begin() ;
00076 
00077     for(; it!=fITSubManager.end() ; it++)
00078     {
00079         it->second->UpdatePositionMap();
00080     }
00081 }


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:51:25 2013 for Geant4 by  doxygen 1.4.7