40 #ifndef G4NAVIGATIONHISTORYPOOL_HH
41 #define G4NAVIGATIONHISTORYPOOL_HH
57 inline std::vector<G4NavigationLevel> *
GetLevels();
61 inline void DeRegister(std::vector<G4NavigationLevel> * pLevels);
78 inline void Register(std::vector<G4NavigationLevel> * pLevels);
88 std::vector<std::vector<G4NavigationLevel> *>
fPool;
89 std::vector<std::vector<G4NavigationLevel> *>
fFree;
97 Register(std::vector<G4NavigationLevel> * pLevels)
99 fPool.push_back(pLevels);
109 fFree.push_back(pLevels);
118 std::vector<G4NavigationLevel> * aLevelVec =
132 std::vector<G4NavigationLevel> * levels = 0;
134 if (
fFree.size() !=0)
136 levels =
fFree.back();
static const G4int kHistoryMax
~G4NavigationHistoryPool()
std::vector< G4NavigationLevel > * GetNewLevels()
void Register(std::vector< G4NavigationLevel > *pLevels)
static G4ThreadLocal G4NavigationHistoryPool * fgInstance
void DeRegister(std::vector< G4NavigationLevel > *pLevels)
std::vector< G4NavigationLevel > * GetLevels()
std::vector< std::vector< G4NavigationLevel > * > fPool
std::vector< std::vector< G4NavigationLevel > * > fFree
static G4NavigationHistoryPool * GetInstance()
G4NavigationHistoryPool()