Go to the documentation of this file.
5 #include "CLHEP/Random/RandGaussQ.h"
15 bool risingReady(
true);
17 bool hasTDCValues =
true;
21 for (
int ibin = 0; ibin < lf.
size(); ++ibin) {
36 int preciseBegin = ibin * tdcBins;
37 int preciseEnd = preciseBegin + tdcBins;
40 for (
int i = preciseBegin;
i < preciseEnd; ++
i) {
41 if ((!risingReady) && (
i == preciseBegin) && (
i != 0)) {
51 TDC_RisingEdge =
i - preciseBegin;
53 }
else if (
i == (preciseEnd - 1)) {
58 if ((!risingReady) && (
i == (preciseEnd - 1))) {
68 int packedTDC = TDC_RisingEdge;
69 digi.
setSample(ibin, digi[ibin].
adc(), packedTDC, digi[ibin].soi());
float preciseAt(int i) const
const function to access precise samples
int size() const
get the size
uint16_t *__restrict__ uint16_t const *__restrict__ adc
int alreadyTransitionCode() const
int preciseSize() const
get the size
constexpr void setSample(edm::DataFrame::size_type isample, int adc, int tdc, bool soi=false)
set the sample contents
HcalTDCParameters theTDCParameters
const HcalDbService * theDbService
void timing(const CaloSamples &lf, QIE11DataFrame &digi) const
double getThreshold() const
void setDbService(const HcalDbService *service)
the Producer will probably update this every event
HcalTDC(double threshold_currentTDC=0.)
int noTransitionCode() const