|
LDMX Software
|
This producer unpacks the data from the a single subsystem 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 ()=default |
| 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. | |
Public Member Functions inherited from framework::Producer | |
| Producer (const std::string &name, Process &process) | |
| Class constructor. | |
| virtual void | process (Event &event) final |
| Processing an event for a Producer is calling produce. | |
Public Member Functions inherited from framework::EventProcessor | |
| DECLARE_FACTORY (EventProcessor, EventProcessor *, const std::string &, Process &) | |
| declare that we have a factory for this class | |
| EventProcessor (const std::string &name, Process &process) | |
| Class constructor. | |
| virtual | ~EventProcessor ()=default |
| Class destructor. | |
| virtual void | beforeNewRun (ldmx::RunHeader &run_header) |
| Callback for Producers to add parameters to the run header before conditions are initialized. | |
| virtual void | onNewRun (const ldmx::RunHeader &run_header) |
| Callback for the EventProcessor to take any necessary action when the run being processed changes. | |
| virtual void | onFileOpen (EventFile &event_file) |
| Callback for the EventProcessor to take any necessary action when a new event input ROOT file is opened. | |
| virtual void | onFileClose (EventFile &event_file) |
| 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 | subsystem_ |
| subsystem ID to filter for | |
| int | contributor_ |
| contributor ID to filter for | |
| int | frame_offset_ |
| number of frames to skip before sending data | |
| std::string | output_name_ |
| destination object name | |
| utility::Reader | reader_ |
| raw data file we are reading | |
| int | frame_count_ {0} |
| frame count from beginning of file for frame_offset_ | |
Additional Inherited Members | |
Protected Member Functions inherited from framework::EventProcessor | |
| void | abortEvent () |
| Abort the event immediately. | |
Protected Attributes inherited from framework::EventProcessor | |
| HistogramPool | histograms_ |
| helper object for making and filling histograms | |
| NtupleManager & | ntuple_ {NtupleManager::getInstance()} |
| Manager for any ntuples. | |
| logging::logger | the_log_ |
| The logger for this EventProcessor. | |
This producer unpacks the data from the a single subsystem into a single buffer for a downstream processor to decode.
Definition at line 16 of file SingleSubsystemUnpacker.h.
|
inline |
normal constructor
Definition at line 19 of file SingleSubsystemUnpacker.h.
|
overridevirtual |
Configure the unpacker and open the raw data file for IO.
| [in] | ps | Parameters for configuration |
Reimplemented from framework::EventProcessor.
Definition at line 9 of file SingleSubsystemUnpacker.cxx.
References contributor_, frame_count_, frame_offset_, framework::config::Parameters::get(), packing::utility::Reader::open(), output_name_, reader_, packing::LDMXRoRHeader::subsystem(), and subsystem_.
|
overridevirtual |
Actually do the unpacking/decoding.
| [in,out] | event | Event bus with raw data where we will put the digis |
abort event if we've reached the end of the file (left while loop)
Implements framework::Producer.
Definition at line 30 of file SingleSubsystemUnpacker.cxx.
References framework::EventProcessor::abortEvent(), contributor_, packing::utility::Reader::eof(), frame_count_, frame_offset_, output_name_, packing::utility::Reader::read(), reader_, packing::utility::Reader::seek(), packing::LDMXRoRHeader::SIZE, subsystem_, and packing::utility::Reader::tell().
|
private |
contributor ID to filter for
(-1 means ignore this filter)
Definition at line 46 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().
|
private |
frame count from beginning of file for frame_offset_
Definition at line 54 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().
|
private |
number of frames to skip before sending data
Definition at line 48 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().
|
private |
destination object name
Definition at line 50 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().
|
private |
raw data file we are reading
Definition at line 52 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().
|
private |
subsystem ID to filter for
Definition at line 40 of file SingleSubsystemUnpacker.h.
Referenced by configure(), and produce().