CMS 3D CMS Logo

SimHitInfoForLinks.h
Go to the documentation of this file.
1 #ifndef SimTracker_Common_SimHitInfoForLinks
2 #define SimTracker_Common_SimHitInfoForLinks
3 
5 #include <vector>
6 
7 // A stripped down version of PSimHit used to save memory.
8 // Contains only the information needed to be make DigiSimLinks.
9 // Include the simHit's index in the source collection, collection name suffix
10 // index.
11 
13 public:
14  explicit SimHitInfoForLinks(PSimHit const *hitp, size_t hitindex, unsigned int tofbin)
15  : eventId_(hitp->eventId()), trackIds_(1, hitp->trackId()), hitIndex_(hitindex), tofBin_(tofbin) {}
16 
17  const EncodedEventId &eventId() const { return eventId_; }
18  const std::vector<unsigned int> &trackIds() const { return trackIds_; }
19  std::vector<unsigned int> &trackIds() { return trackIds_; } // needed ATM in phase2 digitizer
20  unsigned int trackId() const { return trackIds_[0]; }
21  size_t hitIndex() const { return hitIndex_; }
22  unsigned int tofBin() const { return tofBin_; }
23 
24 private:
26  std::vector<unsigned int> trackIds_;
27  size_t hitIndex_;
28  unsigned int tofBin_;
29 };
30 #endif