00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef MUC_REC_HIT_CONTAINER_H
00013 #define MUC_REC_HIT_CONTAINER_H
00014
00015 #include <map>
00016 #include "Identifier/Identifier.h"
00017
00018 #include "MucRecEvent/MucRecHitID.h"
00019 #include "MucRecEvent/MucRecHit.h"
00020
00029 class MucRecHitContainer
00030 {
00031 public:
00032 typedef std::map<MucRecHitID, int> GapHitCountMap;
00033 typedef std::map<MucRecHitID, MucRecHit*> pHitMap;
00034
00035
00036 MucRecHitContainer();
00037
00038
00039 MucRecHitContainer(const MucRecHitContainer& source);
00040
00041
00042 MucRecHitContainer& operator=(const MucRecHitContainer& orig);
00043
00044
00045 ~MucRecHitContainer();
00046
00047 public:
00048
00050
00051
00053 void Init();
00054
00056 void Destroy();
00057
00058 void SetMucRecHitCol(MucRecHitCol* p);
00059
00061 MucRecHitCol* GetMucRecHitCol() { return m_pMucRecHitCol; }
00062
00064 int GetHitCount();
00065
00067 int GetGapHitCount(const MucRecHitID gapID);
00068
00070 int GetGapHitCount(const int part,
00071 const int seg,
00072 const int gap);
00073
00075 MucRecHit *GetHit(const MucRecHitID hitID);
00076
00078 MucRecHit *GetHit(const int part,
00079 const int seg,
00080 const int gap,
00081 const int hit);
00082
00085 MucRecHit *GetHitByIdentifier(const Identifier id);
00086
00089 MucRecHit *GetHitByIdentifier(const int part,
00090 const int seg,
00091 const int gap,
00092 const int strip);
00093
00094 void AddHit(const Identifier id);
00095
00097 void AddHit(const int part,
00098 const int seg,
00099 const int gap,
00100 const int strip);
00101
00103 void Clear();
00104
00105 private:
00106 MucRecHitCol *m_pMucRecHitCol;
00107
00108 MucRecHitContainer::GapHitCountMap m_GapHitCount;
00109 MucRecHitContainer::pHitMap m_pHit;
00110
00111 };
00112
00113 #endif