LDMX Software
|
This producer unpacks the data from the a single subsystem raw data file into a single buffer for a downstream processor to decode. More...
#include <SingleSubsystemUnpacker.h>
Public Member Functions | |
SingleSubsystemUnpacker (const std::string &name, framework::Process &p) | |
normal constructor | |
virtual | ~SingleSubsystemUnpacker () |
empty destructor | |
void | configure (framework::config::Parameters &ps) override |
Configure the unpacker and open the raw data file for IO. | |
void | produce (framework::Event &event) override |
Actually do the unpacking/decoding. | |
void | beforeNewRun (ldmx::RunHeader &rh) override |
Handle allowing producers to modify run headers before the run begins. | |
Public Member Functions inherited from framework::Producer | |
Producer (const std::string &name, Process &process) | |
Class constructor. | |
Public Member Functions inherited from framework::EventProcessor | |
EventProcessor (const std::string &name, Process &process) | |
Class constructor. | |
virtual | ~EventProcessor () |
Class destructor. | |
virtual void | onNewRun (const ldmx::RunHeader &runHeader) |
Callback for the EventProcessor to take any necessary action when the run being processed changes. | |
virtual void | onFileOpen (EventFile &eventFile) |
Callback for the EventProcessor to take any necessary action when a new event input ROOT file is opened. | |
virtual void | onFileClose (EventFile &eventFile) |
Callback for the EventProcessor to take any necessary action when a event input ROOT file is closed. | |
virtual void | onProcessStart () |
Callback for the EventProcessor to take any necessary action when the processing of events starts, such as creating histograms. | |
virtual void | onProcessEnd () |
Callback for the EventProcessor to take any necessary action when the processing of events finishes, such as calculating job-summary quantities. | |
template<class T > | |
const T & | getCondition (const std::string &condition_name) |
Access a conditions object for the current event. | |
TDirectory * | getHistoDirectory () |
Access/create a directory in the histogram file for this event processor to create histograms and analysis tuples. | |
void | setStorageHint (framework::StorageControl::Hint hint) |
Mark the current event as having the given storage control hint from this module. | |
void | setStorageHint (framework::StorageControl::Hint hint, const std::string &purposeString) |
Mark the current event as having the given storage control hint from this module and the given purpose string. | |
int | getLogFrequency () const |
Get the current logging frequency from the process. | |
int | getRunNumber () const |
Get the run number from the process. | |
std::string | getName () const |
Get the processor name. | |
void | createHistograms (const std::vector< framework::config::Parameters > &histos) |
Internal function which is used to create histograms passed from the python configuration @parma histos vector of Parameters that configure histograms to create. | |
Private Attributes | |
int | num_bytes_per_event_ |
number of bytes in each event | |
std::string | output_name_ |
destination object name | |
std::string | detector_name_ |
Detector file name. | |
utility::Reader | reader_ |
raw data file we are reading | |
Additional Inherited Members | |
Static Public Member Functions inherited from framework::EventProcessor | |
static void | declare (const std::string &classname, int classtype, EventProcessorMaker *) |
Internal function which is part of the PluginFactory machinery. | |
Static Public Attributes inherited from framework::Producer | |
static const int | CLASSTYPE {1} |
Constant used to track EventProcessor types by the PluginFactory. | |
Protected Member Functions inherited from framework::EventProcessor | |
void | abortEvent () |
Abort the event immediately. | |
Protected Attributes inherited from framework::EventProcessor | |
HistogramHelper | histograms_ |
Interface class for making and filling histograms. | |
NtupleManager & | ntuple_ {NtupleManager::getInstance()} |
Manager for any ntuples. | |
logging::logger | theLog_ |
The logger for this EventProcessor. | |
This producer unpacks the data from the a single subsystem raw data file into a single buffer for a downstream processor to decode.
Definition at line 17 of file SingleSubsystemUnpacker.h.
|
inline |
normal constructor
Definition at line 20 of file SingleSubsystemUnpacker.h.
|
inlinevirtual |
|
overridevirtual |
Handle allowing producers to modify run headers before the run begins.
header | RunHeader for Producer to add parameters to |
Reimplemented from framework::Producer.
Definition at line 6 of file SingleSubsystemUnpacker.cxx.
References detector_name_, and ldmx::RunHeader::setDetectorName().
|
overridevirtual |
Configure the unpacker and open the raw data file for IO.
[in] | ps | Parameters for configuration |
Reimplemented from framework::EventProcessor.
Definition at line 10 of file SingleSubsystemUnpacker.cxx.
References detector_name_, framework::config::Parameters::getParameter(), num_bytes_per_event_, packing::utility::Reader::open(), output_name_, and reader_.
|
overridevirtual |
Actually do the unpacking/decoding.
[in,out] | event | Event bus with raw data where we will put the digis |
Implements framework::Producer.
Definition at line 17 of file SingleSubsystemUnpacker.cxx.
References framework::EventProcessor::abortEvent(), packing::utility::Reader::eof(), num_bytes_per_event_, output_name_, packing::utility::Reader::read(), and reader_.
|
private |
Detector file name.
Definition at line 47 of file SingleSubsystemUnpacker.h.
Referenced by beforeNewRun(), and configure().
|
private |
number of bytes in each event
Definition at line 43 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().
|
private |
destination object name
Definition at line 45 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().
|
private |
raw data file we are reading
Definition at line 51 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().