Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef DataFormats_L1TMuonPhase2_EMTFHit_h
0002 #define DataFormats_L1TMuonPhase2_EMTFHit_h
0003 
0004 #include <cstdint>
0005 #include <vector>
0006 
0007 #include "DataFormats/L1TMuon/interface/L1TMuonSubsystems.h"
0008 
0009 namespace l1t::phase2 {
0010 
0011   class EMTFHit {
0012   public:
0013     EMTFHit();
0014     ~EMTFHit() = default;
0015 
0016     // Setters
0017     void setId(uint16_t aId) { id_ = aId; }
0018 
0019     void setRawDetId(uint32_t aRawDetId) { raw_det_id_ = aRawDetId; }
0020     void setSubsystem(int16_t aSubsystem) { subsystem_ = aSubsystem; }
0021     void setEndcap(int16_t aEndcap) { endcap_ = aEndcap; }
0022     void setSector(int16_t aSector) { sector_ = aSector; }
0023     void setSubsector(int16_t aSubsector) { subsector_ = aSubsector; }
0024     void setStation(int16_t aStation) { station_ = aStation; }
0025     void setRing(int16_t aRing) { ring_ = aRing; }
0026     void setRoll(int16_t aRoll) { roll_ = aRoll; }
0027     void setLayer(int16_t aLayer) { layer_ = aLayer; }
0028     void setChamber(int16_t aChamber) { chamber_ = aChamber; }
0029 
0030     void setCscId(int16_t aCscid) { csc_id_ = aCscid; }
0031     void setCscFR(int16_t aCscfr) { csc_fr_ = aCscfr; }
0032 
0033     void setStrip(int16_t aStrip) { strip_ = aStrip; }
0034     void setStripLo(int16_t aStripLo) { strip_lo_ = aStripLo; }
0035     void setStripHi(int16_t aStripHi) { strip_hi_ = aStripHi; }
0036     void setStripQuart(int16_t aStripQuart) { strip_quart_ = aStripQuart; }                   // Run 3
0037     void setStripEighth(int16_t aStripEighth) { strip_eighth_ = aStripEighth; }               // Run 3
0038     void setStripQuartBit(int16_t aStripQuartBit) { strip_quart_bit_ = aStripQuartBit; }      // Run 3
0039     void setStripEighthBit(int16_t aStripEighthBit) { strip_eighth_bit_ = aStripEighthBit; }  // Run 3
0040 
0041     void setWire1(int16_t aWire1) { wire1_ = aWire1; }
0042     void setWire2(int16_t aWire2) { wire2_ = aWire2; }
0043 
0044     void setBend(int16_t aBend) { bend_ = aBend; }
0045     void setSlope(int16_t aSlope) { slope_ = aSlope; }
0046 
0047     void setBx(int16_t aBx) { bx_ = aBx; }
0048     void setSubbx(int16_t aSubbx) { subbx_ = aSubbx; }
0049 
0050     void setQuality(int16_t aQuality) { quality_ = aQuality; }
0051     void setPattern(int16_t aPattern) { pattern_ = aPattern; }
0052 
0053     void setGlobPhi(float aGlobPhi) { glob_phi_ = aGlobPhi; }
0054     void setGlobTheta(float aGlobTheta) { glob_theta_ = aGlobTheta; }
0055     void setGlobPerp(float aGlobPerp) { glob_perp_ = aGlobPerp; }
0056     void setGlobZ(float aGlobZ) { glob_z_ = aGlobZ; }
0057     void setGlobTime(float aGlobTime) { glob_time_ = aGlobTime; }
0058 
0059     void setEmtfChamber(int16_t aEmtfChamber) { emtf_chamber_ = aEmtfChamber; }
0060     void setEmtfSegment(int16_t aEmtfSegment) { emtf_segment_ = aEmtfSegment; }
0061     void setEmtfPhi(int16_t aEmtfPhi) { emtf_phi_ = aEmtfPhi; }
0062     void setEmtfBend(int16_t aEmtfBend) { emtf_bend_ = aEmtfBend; }
0063     void setEmtfTheta1(int16_t aEmtfTheta1) { emtf_theta1_ = aEmtfTheta1; }
0064     void setEmtfTheta2(int16_t aEmtfTheta2) { emtf_theta2_ = aEmtfTheta2; }
0065     void setEmtfQual1(int16_t aEmtfQual1) { emtf_qual1_ = aEmtfQual1; }
0066     void setEmtfQual2(int16_t aEmtfQual2) { emtf_qual2_ = aEmtfQual2; }
0067     void setEmtfTime(int16_t aEmtfTime) { emtf_time_ = aEmtfTime; }
0068     void setEmtfSite(int16_t aEmtfSite) { emtf_site_ = aEmtfSite; }
0069     void setEmtfHost(int16_t aEmtfHost) { emtf_host_ = aEmtfHost; }
0070     void setEmtfZones(int16_t aEmtfZones) { emtf_zones_ = aEmtfZones; }
0071     void setEmtfTimezones(int16_t aEmtfTimezones) { emtf_timezones_ = aEmtfTimezones; }
0072 
0073     void setFlagNeighbor(bool aNeighbor) { flag_neighbor_ = aNeighbor; }
0074     void setFlagSubstitute(bool aSubstitute) { flag_substitute_ = aSubstitute; }
0075     void setFlagValid(bool aValid) { flag_valid_ = aValid; }
0076 
0077     // Getters
0078     uint16_t id() const { return id_; }
0079 
0080     uint32_t rawDetId() const { return raw_det_id_; }
0081     int16_t subsystem() const { return subsystem_; }
0082     int16_t endcap() const { return endcap_; }
0083     int16_t sector() const { return sector_; }
0084     int16_t subsector() const { return subsector_; }
0085     int16_t station() const { return station_; }
0086     int16_t ring() const { return ring_; }
0087     int16_t roll() const { return roll_; }
0088     int16_t layer() const { return layer_; }
0089     int16_t chamber() const { return chamber_; }
0090 
0091     int16_t cscId() const { return csc_id_; }
0092     int16_t cscFR() const { return csc_fr_; }
0093 
0094     int16_t strip() const { return strip_; }
0095     int16_t stripLo() const { return strip_lo_; }
0096     int16_t stripHi() const { return strip_hi_; }
0097     int16_t stripQuart() const { return strip_quart_; }           // Run 3
0098     int16_t stripEighth() const { return strip_eighth_; }         // Run 3
0099     int16_t stripQuartBit() const { return strip_quart_bit_; }    // Run 3
0100     int16_t stripEighthBit() const { return strip_eighth_bit_; }  // Run 3
0101 
0102     int16_t wire1() const { return wire1_; }
0103     int16_t wire2() const { return wire2_; }
0104 
0105     int16_t bend() const { return bend_; }
0106     int16_t slope() const { return slope_; }
0107 
0108     int16_t bx() const { return bx_; }
0109     int16_t subbx() const { return subbx_; }
0110 
0111     int16_t quality() const { return quality_; }
0112     int16_t pattern() const { return pattern_; }
0113 
0114     float globPhi() const { return glob_phi_; }
0115     float globTheta() const { return glob_theta_; }
0116     float globPerp() const { return glob_perp_; }
0117     float globZ() const { return glob_z_; }
0118     float globTime() const { return glob_time_; }
0119 
0120     int16_t emtfChamber() const { return emtf_chamber_; }
0121     int16_t emtfSegment() const { return emtf_segment_; }
0122     int16_t emtfPhi() const { return emtf_phi_; }
0123     int16_t emtfBend() const { return emtf_bend_; }
0124     int16_t emtfTheta1() const { return emtf_theta1_; }
0125     int16_t emtfTheta2() const { return emtf_theta2_; }
0126     int16_t emtfQual1() const { return emtf_qual1_; }
0127     int16_t emtfQual2() const { return emtf_qual2_; }
0128     int16_t emtfTime() const { return emtf_time_; }
0129     int16_t emtfSite() const { return emtf_site_; }
0130     int16_t emtfHost() const { return emtf_host_; }
0131     int16_t emtfZones() const { return emtf_zones_; }
0132     int16_t emtfTimezones() const { return emtf_timezones_; }
0133 
0134     bool flagNeighbor() const { return flag_neighbor_; }
0135     bool flagSubstitute() const { return flag_substitute_; }
0136     bool flagValid() const { return flag_valid_; }
0137 
0138   private:
0139     uint16_t id_;
0140 
0141     uint32_t raw_det_id_;
0142     int16_t subsystem_;
0143     int16_t endcap_;
0144     int16_t sector_;
0145     int16_t subsector_;
0146     int16_t station_;
0147     int16_t ring_;
0148     int16_t roll_;
0149     int16_t layer_;
0150     int16_t chamber_;
0151 
0152     int16_t csc_id_;
0153     int16_t csc_fr_;  // front/rear
0154 
0155     int16_t strip_;
0156     int16_t strip_lo_;
0157     int16_t strip_hi_;
0158     int16_t strip_quart_;
0159     int16_t strip_eighth_;
0160     int16_t strip_quart_bit_;
0161     int16_t strip_eighth_bit_;
0162 
0163     int16_t wire1_;
0164     int16_t wire2_;
0165 
0166     int16_t bend_;
0167     int16_t slope_;
0168 
0169     int16_t bx_;
0170     int16_t subbx_;
0171 
0172     int16_t quality_;
0173     int16_t pattern_;
0174 
0175     float glob_phi_;
0176     float glob_theta_;
0177     float glob_perp_;
0178     float glob_z_;
0179     float glob_time_;
0180 
0181     int16_t emtf_chamber_;
0182     int16_t emtf_segment_;
0183     int16_t emtf_phi_;
0184     int16_t emtf_bend_;
0185     int16_t emtf_slope_;
0186     int16_t emtf_theta1_;
0187     int16_t emtf_theta2_;
0188     int16_t emtf_qual1_;
0189     int16_t emtf_qual2_;
0190     int16_t emtf_time_;
0191     int16_t emtf_site_;
0192     int16_t emtf_host_;
0193     int16_t emtf_zones_;
0194     int16_t emtf_timezones_;
0195 
0196     bool flag_neighbor_;
0197     bool flag_substitute_;
0198     bool flag_valid_;
0199   };
0200 
0201   typedef std::vector<EMTFHit> EMTFHitCollection;
0202 
0203 }  // namespace l1t::phase2
0204 
0205 #endif  // DataFormats_L1TMuonPhase2_EMTFHit_h not defined