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 
10 
11 // forward declaration of EventSetup is all that is needed here
12 namespace edm {
13  class EventSetup;
14 }
15 
26 class HcalTPGCoder {
27 public:
28  virtual ~HcalTPGCoder() = default;
29  virtual void adc2Linear(const HBHEDataFrame& df, IntegerCaloSamples& ics) const = 0;
30  virtual void adc2Linear(const HFDataFrame& df, IntegerCaloSamples& ics) const = 0;
31  virtual void adc2Linear(const QIE10DataFrame& df, IntegerCaloSamples& ics) const = 0;
32  virtual void adc2Linear(const QIE11DataFrame& df, IntegerCaloSamples& ics) const = 0;
33  virtual unsigned short adc2Linear(HcalQIESample sample,HcalDetId id) const = 0;
34  unsigned short adc2Linear(unsigned char adc, HcalDetId id) const { return adc2Linear(HcalQIESample(adc,0,0,0),id); }
35  virtual void compress(const IntegerCaloSamples& ics, const std::vector<bool>& featureBits, HcalTriggerPrimitiveDigi& tp) const = 0;
36  virtual float getLUTPedestal(HcalDetId id) const = 0;
37  virtual float getLUTGain(HcalDetId id) const = 0;
41  virtual std::vector<unsigned short> getLinearizationLUT(HcalDetId id) const;
42 };
43 
44 #endif
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
HLT enums.
unsigned short adc2Linear(unsigned char adc, HcalDetId id) const
Definition: HcalTPGCoder.h:34