CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions
CastorTPGCoder Class Referenceabstract

#include <CastorTPGCoder.h>

Public Member Functions

virtual unsigned short adc2Linear (HcalQIESample sample, HcalDetId id) const =0
 
unsigned short adc2Linear (unsigned char adc, HcalDetId id) const
 
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 ~CastorTPGCoder ()=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 23 of file CastorTPGCoder.h.

Constructor & Destructor Documentation

virtual CastorTPGCoder::~CastorTPGCoder ( )
virtualdefault

Member Function Documentation

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

Referenced by adc2Linear(), and getLinearizationLUT().

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

Definition at line 29 of file CastorTPGCoder.h.

References adc2Linear().

29  {
30  return adc2Linear(HcalQIESample(adc, 0, 0, 0), id);
31  }
virtual unsigned short adc2Linear(HcalQIESample sample, HcalDetId id) const =0
uint16_t *__restrict__ uint16_t const *__restrict__ adc
std::vector< unsigned short > CastorTPGCoder::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 CastorTPGCoder.cc.

References adc2Linear(), and mps_fire::i.

3  {
4  std::vector<unsigned short> lut(128);
5  for (unsigned char i = 0; i < 128; ++i)
6  lut[i] = adc2Linear(i, id);
7  return lut;
8 }
virtual unsigned short adc2Linear(HcalQIESample sample, HcalDetId id) const =0
virtual float CastorTPGCoder::getLUTGain ( HcalDetId  id) const
pure virtual
virtual float CastorTPGCoder::getLUTPedestal ( HcalDetId  id) const
pure virtual