CMS 3D CMS Logo

SimHitInfoForLinks.h
Go to the documentation of this file.
1 #ifndef SimTracker_Common_SimHitInfoForLinks
2 #define SimTracker_Common_SimHitInfoForLinks
3 
4 #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 index.
10 
12  public:
13  explicit SimHitInfoForLinks(PSimHit const* hitp, size_t hitindex, unsigned int tofbin) :
14  eventId_(hitp->eventId()), trackIds_(1, hitp->trackId()), hitIndex_(hitindex), tofBin_(tofbin) {
15  }
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