LDMX Software
SingleSubsystemUnpacker.h
1#ifndef PACKING_SINGLESUBSYSTEMUNPACKER_H
2#define PACKING_SINGLESUBSYSTEMUNPACKER_H
3
5#include "Framework/Exception/Exception.h"
6#include "Packing/Utility/Reader.h"
7
8namespace packing {
9
18 public:
20 SingleSubsystemUnpacker(const std::string& name, framework::Process& p)
21 : framework::Producer(name, p) {}
24
31
37 void produce(framework::Event& event) override;
38
39 void beforeNewRun(ldmx::RunHeader& rh) override;
40
41 private:
45 std::string output_name_;
47 std::string detector_name_;
48
49 private:
52}; // SingleSubsystemUnpacker
53
54} // namespace packing
55
56#endif // PACKING_SINGLESUBSYSTEMUNPACKER_H
Base classes for all user event processing components to extend.
Implements an event buffer system for storing event data.
Definition Event.h:41
Class which represents the process under execution.
Definition Process.h:36
Base class for a module which produces a data product.
Producer(const std::string &name, Process &process)
Class constructor.
Class encapsulating parameters for configuring a processor.
Definition Parameters.h:27
Run-specific configuration and data stored in its own output TTree alongside the event TTree in the o...
Definition RunHeader.h:54
This producer unpacks the data from the a single subsystem raw data file into a single buffer for a d...
std::string detector_name_
Detector file name.
utility::Reader reader_
raw data file we are reading
int num_bytes_per_event_
number of bytes in each event
std::string output_name_
destination object name
SingleSubsystemUnpacker(const std::string &name, framework::Process &p)
normal constructor
void beforeNewRun(ldmx::RunHeader &rh) override
Handle allowing producers to modify run headers before the run begins.
void produce(framework::Event &event) override
Actually do the unpacking/decoding.
virtual ~SingleSubsystemUnpacker()
empty destructor
void configure(framework::config::Parameters &ps) override
Configure the unpacker and open the raw data file for IO.
Reading a raw data file.
Definition Reader.h:19
All classes in the ldmx-sw project use this namespace.
Definition PerfDict.cxx:45