CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CaloTPGTranscoder.h
Go to the documentation of this file.
1 #ifndef CALIBFORMATS_CALOTPG_CALOTPGTRANSCODER_H
2 #define CALIBFORMATS_CALOTPG_CALOTPGTRANSCODER_H 1
3 
4 #include <boost/shared_ptr.hpp>
9 
10 class HcalTPGCompressor;
11 class EcalTPGCompressor;
12 
13 namespace edm {
14  class EventSetup;
15 }
16 
27 public:
29  virtual ~CaloTPGTranscoder();
30 
31  enum Mode { All=0, RCT=1, HcalTPG=2, EcalTPG=3 };
33  virtual void setup(const edm::EventSetup& es, Mode mode=All) const;
35  virtual void releaseSetup() const;
37  virtual HcalTriggerPrimitiveSample hcalCompress(const HcalTrigTowerDetId& id, unsigned int sample, bool fineGrain) const = 0;
39  virtual EcalTriggerPrimitiveSample ecalCompress(const EcalTrigTowerDetId& id, unsigned int sample, bool fineGrain) const = 0;
41  virtual void rctEGammaUncompress(const HcalTrigTowerDetId& hid, const HcalTriggerPrimitiveSample& hc,
42  const EcalTrigTowerDetId& eid, const EcalTriggerPrimitiveSample& ec,
43  unsigned int& et, bool& egVeto, bool& activity) const = 0;
45  virtual void rctJetUncompress(const HcalTrigTowerDetId& hid, const HcalTriggerPrimitiveSample& hc,
46  const EcalTrigTowerDetId& eid, const EcalTriggerPrimitiveSample& ec,
47  unsigned int& et) const = 0;
48 
49  virtual double hcaletValue(const int& ieta, const int& compET) const = 0;
50  virtual double hcaletValue(const int& ieta, const int& iphi, const int& compressedValue) const = 0;
51  virtual double hcaletValue(const HcalTrigTowerDetId& hid, const HcalTriggerPrimitiveSample& hc) const = 0;
52  boost::shared_ptr<HcalTPGCompressor> getHcalCompressor() const { return hccompress_; }
53  boost::shared_ptr<EcalTPGCompressor> getEcalCompressor() const { return eccompress_; }
54 private:
55  boost::shared_ptr<HcalTPGCompressor> hccompress_;
56  boost::shared_ptr<EcalTPGCompressor> eccompress_;
57 };
58 
59 #endif
virtual void releaseSetup() const
Release any objects obtained from the EventSetup.
virtual ~CaloTPGTranscoder()
boost::shared_ptr< HcalTPGCompressor > hccompress_
virtual HcalTriggerPrimitiveSample hcalCompress(const HcalTrigTowerDetId &id, unsigned int sample, bool fineGrain) const =0
Compression from linear samples+fine grain in the HTR.
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.
boost::shared_ptr< HcalTPGCompressor > getHcalCompressor() 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.
virtual void setup(const edm::EventSetup &es, Mode mode=All) const
Obtain any needed objects from the EventSetup. Note that any member variables which are changed must ...
boost::shared_ptr< EcalTPGCompressor > getEcalCompressor() const
boost::shared_ptr< EcalTPGCompressor > eccompress_
virtual double hcaletValue(const int &ieta, const int &compET) const =0