Open twongjirad opened 6 years ago
ATM BatchFiller classes (those inherit from BatchFillerTemplate) can only have 1 sd::vector
But it makes sense one wants to derive more than one information from single algorithm. I'll think on the plane about how to change this.
Notes to self:
Hmm, have to create something like a BatchFillerTemplate that instead creates N BatchData holders for multiple items.
Either have to specify both template types (possible?), or restricted to all data being same type like float. then exposed to bugs due to float -> int conversions ...
... oh github page just updated, showing you are thinking about this already.
One way to do this is to decouple BatchFiller algorithm being "filler" and "owner" of batch data at the same time. The "ownership" can be out-sourced to a dedicated data manager. I think BatchDataStorage or BatchDataStorageFactory are natural choices. I have to eliminate ownership from BatchFillerTemplate (which comes from BatchHolder or something). Yes, this will be a huge "let's remove this and that template" campaign :)
for more thoughts on the problem of bounding box definitions in general, additional discussion here: https://github.com/DeepLearnPhysics/larcv2/pull/22
Return/create a (B,NMAXBB,1,1) matrix which designates valid boxes. However, how to create a BatchFiller routine that returns two template objects?