Main Page | Compound List | File List | Compound Members | File Members | Related Pages

McObjectManager.h

Go to the documentation of this file.
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

Generated on Tue Dec 11 16:28:53 2007 by doxygen 1.3.3