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 {
35  return adc2Linear(HcalQIESample(adc, 0, 0, 0), id);
36  }
37  virtual void compress(const IntegerCaloSamples& ics,
38  const std::vector<bool>& featureBits,
39  HcalTriggerPrimitiveDigi& tp) const = 0;
40  virtual float getLUTPedestal(HcalDetId id) const = 0;
41  virtual float getLUTGain(HcalDetId id) const = 0;
45  virtual std::vector<unsigned short> getLinearizationLUT(HcalDetId id) const;
46 };
47 
48 #endif
ecalMGPA::adc
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
Definition: EcalMGPASample.h:11
HFDataFrame.h
simplePhotonAnalyzer_cfi.sample
sample
Definition: simplePhotonAnalyzer_cfi.py:12
edm
HLT enums.
Definition: AlignableModifier.h:19
HcalTPGCoder::~HcalTPGCoder
virtual ~HcalTPGCoder()=default
HcalTPGCoder::getLinearizationLUT
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
HcalTPGCoder::adc2Linear
unsigned short adc2Linear(unsigned char adc, HcalDetId id) const
Definition: HcalTPGCoder.h:34
HcalTPGCoder::adc2Linear
virtual void adc2Linear(const HBHEDataFrame &df, IntegerCaloSamples &ics) const =0
IntegerCaloSamples
Definition: IntegerCaloSamples.h:16
HcalQIESample
Definition: HcalQIESample.h:32
HcalTriggerPrimitiveDigi.h
HcalTPGCoder
Definition: HcalTPGCoder.h:26
HcalTPGCoder::getLUTGain
virtual float getLUTGain(HcalDetId id) const =0
IntegerCaloSamples.h
cmsswSequenceInfo.tp
tp
Definition: cmsswSequenceInfo.py:17
HBHEDataFrame
Definition: HBHEDataFrame.h:14
HcalTriggerPrimitiveDigi
Definition: HcalTriggerPrimitiveDigi.h:13
QIE10DataFrame.h
HcalDetId
Definition: HcalDetId.h:12
HFDataFrame
Definition: HFDataFrame.h:14
HcalTPGCoder::compress
virtual void compress(const IntegerCaloSamples &ics, const std::vector< bool > &featureBits, HcalTriggerPrimitiveDigi &tp) const =0
QIE10DataFrame
Definition: QIE10DataFrame.h:11
QIE11DataFrame
Definition: QIE11DataFrame.h:11
QIE11DataFrame.h
Ecal07UnpackerData_cfi.ics
ics
Definition: Ecal07UnpackerData_cfi.py:55
HcalTPGCoder::getLUTPedestal
virtual float getLUTPedestal(HcalDetId id) const =0
EventSetup
HBHEDataFrame.h