File indexing completed on 2023-03-17 11:13:47
0001
0002 #ifndef L1Trigger_TrackFindingTracklet_interface_TrackletProjectionsMemory_h
0003 #define L1Trigger_TrackFindingTracklet_interface_TrackletProjectionsMemory_h
0004
0005 #include "L1Trigger/TrackFindingTracklet/interface/MemoryBase.h"
0006
0007 #include <string>
0008 #include <vector>
0009
0010 namespace trklet {
0011
0012 class Settings;
0013 class Tracklet;
0014
0015 class TrackletProjectionsMemory : public MemoryBase {
0016 public:
0017 TrackletProjectionsMemory(std::string name, Settings const& settings);
0018
0019 ~TrackletProjectionsMemory() override {
0020 if (settings_.writeMonitorData("WriteEmptyProj") && (!hasProj_)) {
0021 edm::LogPrint("Tracklet") << "Empty Projection Memory : " << getName() << std::endl;
0022 }
0023 };
0024
0025 void addProj(Tracklet* tracklet);
0026
0027 unsigned int nTracklets() const { return tracklets_.size(); }
0028
0029 Tracklet* getTracklet(unsigned int i) { return tracklets_[i]; }
0030
0031 void clean() override;
0032
0033 void writeTPROJ(bool first, unsigned int iSector);
0034
0035 int layer() const { return layer_; }
0036 int disk() const { return disk_; }
0037
0038 private:
0039 std::vector<Tracklet*> tracklets_;
0040
0041 bool hasProj_;
0042 int layer_;
0043 int disk_;
0044 };
0045
0046 };
0047 #endif