CMS 3D CMS Logo

List of all members | Public Member Functions
HcalTPGCoder Class Referenceabstract

#include <HcalTPGCoder.h>

Inheritance diagram for HcalTPGCoder:
HcaluLUTTPGCoder

Public Member Functions

virtual void adc2Linear (const HBHEDataFrame &df, IntegerCaloSamples &ics) const =0
 
virtual void adc2Linear (const HFDataFrame &df, IntegerCaloSamples &ics) const =0
 
virtual void adc2Linear (const QIE10DataFrame &df, IntegerCaloSamples &ics) const =0
 
virtual void adc2Linear (const QIE11DataFrame &df, IntegerCaloSamples &ics) const =0
 
virtual unsigned short adc2Linear (HcalQIESample sample, HcalDetId id) const =0
 
unsigned short adc2Linear (unsigned char adc, HcalDetId id) const
 
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 values. More...
 
virtual float getLUTGain (HcalDetId id) const =0
 
virtual float getLUTPedestal (HcalDetId id) const =0
 
virtual ~HcalTPGCoder ()=default
 

Detailed Description

Converts ADC to linear E or ET for use in the TPG path Also compresses linear scale for transmission to RCT

Note : whether the coder produces E or ET is determined by the specific implementation of the coder.

Author
J. Mans - Minnesota

Definition at line 26 of file HcalTPGCoder.h.

Constructor & Destructor Documentation

virtual HcalTPGCoder::~HcalTPGCoder ( )
virtualdefault

Member Function Documentation

virtual void HcalTPGCoder::adc2Linear ( const HBHEDataFrame df,
IntegerCaloSamples ics 
) const
pure virtual
virtual void HcalTPGCoder::adc2Linear ( const HFDataFrame df,
IntegerCaloSamples ics 
) const
pure virtual

Implemented in HcaluLUTTPGCoder.

virtual void HcalTPGCoder::adc2Linear ( const QIE10DataFrame df,
IntegerCaloSamples ics 
) const
pure virtual

Implemented in HcaluLUTTPGCoder.

virtual void HcalTPGCoder::adc2Linear ( const QIE11DataFrame df,
IntegerCaloSamples ics 
) const
pure virtual

Implemented in HcaluLUTTPGCoder.

virtual unsigned short HcalTPGCoder::adc2Linear ( HcalQIESample  sample,
HcalDetId  id 
) const
pure virtual

Implemented in HcaluLUTTPGCoder.

unsigned short HcalTPGCoder::adc2Linear ( unsigned char  adc,
HcalDetId  id 
) const
inline

Definition at line 34 of file HcalTPGCoder.h.

References adc2Linear().

Referenced by adc2Linear().

34 { return adc2Linear(HcalQIESample(adc,0,0,0),id); }
constexpr int adc(sample_type sample)
get the ADC sample (12 bits)
virtual void adc2Linear(const HBHEDataFrame &df, IntegerCaloSamples &ics) const =0
virtual void HcalTPGCoder::compress ( const IntegerCaloSamples ics,
const std::vector< bool > &  featureBits,
HcalTriggerPrimitiveDigi tp 
) const
pure virtual

Implemented in HcaluLUTTPGCoder.

std::vector< unsigned short > HcalTPGCoder::getLinearizationLUT ( HcalDetId  id) const
virtual

Get the full linearization LUT (128 elements). Default implementation just uses adc2Linear to get all values.

Reimplemented in HcaluLUTTPGCoder.

Definition at line 3 of file HcalTPGCoder.cc.

References adc2Linear(), mps_fire::i, and lumiPlot::lut.

Referenced by HcalLuttoDB::analyze(), and HcalLutManager::getLinearizationLutXmlFromCoderEmap().

3  {
4  std::vector<unsigned short> lut(128);
5  for (unsigned char i=0; i<128; ++i) lut[i]=adc2Linear(i,id);
6  return lut;
7 }
virtual void adc2Linear(const HBHEDataFrame &df, IntegerCaloSamples &ics) const =0
virtual float HcalTPGCoder::getLUTGain ( HcalDetId  id) const
pure virtual

Implemented in HcaluLUTTPGCoder.

virtual float HcalTPGCoder::getLUTPedestal ( HcalDetId  id) const
pure virtual

Implemented in HcaluLUTTPGCoder.