Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C++ file & table generator #2

Open
vhewes opened this issue Sep 20, 2022 · 0 comments
Open

C++ file & table generator #2

vhewes opened this issue Sep 20, 2022 · 0 comments

Comments

@vhewes
Copy link
Collaborator

vhewes commented Sep 20, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant