CMS 3D CMS Logo

CastorTPGCoder.h
Go to the documentation of this file.
1 #ifndef CALIBFORMATS_CASTOROBJECTS_CASTORTPGCODER_H
2 #define CALIBFORMATS_CASTOROBJECTS_CASTORTPGCODER_H 1
3 
7 
8 // forward declaration of EventSetup is all that is needed here
9 namespace edm {
10  class EventSetup;
11 }
12 
24 public:
25  virtual ~CastorTPGCoder() = default;
26  // virtual void adc2Linear(const CastorDataFrame& df, IntegerCaloSamples& ics) const = 0;
27 
28  virtual unsigned short adc2Linear(HcalQIESample sample, HcalDetId id) const = 0;
29  unsigned short adc2Linear(unsigned char adc, HcalDetId id) const {
30  return adc2Linear(HcalQIESample(adc, 0, 0, 0), id);
31  }
32  virtual float getLUTPedestal(HcalDetId id) const = 0;
33  virtual float getLUTGain(HcalDetId id) const = 0;
37  virtual std::vector<unsigned short> getLinearizationLUT(HcalDetId id) const;
38 };
39 
40 #endif
ecalMGPA::adc
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
Definition: EcalMGPASample.h:11
simplePhotonAnalyzer_cfi.sample
sample
Definition: simplePhotonAnalyzer_cfi.py:12
CastorDataFrame.h
edm
HLT enums.
Definition: AlignableModifier.h:19
HcalQIESample
Definition: HcalQIESample.h:32
CastorTPGCoder::adc2Linear
unsigned short adc2Linear(unsigned char adc, HcalDetId id) const
Definition: CastorTPGCoder.h:29
CastorTPGCoder::getLUTGain
virtual float getLUTGain(HcalDetId id) const =0
IntegerCaloSamples.h
CastorTPGCoder::adc2Linear
virtual unsigned short adc2Linear(HcalQIESample sample, HcalDetId id) const =0
HcalDetId.h
HcalDetId
Definition: HcalDetId.h:12
CastorTPGCoder
Definition: CastorTPGCoder.h:23
CastorTPGCoder::getLUTPedestal
virtual float getLUTPedestal(HcalDetId id) const =0
CastorTPGCoder::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: CastorTPGCoder.cc:3
CastorTPGCoder::~CastorTPGCoder
virtual ~CastorTPGCoder()=default
EventSetup