22#ifndef DDASDATASIMULATOR_H
23#define DDASDATASIMULATOR_H
34class RingItemFactoryBase;
136 ufmt::RingItemFactoryBase *m_pFactory;
137 std::vector<uint32_t> m_evtBuf;
161 void endRun(
int sourceID = 0);
175 void putHit(
const ddasfmt::DDASHit &hit,
int sourceID = 0,
176 bool useExtTS =
false,
double cal = 0.0);
182 void setBuffer(
const ddasfmt::DDASHit &hit);
199 void setWord0(
const ddasfmt::DDASHit &hit);
207 void setWords1And2(
const ddasfmt::DDASHit &hit);
213 void setWord3(
const ddasfmt::DDASHit &hit);
219 void setExternalTS(
const ddasfmt::DDASHit &hit);
224 void setEnergySums(
const ddasfmt::DDASHit &hit);
229 void setQDCSums(
const ddasfmt::DDASHit &hit);
234 void setTraceData(
const ddasfmt::DDASHit &hit);
241 uint32_t getHeaderLength(
const ddasfmt::DDASHit &hit);
247 uint32_t getModInfoWord(
const ddasfmt::DDASHit &hit);
253 uint64_t getCoarseTimestamp(
const ddasfmt::DDASHit &hit);
260 int getClockPeriod(
const ddasfmt::DDASHit &hit);
267 int getSamplePeriod(
const ddasfmt::DDASHit &hit);
273 uint32_t getPackedCFDResult(
const ddasfmt::DDASHit &hit,
double corr);
Simulates data produced by a DDAS readout program in user code.
Definition: DDASDataSimulator.h:132
DDASDataSimulator(std::string fname, int version)
Constructor.
Definition: DDASDataSimulator.cpp:84
void setBuffer(const ddasfmt::DDASHit &hit)
Set the data buffer from a DDASHit.
Definition: DDASDataSimulator.cpp:237
void endRun(int sourceID=0)
End a simulated run.
Definition: DDASDataSimulator.cpp:132
std::vector< uint32_t > getBuffer()
Get the data buffer.
Definition: DDASDataSimulator.h:188
void dumpBuffer()
Formatted dump of data buffer to stdout.
Definition: DDASDataSimulator.cpp:284
void beginRun(int sourceID=0)
Begin a simulated run.
Definition: DDASDataSimulator.cpp:98
void putHit(const ddasfmt::DDASHit &hit, int sourceID=0, bool useExtTS=false, double cal=0.0)
Write a hit to the output file. This is the normal way users will add simulated data to the output.
Definition: DDASDataSimulator.cpp:166
Definition: RootFileDataSink.h:31
Definition: DataSource.h:28