Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:35

0001 #ifndef DataFormats_L1TMuonPhase2_EMTFInput_h
0002 #define DataFormats_L1TMuonPhase2_EMTFInput_h
0003 
0004 #include <cstdint>
0005 #include <vector>
0006 
0007 #include "DataFormats/L1TMuon/interface/L1TMuonSubsystems.h"
0008 
0009 namespace l1t::phase2 {
0010 
0011   class EMTFInput {
0012   public:
0013     typedef std::vector<uint16_t> hits_t;
0014     typedef std::vector<uint16_t> segs_t;
0015 
0016     EMTFInput() : endcap_(0), sector_(0), bx_(0), hits_{}, segs_{} {}
0017     ~EMTFInput() = default;
0018 
0019     // Setters
0020     void setEndcap(int16_t aEndcap) { endcap_ = aEndcap; }
0021     void setSector(int16_t aSector) { sector_ = aSector; }
0022     void setBx(int16_t aBx) { bx_ = aBx; }
0023     void setHits(const hits_t& aHits) { hits_ = aHits; }
0024     void setSegs(const segs_t& aSegs) { segs_ = aSegs; }
0025 
0026     // Getters
0027     int16_t endcap() const { return endcap_; }
0028     int16_t sector() const { return sector_; }
0029     int16_t bx() const { return bx_; }
0030     const hits_t& hits() const { return hits_; }
0031     const segs_t& segs() const { return segs_; }
0032 
0033   private:
0034     int16_t endcap_;
0035     int16_t sector_;
0036     int16_t bx_;
0037     hits_t hits_;
0038     segs_t segs_;
0039   };
0040 
0041   typedef std::vector<EMTFInput> EMTFInputCollection;
0042 
0043 }  // namespace l1t::phase2
0044 
0045 #endif  // DataFormats_L1TMuonPhase2_EMTFInput_h not defined