23#ifndef DDASHITUNPACKER_H
24#define DDASHITUNPACKER_H
76 std::tuple<DDASHit, const uint32_t *>
unpack(
const uint32_t *beg,
77 const uint32_t *sentinel);
89 const uint32_t *
unpack(
const uint32_t *beg,
const uint32_t *sentinel,
101 const uint32_t *
parseBodySize(
const uint32_t *data,
const uint32_t *sentinel);
147 std::tuple<double, uint32_t, uint32_t, uint32_t>
DDASHit class definition.
Unpacker for DDAS data recorded by NSCLDAQ.
Definition: DDASHitUnpacker.h:65
const uint32_t * extractEnergySums(const uint32_t *data, DDASHit &hit)
Unpack energy sums.
Definition: DDASHitUnpacker.cpp:422
const uint32_t * parseHeaderWords1And2(DDASHit &hit, const uint32_t *data)
Parse words 1 and 2 of the Pixie-16 data header.
Definition: DDASHitUnpacker.cpp:243
std::tuple< double, uint32_t, uint32_t, uint32_t > parseAndComputeCFD(uint32_t ModMSPS, uint32_t data)
Determine the CFD correction to the leading-edge time in nanoseconds from the CFD word.
Definition: DDASHitUnpacker.cpp:313
const uint32_t * parseTraceData(DDASHit &hit, const uint32_t *data)
Unpack the trace data.
Definition: DDASHitUnpacker.cpp:289
const uint32_t * extractQDC(const uint32_t *data, DDASHit &hit)
Unpack QDC values.
Definition: DDASHitUnpacker.cpp:434
const uint32_t * parseModuleInfo(DDASHit &hit, const uint32_t *data)
Parse the module identifying information encoded in the hit.
Definition: DDASHitUnpacker.cpp:178
uint64_t computeCoarseTime(uint32_t adcFrequency, uint32_t timeLow, uint32_t timeHigh)
Compute time in nanoseconds from raw data (no CFD correction).
Definition: DDASHitUnpacker.cpp:388
const uint32_t * parseBodySize(const uint32_t *data, const uint32_t *sentinel)
Ensure there is enough data to parse.
Definition: DDASHitUnpacker.cpp:159
const uint32_t * parseHeaderWord3(DDASHit &hit, const uint32_t *data)
Parse word 3 of the Pixie-16 data header.
Definition: DDASHitUnpacker.cpp:274
std::tuple< DDASHit, const uint32_t * > unpack(const uint32_t *beg, const uint32_t *sentinel)
Unpack data into a DDASHit.
Definition: DDASHitUnpacker.cpp:146
const uint32_t * extractExternalTimestamp(const uint32_t *data, DDASHit &hit)
Unpack the external timestamp data.
Definition: DDASHitUnpacker.cpp:452
const uint32_t * parseHeaderWord0(DDASHit &hit, const uint32_t *data)
Parse the word 0 of the Pixie-16 data header.
Definition: DDASHitUnpacker.cpp:206
Encapsulation of a generic DDAS event.
Definition: DDASHit.h:76