#include <G4AllITManager.hh>
Public Member Functions | |
~G4AllITManager () | |
template<typename T> | |
G4ITManager< T > * | Instance () |
G4VITManager * | GetInstance (G4ITType) |
G4ITBox * | GetBox (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 G4AllITManager * | Instance () |
static void | DeleteInstance () |
Definition at line 60 of file G4AllITManager.hh.
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 }
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] |
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 }
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 }
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 }
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 }
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] |
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 | ) |
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.
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 }