CMS 3D CMS Logo

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

◆ ~CastorTPGCoder()

virtual CastorTPGCoder::~CastorTPGCoder ( )
virtualdefault

Member Function Documentation

◆ adc2Linear() [1/2]

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

Referenced by adc2Linear(), and getLinearizationLUT().

◆ adc2Linear() [2/2]

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

Definition at line 29 of file CastorTPGCoder.h.

References gpuClustering::adc, and 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

◆ getLinearizationLUT()

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

◆ getLUTGain()

virtual float CastorTPGCoder::getLUTGain ( HcalDetId  id) const
pure virtual

◆ getLUTPedestal()

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