File indexing completed on 2024-04-06 12:21:56
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
0031 std::vector<const Stub*> getStublist(unsigned int i) const { return stublists_[i]; }
0032
0033 std::vector<std::pair<int, int>> getStubidslist(unsigned int i) const { return stubidslists_[i]; }
0034
0035 void clean() override {
0036 tracks_.clear();
0037 stublists_.clear();
0038 stubidslists_.clear();
0039 }
0040
0041 void writeTF(bool first, unsigned int iSector);
0042
0043 private:
0044 double phimin_;
0045 double phimax_;
0046 std::vector<Tracklet*> tracks_;
0047 std::vector<std::vector<const Stub*>> stublists_;
0048 std::vector<std::vector<std::pair<int, int>>> stubidslists_;
0049 };
0050
0051 };
0052 #endif