File indexing completed on 2023-03-17 11:13:47
0001 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackFitMemory_h
0002 #define L1Trigger_TrackFindingTracklet_interface_TrackFitMemory_h
0003
0004 #include "L1Trigger/TrackFindingTracklet/interface/MemoryBase.h"
0005
0006 #include <vector>
0007
0008 namespace trklet {
0009
0010 class Settings;
0011 class Stub;
0012 class L1TStub;
0013 class Tracklet;
0014
0015 class TrackFitMemory : public MemoryBase {
0016 public:
0017 TrackFitMemory(std::string name, Settings const& settings, double phimin, double phimax);
0018
0019 ~TrackFitMemory() override = default;
0020
0021 void addTrack(Tracklet* tracklet) { tracks_.push_back(tracklet); }
0022 void addStubList(std::vector<const Stub*> stublist) { stublists_.push_back(stublist); }
0023 void addStubidsList(std::vector<std::pair<int, int>> stubidslist) { stubidslists_.push_back(stubidslist); }
0024
0025 unsigned int nTracks() const { return tracks_.size(); }
0026 unsigned int nStublists() const { return stublists_.size(); }
0027 unsigned int nStubidslists() const { return stubidslists_.size(); }
0028
0029 Tracklet* getTrack(unsigned int i) { return tracks_[i]; }
0030 std::vector<const Stub*> getStublist(unsigned int i) const { return stublists_[i]; }
0031 std::vector<std::pair<int, int>> getStubidslist(unsigned int i) const { return stubidslists_[i]; }
0032
0033 void clean() override {
0034 tracks_.clear();
0035 stublists_.clear();
0036 stubidslists_.clear();
0037 }
0038
0039 void writeTF(bool first, unsigned int iSector);
0040
0041 private:
0042 double phimin_;
0043 double phimax_;
0044 std::vector<Tracklet*> tracks_;
0045 std::vector<std::vector<const Stub*>> stublists_;
0046 std::vector<std::vector<std::pair<int, int>>> stubidslists_;
0047 };
0048
0049 };
0050 #endif