CMS 3D CMS Logo

CaloTPGTranscoder.h
Go to the documentation of this file.
1 #ifndef CALIBFORMATS_CALOTPG_CALOTPGTRANSCODER_H
2 #define CALIBFORMATS_CALOTPG_CALOTPGTRANSCODER_H 1
3 
8 #include <memory>
9 
10 class HcalTPGCompressor;
11 class EcalTPGCompressor;
12 
13 namespace edm {
14  class EventSetup;
15 }
16 
25 public:
27  virtual ~CaloTPGTranscoder();
28 
29  enum Mode { All = 0, RCT = 1, HcalTPG = 2, EcalTPG = 3 };
32  unsigned int sample,
33  int fineGrain) const = 0;
36  unsigned int sample,
37  bool fineGrain) const = 0;
39  virtual void rctEGammaUncompress(const HcalTrigTowerDetId& hid,
41  const EcalTrigTowerDetId& eid,
43  unsigned int& et,
44  bool& egVeto,
45  bool& activity) const = 0;
47  virtual void rctJetUncompress(const HcalTrigTowerDetId& hid,
49  const EcalTrigTowerDetId& eid,
51  unsigned int& et) const = 0;
52 
53  virtual double hcaletValue(const int& ieta, const int& iphi, const int& version, const int& compressedValue) const = 0;
54  virtual double hcaletValue(const HcalTrigTowerDetId& hid, const HcalTriggerPrimitiveSample& hc) const = 0;
55  std::shared_ptr<const HcalTPGCompressor> getHcalCompressor() const { return hccompress_; }
56  std::shared_ptr<const EcalTPGCompressor> getEcalCompressor() const { return eccompress_; }
57 
58 private:
59  std::shared_ptr<const HcalTPGCompressor> hccompress_;
60  std::shared_ptr<const EcalTPGCompressor> eccompress_;
61 };
62 
63 #endif
virtual HcalTriggerPrimitiveSample hcalCompress(const HcalTrigTowerDetId &id, unsigned int sample, int fineGrain) const =0
Compression from linear samples+fine grain in the HTR.
virtual ~CaloTPGTranscoder()
std::shared_ptr< const HcalTPGCompressor > hccompress_
std::shared_ptr< const EcalTPGCompressor > eccompress_
virtual void rctEGammaUncompress(const HcalTrigTowerDetId &hid, const HcalTriggerPrimitiveSample &hc, const EcalTrigTowerDetId &eid, const EcalTriggerPrimitiveSample &ec, unsigned int &et, bool &egVeto, bool &activity) const =0
Uncompression for the Electron/Photon path in the RCT.
std::shared_ptr< const HcalTPGCompressor > getHcalCompressor() const
std::shared_ptr< const EcalTPGCompressor > getEcalCompressor() const
virtual EcalTriggerPrimitiveSample ecalCompress(const EcalTrigTowerDetId &id, unsigned int sample, bool fineGrain) const =0
Compression from linear samples+fine grain in the ECAL.
virtual void rctJetUncompress(const HcalTrigTowerDetId &hid, const HcalTriggerPrimitiveSample &hc, const EcalTrigTowerDetId &eid, const EcalTriggerPrimitiveSample &ec, unsigned int &et) const =0
Uncompression for the JET path in the RCT.
HLT enums.
virtual double hcaletValue(const int &ieta, const int &iphi, const int &version, const int &compressedValue) const =0