Back to home page

Project CMSSW displayed by LXR

 
 

    


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 }  // namespace l1t
0052 
0053 #endif