CMS 3D CMS Logo

HcalTPGCoder.h
Go to the documentation of this file.
1 #ifndef CALIBFORMATS_HCALOBJECTS_HCALTPGCODER_H
2 #define CALIBFORMATS_HCALOBJECTS_HCALTPGCODER_H 1
3 
11 
12 // forward declaration of EventSetup is all that is needed here
13 namespace edm {
14  class EventSetup;
15 }
16 
27 class HcalTPGCoder {
28 public:
29  virtual ~HcalTPGCoder() = default;
30  virtual void adc2Linear(const HBHEDataFrame& df, IntegerCaloSamples& ics) const = 0;
31  virtual void adc2Linear(const HFDataFrame& df, IntegerCaloSamples& ics) const = 0;
32  virtual void adc2Linear(const QIE10DataFrame& df, IntegerCaloSamples& ics, bool ootpu_lut) const = 0;
33  virtual void adc2Linear(const QIE11DataFrame& df, IntegerCaloSamples& ics) const = 0;
34  virtual unsigned short adc2Linear(HcalQIESample sample, HcalDetId id) const = 0;
35  unsigned short adc2Linear(unsigned char adc, HcalDetId id) const {
36  return adc2Linear(HcalQIESample(adc, 0, 0, 0), id);
37  }
38  virtual void compress(const IntegerCaloSamples& ics,
39  const std::vector<bool>& featureBits,
40  HcalTriggerPrimitiveDigi& tp) const = 0;
41  virtual float getLUTPedestal(HcalDetId id) const = 0;
42  virtual float getLUTGain(HcalDetId id) const = 0;
46  virtual std::vector<unsigned short> getLinearizationLUT(HcalDetId id) const;
47  virtual std::vector<unsigned short> getLinearizationLUT(HcalZDCDetId id, bool ootput_lut) const;
48 };
49 
50 #endif
virtual float getLUTPedestal(HcalDetId id) const =0
virtual float getLUTGain(HcalDetId id) const =0
virtual void compress(const IntegerCaloSamples &ics, const std::vector< bool > &featureBits, HcalTriggerPrimitiveDigi &tp) const =0
virtual std::vector< unsigned short > getLinearizationLUT(HcalDetId id) const
Get the full linearization LUT (128 elements). Default implementation just uses adc2Linear to get all...
Definition: HcalTPGCoder.cc:3
virtual ~HcalTPGCoder()=default
virtual void adc2Linear(const HBHEDataFrame &df, IntegerCaloSamples &ics) const =0
HLT enums.
uint16_t *__restrict__ uint16_t const *__restrict__ adc
unsigned short adc2Linear(unsigned char adc, HcalDetId id) const
Definition: HcalTPGCoder.h:35