23 #ifndef DDASHITUNPACKER_H
24 #define DDASHITUNPACKER_H
74 std::tuple<DDASHit, const uint32_t*>
unpack(
75 const uint32_t* beg,
const uint32_t* sentinel
91 const uint32_t* beg,
const uint32_t* sentinel,
DDASHit& hit
105 const uint32_t* beg,
const uint32_t* sentinel
131 DDASHit& hit,
const uint32_t* beg
156 std::tuple<double, uint32_t, uint32_t, uint32_t>
177 uint32_t adcFrequency, uint32_t timeLow, uint32_t timeHigh
187 const uint32_t* data,
DDASHit& hit
197 const uint32_t* data,
DDASHit& hit
207 const uint32_t* data,
DDASHit& hit
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:446
const uint32_t * parseHeaderWord3(DDASHit &hit, const uint32_t *beg)
Parse word 3 of the Pixie-16 data header.
Definition: DDASHitUnpacker.cpp:275
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:317
const uint32_t * parseModuleInfo(DDASHit &hit, const uint32_t *beg)
Parse the module identifying information encoded in the hit.
Definition: DDASHitUnpacker.cpp:186
const uint32_t * parseBodySize(const uint32_t *beg, const uint32_t *sentinel)
Ensure there is enough data to parse.
Definition: DDASHitUnpacker.cpp:162
const uint32_t * extractQDC(const uint32_t *data, DDASHit &hit)
Unpack QDC values.
Definition: DDASHitUnpacker.cpp:464
const uint32_t * parseTraceData(DDASHit &hit, const uint32_t *beg)
Unpack the trace data.
Definition: DDASHitUnpacker.cpp:294
const uint32_t * parseHeaderWord0(DDASHit &hit, const uint32_t *beg)
Parse the word 0 of the Pixie-16 data header.
Definition: DDASHitUnpacker.cpp:212
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:415
const uint32_t * parseHeaderWords1And2(DDASHit &hit, const uint32_t *beg)
Parse words 1 and 2 of the Pixie-16 data header.
Definition: DDASHitUnpacker.cpp:243
std::tuple< DDASHit, const uint32_t * > unpack(const uint32_t *beg, const uint32_t *sentinel)
Unpack data into a DDASHit.
Definition: DDASHitUnpacker.cpp:147
const uint32_t * extractExternalTimestamp(const uint32_t *data, DDASHit &hit)
Unpack the external timestamp data.
Definition: DDASHitUnpacker.cpp:481
Encapsulation of a generic DDAS event.
Definition: DDASHit.h:76