CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 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
 

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 24 of file HcalTPGCoder.h.

Member Function Documentation

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

Implemented in HcaluLUTTPGCoder.

Referenced by getLinearizationLUT().

virtual void HcalTPGCoder::adc2Linear ( const HFDataFrame 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 29 of file HcalTPGCoder.h.

References adc2Linear().

Referenced by adc2Linear().

29 { return adc2Linear(HcalQIESample(adc,0,0,0),id); }
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.

Definition at line 3 of file HcalTPGCoder.cc.

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

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 }
int i
Definition: DBlmapReader.cc:9
tuple lut
Definition: lumiPlot.py:244
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.