You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
split out creation of file and instantiation of tables into a standalone C++ interface, which is invoked by the art producer module.
the idea is to have a parent numl::File C++ class, which will create an HDF5 file, instantiate tables, populate the tables per event, and then close the file when complete. this class will hold onto a vector of table objects, each representing a single table.
each table class in this vector will inherit from an abstract base class numl::Table, which declares a virtual AddEvent function which takes in a const art::Event& and uses it to fill the tables in the file. we can then declare boilerplate table classes for various data structures (ie. EventTable, ParticleTable, EdepTable, HitTable and so on. the user can use inheritance to specialise these classes (ie. an event table for a specific type of event, etc) or add completely new tables (ie. the custom uboone pandora tables). this allows the user to make modifications to the file without needing to modify this base code.
The text was updated successfully, but these errors were encountered:
split out creation of file and instantiation of tables into a standalone C++ interface, which is invoked by the art producer module.
the idea is to have a parent
numl::File
C++ class, which will create an HDF5 file, instantiate tables, populate the tables per event, and then close the file when complete. this class will hold onto a vector of table objects, each representing a single table.each table class in this vector will inherit from an abstract base class
numl::Table
, which declares a virtualAddEvent
function which takes in aconst art::Event&
and uses it to fill the tables in the file. we can then declare boilerplate table classes for various data structures (ie.EventTable
,ParticleTable
,EdepTable
,HitTable
and so on. the user can use inheritance to specialise these classes (ie. an event table for a specific type of event, etc) or add completely new tables (ie. the custom uboone pandora tables). this allows the user to make modifications to the file without needing to modify this base code.The text was updated successfully, but these errors were encountered: