CMS 3D CMS Logo

VMProjectionsMemory.h
Go to the documentation of this file.
1 // VMProjectionsMemory: Class to hold a reduced format of the tracklet projections (from ProjectionRouter)
2 #ifndef L1Trigger_TrackFindingTracklet_interface_VMProjectionsMemory_h
3 #define L1Trigger_TrackFindingTracklet_interface_VMProjectionsMemory_h
4 
6 
7 #include <vector>
8 
9 namespace trklet {
10 
11  class Settings;
12  class Tracklet;
13 
15  public:
16  VMProjectionsMemory(std::string name, Settings const& settings);
17 
18  ~VMProjectionsMemory() override = default;
19 
20  void addTracklet(Tracklet* tracklet, unsigned int allprojindex);
21 
22  unsigned int nTracklets() const { return tracklets_.size(); }
23 
24  Tracklet* getTracklet(unsigned int i) { return tracklets_[i].first; }
25  int getAllProjIndex(unsigned int i) const { return tracklets_[i].second; }
26 
27  void writeVMPROJ(bool first, unsigned int iSector);
28 
29  void clean() override { tracklets_.clear(); }
30 
31  int layer() const { return layer_; }
32  int disk() const { return disk_; }
33 
34  private:
35  int layer_;
36  int disk_;
37  std::vector<std::pair<Tracklet*, unsigned int> > tracklets_;
38  };
39 
40 }; // namespace trklet
41 #endif
unsigned int nTracklets() const
void writeVMPROJ(bool first, unsigned int iSector)
int getAllProjIndex(unsigned int i) const
~VMProjectionsMemory() override=default
VMProjectionsMemory(std::string name, Settings const &settings)
Tracklet * getTracklet(unsigned int i)
void addTracklet(Tracklet *tracklet, unsigned int allprojindex)
std::vector< std::pair< Tracklet *, unsigned int > > tracklets_