File indexing completed on 2023-03-17 11:13:47
0001
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 };
0041 #endif