55 if(fpInstance)
delete fpInstance;
60 std::map<G4ITType, G4VITManager*>::iterator it ;
61 std::map<G4ITType, G4VITManager*>::iterator it_tmp ;
63 for(it = fITSubManager.begin(); it!=fITSubManager.end() ; )
65 if(it->second)
delete it->second;
68 fITSubManager.erase(it_tmp);
75 std::map<G4ITType, G4VITManager*>::iterator it = fITSubManager.begin() ;
77 for(; it!=fITSubManager.end() ; it++)
79 it->second->UpdatePositionMap();
85 std::map<G4ITType, G4VITManager*>::iterator it = fITSubManager.begin() ;
87 for(; it!=fITSubManager.end() ; it++)
89 it->second->CreateTree();
100 map<G4ITType, G4VITManager*>::iterator it = fITSubManager.find(type);
102 if(it == fITSubManager.end())
return 0;
109 fITSubManager[manager->
GetITType()] = manager;
114 map<G4ITType, G4VITManager*>::iterator it = fITSubManager.find(
GetIT(track)->GetITType());
116 if(it == fITSubManager.end())
return 0;
118 return it->second->GetBox(track);
static void DeleteInstance()
Tag the G4IT Should be automatically setup by G4IT using : ITDef(MyIT) and ITImp(MyIT) ...
static G4AllITManager * Instance()
~G4AllITManager()
To delete the Instance you should use DeleteInstance() rather than the destructor.
Holds all IT Manager, and take care of deleting them when AllITManager is deleted Set general verbose...
G4VITManager * GetInstance(G4ITType)
G4IT * GetIT(const G4Track *track)
static G4ThreadLocal G4AllITManager * fpInstance
static G4ITManager< T > * Instance()
A G4ITBox contains all IT of the same kind.
virtual const G4ITType GetITType() const =0
G4VITManager is just a virtual interface for G4ITManager.
G4ITBox * GetBox(const G4Track *)
G4ITManager is able to save into different boxes the ITs that will be used in the simulation...
void RegisterManager(G4VITManager *manager)
void Push(G4Track *track)