/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
CalibFormats/CastorObjects/interface/CastorTPGCoder.h
40 строк
1 KB
Cms Build
Clang-Format
09 май 2019, 07:16
09 май 2019, 07:16
7f0c057
Код
Авторство
О чём код?
#ifndef CALIBFORMATS_CASTOROBJECTS_CASTORTPGCODER_H #define CALIBFORMATS_CASTOROBJECTS_CASTORTPGCODER_H 1 #include "CalibFormats/CaloObjects/interface/IntegerCaloSamples.h" #include "DataFormats/HcalDigi/interface/CastorDataFrame.h" #include "DataFormats/HcalDetId/interface/HcalDetId.h" // forward declaration of EventSetup is all that is needed here namespace edm { class EventSetup; } /** \class CastorTPGCoder * * 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 */ class CastorTPGCoder { public: virtual ~CastorTPGCoder() = default; // virtual void adc2Linear(const CastorDataFrame& df, IntegerCaloSamples& ics) const = 0; virtual unsigned short adc2Linear(HcalQIESample sample, HcalDetId id) const = 0; unsigned short adc2Linear(unsigned char adc, HcalDetId id) const { return adc2Linear(HcalQIESample(adc, 0, 0, 0), id); } virtual float getLUTPedestal(HcalDetId id) const = 0; virtual float getLUTGain(HcalDetId id) const = 0; /** \brief Get the full linearization LUT (128 elements). Default implementation just uses adc2Linear to get all values */ virtual std::vector<unsigned short> getLinearizationLUT(HcalDetId id) const; }; #endif