File indexing completed on 2024-04-06 12:04:33
0001 #ifndef DataFormats_L1TCalorimeter_HGCalTriggerCell_h
0002 #define DataFormats_L1TCalorimeter_HGCalTriggerCell_h
0003
0004 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
0005 #include "DataFormats/L1Trigger/interface/L1Candidate.h"
0006 #include "DataFormats/L1Trigger/interface/BXVector.h"
0007 #include "DataFormats/DetId/interface/DetId.h"
0008
0009 namespace l1t {
0010
0011 class HGCalTriggerCell;
0012 typedef BXVector<HGCalTriggerCell> HGCalTriggerCellBxCollection;
0013
0014 class HGCalTriggerCell : public L1Candidate {
0015 public:
0016 HGCalTriggerCell() {}
0017
0018 HGCalTriggerCell(const LorentzVector& p4, int pt = 0, int eta = 0, int phi = 0, int qual = 0, uint32_t detid = 0);
0019
0020 ~HGCalTriggerCell() override;
0021
0022 void setDetId(uint32_t detid) { detid_ = DetId(detid); }
0023 void setPosition(const GlobalPoint& position) { position_ = position; }
0024
0025 uint32_t detId() const { return detid_.rawId(); }
0026 const GlobalPoint& position() const { return position_; }
0027
0028 int subdetId() const { return detid_.subdetId(); }
0029
0030 void setMipPt(double value) { mipPt_ = value; }
0031 double mipPt() const { return mipPt_; }
0032
0033 void setUncompressedCharge(uint32_t value) { uncompressedCharge_ = value; }
0034 uint32_t uncompressedCharge() const { return uncompressedCharge_; }
0035
0036 void setCompressedCharge(uint32_t value) { compressedCharge_ = value; }
0037 uint32_t compressedCharge() const { return compressedCharge_; }
0038
0039 void setPt(double pT);
0040
0041 private:
0042 DetId detid_;
0043 GlobalPoint position_;
0044
0045 double mipPt_{0.};
0046
0047 uint32_t uncompressedCharge_{0};
0048 uint32_t compressedCharge_{0};
0049 };
0050
0051 }
0052
0053 #endif