LDMX Software
RawIO.h
1#ifndef PACKING_UNPACKER_H
2#define PACKING_UNPACKER_H
3
4#include <memory>
5
7#include "Packing/RawDataFile/File.h"
8
9namespace packing {
10
19class RawIO : public framework::Producer {
20 public:
22 RawIO(const std::string& name, framework::Process& p)
23 : framework::Producer(name, p) {}
25 virtual ~RawIO() {}
26
33
38 void beforeNewRun(ldmx::RunHeader& header) override;
39
45 void produce(framework::Event& event) override;
46
50 void onProcessEnd() override;
51
52 private:
54 std::unique_ptr<rawdatafile::File> raw_file_;
55}; // RawIO
56
57} // namespace packing
58
59#endif // PACKING_UNPACKER_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 various subsystems into different branches for later decoding...
Definition RawIO.h:19
std::unique_ptr< rawdatafile::File > raw_file_
raw data file we are reading
Definition RawIO.h:54
RawIO(const std::string &name, framework::Process &p)
normal constructor
Definition RawIO.h:22
void onProcessEnd() override
Close up ROOT file with raw data in it.
Definition RawIO.cxx:22
virtual ~RawIO()
empty destructor
Definition RawIO.h:25
void produce(framework::Event &event) override
Actually do the unpacking/decoding.
Definition RawIO.cxx:15
void configure(framework::config::Parameters &ps) override
Configure the unpacker and open the raw data file for IO.
Definition RawIO.cxx:6
void beforeNewRun(ldmx::RunHeader &header) override
We are given a non-const reference to a new RunHeader so we can add parameters unpacked from the raw ...
Definition RawIO.cxx:11
All classes in the ldmx-sw project use this namespace.
Definition PerfDict.cxx:45