1#ifndef PACKING_RAWDATAFILE_FILE_H_
2#define PACKING_RAWDATAFILE_FILE_H_
4#include "Framework/Configure/Parameters.h"
6#include "Framework/RunHeader.h"
7#include "Packing/RawDataFile/EventPacket.h"
8#include "Packing/Utility/Reader.h"
9#include "Packing/Utility/Writer.h"
12namespace rawdatafile {
Class implementing an event buffer system for storing event data.
Implements an event buffer system for storing event data.
Class encapsulating parameters for configuring a processor.
The raw data file object.
bool skip_unavailable_
for writing, do we skip subsystems if their raw object is unavailable
void writeRunHeader(ldmx::RunHeader &header)
Write the run header.
uint32_t run_
run number corresponding to this file of raw data
std::string tracker_object_name_
the event bus object name of the Tracker encoded data
uint32_t i_entry_
current entry index (may not be same as event number)
framework::Event * event_
handle to the event bus we are reading from or writing to
std::string triggerpad_object_name_
the event bus object name of the Trigger Pad encoded data
uint32_t entries_
number of entries in the file
std::string ecal_object_name_
the event bus object name of the ECal encoded data
utility::Reader reader_
utility class for reading binary data files
utility::Writer writer_
utility class for writing binary data files
bool connect(framework::Event &event)
Connect the passed event bus to this event file.
std::string hcal_object_name_
the event bus object name of the HCal encoded data
utility::CRC crc_
crc calculator for output mode
bool is_output_
are we reading or writing?
bool nextEvent()
Load the next event into our connected event bus.
void close()
close this file
std::string pass_name_
for writing, we also should be able to specify a pass name
The HGC ROC and FPGA use a CRC checksum to double check that the data transfer has been done correctl...