allpix::ROOTObjectWriterModule
Module: Modules
Module to write object data to ROOT trees in file for persistent storage. More…
#include <ROOTObjectWriterModule.hpp>
Inherits from allpix::SequentialModule, allpix::Module
Public Functions
Name | |
---|---|
ROOTObjectWriterModule(Configuration & config, Messenger * messenger, GeometryManager * geo_mgr) Constructor for this unique module. |
|
~ROOTObjectWriterModule() override Destructor deletes the internal objects used to build the ROOT Tree. |
|
bool | filter(const std::shared_ptr< BaseMessage > & message, const std::string & name) const Receive a single message containing objects of arbitrary type. |
virtual void | initialize() override Opens the file to write the objects to. |
virtual void | run(Event * event) override Writes the objects fetched to their specific tree, constructing trees on the fly for new objects. |
virtual void | finalize() override Add the main configuration and the detector setup to the data file and write it, also write statistics information. |
Additional inherited members
Public Functions inherited from allpix::SequentialModule
Name | |
---|---|
SequentialModule(Configuration & config) | |
SequentialModule(Configuration & config, std::shared_ptr< Detector > detector) |
Protected Functions inherited from allpix::SequentialModule
Name | |
---|---|
void | waive_sequence_requirement(bool waive =true) Release strict sequence processing requirement. |
Friends inherited from allpix::SequentialModule
Name | |
---|---|
class | Event |
class | ModuleManager |
class | Messenger |
Public Functions inherited from allpix::Module
Name | |
---|---|
Module(const Module & ) =delete Copying a module is not allowed. |
|
Module & | operator=(const Module & ) =delete Copying a module is not allowed. |
Module(Module && ) =delete Disallow move behaviour (not possible with references) |
|
Module & | operator=(Module && ) =delete Disallow move behaviour (not possible with references) |
Module(Configuration & config) Base constructor for unique modules. |
|
Module(Configuration & config, std::shared_ptr< Detector > detector) Base constructor for detector modules. |
|
virtual | ~Module() Essential virtual destructor. |
std::shared_ptr< Detector > | getDetector() const Get the detector linked to this module. |
std::string | getUniqueName() const Get the unique name of this module. |
std::string | createOutputFile(const std::string & pathname, const std::string & extension ="", bool global =false, bool delete_file =false) Create and return an absolute path to be used for output from a relative path. |
TDirectory * | getROOTDirectory() const Get ROOT directory which should be used to output histograms et cetera. |
ConfigManager * | getConfigManager() const Get the config manager object to allow to read the global and other module configurations. |
bool | multithreadingEnabled() const Returns if multithreading of this module is enabled. |
virtual void | initializeThread() Initialize the module for each thread after the global initialization. |
virtual void | finalizeThread() Finalize the module after the event sequence for each thread. |
Protected Functions inherited from allpix::Module
Name | |
---|---|
void | allow_multithreading() Enable multithreading for this module. |
Configuration & | get_configuration() Get the module configuration for internal use. |
Protected Attributes inherited from allpix::Module
Name | |
---|---|
Configuration & | config_ |
Friends inherited from allpix::Module
Name | |
---|---|
class | Event |
class | ModuleManager |
class | Messenger |
class | LocalMessenger |
Detailed Description
class allpix::ROOTObjectWriterModule;
Module to write object data to ROOT trees in file for persistent storage.
Listens to all objects dispatched in the framework. Creates a tree as soon as a new type of object is encountered and saves the data in those objects to tree for every event. The tree name is the class name of the object. A separate branch is created for every combination of detector name and message name that outputs this object.
Public Functions Documentation
function ROOTObjectWriterModule
ROOTObjectWriterModule(
Configuration & config,
Messenger * messenger,
GeometryManager * geo_mgr
)
Constructor for this unique module.
Parameters:
- config Configuration object for this module as retrieved from the steering file
- messenger Pointer to the messenger object to allow binding to messages on the bus
- geo_mgr Pointer to the geometry manager, containing the detectors
function ~ROOTObjectWriterModule
~ROOTObjectWriterModule() override
Destructor deletes the internal objects used to build the ROOT Tree.
Note: Objects cannot be stored in smart pointers due to internal ROOT logic
function filter
bool filter(
const std::shared_ptr< BaseMessage > & message,
const std::string & name
) const
Receive a single message containing objects of arbitrary type.
Parameters:
- message Message dispatched in the framework
- name Name of the message
function initialize
virtual void initialize() override
Opens the file to write the objects to.
Reimplements: allpix::Module::initialize
function run
virtual void run(
Event * event
) override
Writes the objects fetched to their specific tree, constructing trees on the fly for new objects.
Reimplements: allpix::Module::run
function finalize
virtual void finalize() override
Add the main configuration and the detector setup to the data file and write it, also write statistics information.
Reimplements: allpix::Module::finalize
Updated on 2024-12-13 at 08:31:37 +0000