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
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; }
0037 void setStripEighth(int16_t aStripEighth) { strip_eighth_ = aStripEighth; }
0038 void setStripQuartBit(int16_t aStripQuartBit) { strip_quart_bit_ = aStripQuartBit; }
0039 void setStripEighthBit(int16_t aStripEighthBit) { strip_eighth_bit_ = aStripEighthBit; }
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
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_; }
0098 int16_t stripEighth() const { return strip_eighth_; }
0099 int16_t stripQuartBit() const { return strip_quart_bit_; }
0100 int16_t stripEighthBit() const { return strip_eighth_bit_; }
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_;
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 }
0204
0205 #endif