Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:13:47

0001 // VMProjectionsMemory: Class to hold a reduced format of the tracklet projections (from ProjectionRouter)
0002 #ifndef L1Trigger_TrackFindingTracklet_interface_VMProjectionsMemory_h
0003 #define L1Trigger_TrackFindingTracklet_interface_VMProjectionsMemory_h
0004 
0005 #include "L1Trigger/TrackFindingTracklet/interface/MemoryBase.h"
0006 
0007 #include <vector>
0008 
0009 namespace trklet {
0010 
0011   class Settings;
0012   class Tracklet;
0013 
0014   class VMProjectionsMemory : public MemoryBase {
0015   public:
0016     VMProjectionsMemory(std::string name, Settings const& settings);
0017 
0018     ~VMProjectionsMemory() override = default;
0019 
0020     void addTracklet(Tracklet* tracklet, unsigned int allprojindex);
0021 
0022     unsigned int nTracklets() const { return tracklets_.size(); }
0023 
0024     Tracklet* getTracklet(unsigned int i) { return tracklets_[i].first; }
0025     int getAllProjIndex(unsigned int i) const { return tracklets_[i].second; }
0026 
0027     void writeVMPROJ(bool first, unsigned int iSector);
0028 
0029     void clean() override { tracklets_.clear(); }
0030 
0031     int layer() const { return layer_; }
0032     int disk() const { return disk_; }
0033 
0034   private:
0035     int layer_;
0036     int disk_;
0037     std::vector<std::pair<Tracklet*, unsigned int> > tracklets_;
0038   };
0039 
0040 };  // namespace trklet
0041 #endif