25 const int nRead = cs.
size();
35 for (
int ts = 0; ts < nRead; ++ts) {
37 const int capid = s.
capid();
39 const float q = cs[ts] - pAndGain.pedestal(
false);
41 energy += q * pAndGain.gain();
53 }
else if (0 <= tsToUse && tsToUse < nRead) {
55 const int capid = s.
capid();
57 const float charge = cs[tsToUse] - pAndGain.pedestal(
false);
58 const float energy = charge * pAndGain.gain();
68 const int winCenter = nStore / 2;
69 if (tsToUse > winCenter)
70 shift = tsToUse - winCenter;
71 if (shift + nStore > nRead)
72 shift = nRead - nStore;
77 for (
int i = 0;
i < nStore; ++
i)
78 raw[
i] = digi[
i + shift].wideRaw();
constexpr int capid() const
constexpr edm::DataFrame::id_type id() const
unique_ptr< ClusterSequence > cs
std::array< HcalPipelinePedestalAndGain, 4 > pedsAndGains
constexpr float getTDCTime(const int tdc)
QIE10DataFrame::Sample::wide_type wideRaw() const
QIE10DataFrame::Sample::wide_type raw_type
constexpr int le_tdc() const
int size() const
get the size
constexpr float UNKNOWN_T_NOTDC
virtual void adc2fC(const HBHEDataFrame &df, CaloSamples &lf) const =0
static unsigned int const shift
static const unsigned N_RAW_MAX
HFQIE10Info reconstruct(const QIE10DataFrame &digi, int tsToUse, const HcalCoder &coder, const HcalChannelProperties &prop) const