BOSS 7.0.2
BESIII Offline Software System
Loading...
Searching...
No Matches
InstallArea/include/MucRecEvent/MucRecEvent/MucRecHitContainer.h
Go to the documentation of this file.
1//$id$
2//
3//$log$
4
5/*
6 * 2003/12/12 Zhengyun You Peking University
7 *
8 * 2004/09/12 Zhengyun You Peking University
9 * transplanted to Gaudi framework
10 */
11
12#ifndef MUC_REC_HIT_CONTAINER_H
13#define MUC_REC_HIT_CONTAINER_H
14
15#include <map>
16#include "Identifier/Identifier.h"
17
18#include "MucRecEvent/MucRecHitID.h"
19#include "MucRecEvent/MucRecHit.h"
20
21/**
22 * MucRecHitContainer has a MucRecHitCol which contains all MucRecHit objects for a single event.
23 * Access is optimized for referencing by BesMUCRecHitID indices.
24 *
25 * @author Zhengyun You \URL{mailto:[email protected]}
26 * @see MucRecHit
27 */
28
30{
31 public:
32 typedef std::map<MucRecHitID, int> GapHitCountMap;
33 typedef std::map<MucRecHitID, MucRecHit*> pHitMap;
34
35 // Constructor.
37
38 // Copy constructor.
40
41 // Assignment operator.
43
44 // Destructor.
46
47 public:
48
49 /// Points to the *single* instance of MucRecHitContainer.
50 //static MucRecHitContainer *Instance();
51
52 /// Initializes the MucRecHitContainer with MucRecHitCol.
53 void Init();
54
55 /// Destroys the *single* instance of MucRecHitContainer.
56 void Destroy();
57
58 void SetMucRecHitCol(MucRecHitCol* p);// { m_pMucRecHitCol = p; }
59
60 /// Get MucRecHitCol pointer.
61 MucRecHitCol* GetMucRecHitCol() { return m_pMucRecHitCol; }
62
63 /// How many hits are there in this event?
64 int GetHitCount();
65
66 /// How many hits are there in this gap?
67 int GetGapHitCount(const MucRecHitID gapID);
68
69 /// How many hits are there in this gap?
70 int GetGapHitCount(const int part,
71 const int seg,
72 const int gap);
73
74 /// Get a MucRecHit object by hit identifier.
75 MucRecHit *GetHit(const MucRecHitID hitID);
76
77 /// Get a MucRecHit by part, seg, gap, and hit within the gap.
78 MucRecHit *GetHit(const int part,
79 const int seg,
80 const int gap,
81 const int hit);
82
83 /// Get a MucRecHit by Identifier.
84 /// If doesnt exist, return null.
86
87 /// Get a MucRecHit by part, seg, gap, and strip.
88 /// If doesnt exist, return null.
89 MucRecHit *GetHitByIdentifier(const int part,
90 const int seg,
91 const int gap,
92 const int strip);
93
94 void AddHit(const Identifier id);
95
96 /// Place a new hit object in the container.
97 void AddHit(const int part,
98 const int seg,
99 const int gap,
100 const int strip);
101
102 /// Remove all hit objects from the container, and destroy them.
103 void Clear();
104
105 private:
106 MucRecHitCol *m_pMucRecHitCol;
107
110
111};
112
113#endif /* MUC_REC_HIT_CONTAINER_H */
ObjectVector< MucRecHit > MucRecHitCol
void Clear()
Remove all hit objects from the container, and destroy them.
int GetHitCount()
How many hits are there in this event?
MucRecHit * GetHit(const MucRecHitID hitID)
Get a MucRecHit object by hit identifier.
void AddHit(const Identifier id)
MucRecHitContainer(const MucRecHitContainer &source)
MucRecHitContainer & operator=(const MucRecHitContainer &orig)
void Destroy()
Destroys the single instance of MucRecHitContainer.
MucRecHitCol * GetMucRecHitCol()
Get MucRecHitCol pointer.
void Init()
Points to the single instance of MucRecHitContainer.
MucRecHit * GetHitByIdentifier(const Identifier id)
void SetMucRecHitCol(MucRecHitCol *p)
int GetGapHitCount(const MucRecHitID gapID)
How many hits are there in this gap?