Currently we have an edm4hep::EventHeader and we fill a collection using the edm4hep::EventHeaderName constant as a name.
|
static constexpr const char* EventHeaderName = "EventHeader"; |
While this is a workable solution, it has lead to a few issues / fixes related to this:
The major issue is that effectively that this approach has to necessarily build on some naming convention, and once they are fully established they became very hard to change even if there would be better approaches. Another smaller issue is the user side of the whole thing, where user code always looks something like this
auto evtHeaderColl = /* get event header coll from somewhere */
auto evtHeader = evtHeaderColl[0];
i.e. there is always an indexing operation necessary to get to the actual EventHeader that one is interested in.
If there is interest in a more "integrated" solution we could think about having a dedicated "identifier field" in the podio::Frame where some data can be stored and more easily accessed.
Currently we have an
edm4hep::EventHeaderand we fill a collection using theedm4hep::EventHeaderNameconstant as a name.EDM4hep/include/edm4hep/Constants.h
Line 24 in 4d20c8b
While this is a workable solution, it has lead to a few issues / fixes related to this:
The major issue is that effectively that this approach has to necessarily build on some naming convention, and once they are fully established they became very hard to change even if there would be better approaches. Another smaller issue is the user side of the whole thing, where user code always looks something like this
i.e. there is always an indexing operation necessary to get to the actual
EventHeaderthat one is interested in.If there is interest in a more "integrated" solution we could think about having a dedicated "identifier field" in the
podio::Framewhere some data can be stored and more easily accessed.