Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:21:56

0001 // TrackletProjectionsMemory: this class holds the
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 };  // namespace trklet
0047 #endif