00001 #ifndef McObjectManager_H 00002 #define McObjectManager_H 00003 00004 #include <list> 00005 00006 #include "mcRootData/McParticle.h" 00007 #include "mcRootData/McPositionHit.h" 00008 #include "mcRootData/McIntegratingHit.h" 00009 #include "mcRootData/McTrajectory.h" 00010 00021 class McObjectManager { 00022 public: 00023 virtual ~McObjectManager(){ m_pointer=0; }; 00024 00026 static McObjectManager* getPointer(); 00027 00029 McParticle* getNewMcParticle(); 00030 00032 McPositionHit* getNewMcPositionHit(); 00033 00035 McIntegratingHit* getNewMcIntegratingHit(); 00036 00038 McTrajectory* getNewMcTrajectory(); 00039 00041 McTrajectoryPoint* getNewMcTrajectoryPoint(); 00042 00044 void Delete(); 00045 00046 private: 00048 McObjectManager(); 00049 00051 static McObjectManager* m_pointer; 00052 00054 std::list<McParticle> m_mcPartPool; 00055 std::list<McParticle>::iterator m_mcPartPoolIdx; 00056 00058 std::list<McPositionHit> m_mcPosHitPool; 00059 std::list<McPositionHit>::iterator m_mcPosHitPoolIdx; 00060 00062 std::list<McIntegratingHit> m_mcIntHitPool; 00063 std::list<McIntegratingHit>::iterator m_mcIntHitPoolIdx; 00064 00066 std::list<McTrajectory> m_mcTrajectoryPool; 00067 std::list<McTrajectory>::iterator m_mcTrajectoryPoolIdx; 00068 00070 std::list<McTrajectoryPoint> m_mcTrajPointPool; 00071 std::list<McTrajectoryPoint>::iterator m_mcTrajPointPoolIdx; 00072 }; 00073 #endif //McObjectManager_H
1.3.3