fire v0.19.0
Framework for sImulation and Reconstruction of Events
fire::io::h5::Reader::MirrorObject Class Reference

A mirror event object. More...

Collaboration diagram for fire::io::h5::Reader::MirrorObject:
[legend]

Public Member Functions

 MirrorObject (const std::string &path, Reader &reader)
 Construct this mirror object and any of its (data or object) children.
 
void copy (unsigned long int i_entry, unsigned long int n, Writer &output)
 Copy the n entries starting from i_entry. More...
 

Private Attributes

Readerreader_
 handle to the reader we are reading from
 
std::unique_ptr< BaseDatadata_
 handle to the atomic data type once we get down to that point
 
std::unique_ptr< BaseDatasize_member_
 handle to the size member of this object (if it exists)
 
std::vector< std::unique_ptr< MirrorObject > > obj_members_
 list of sub-objects within this object
 
unsigned long int last_entry_ {0}
 the last entry that was copied
 

Detailed Description

A mirror event object.

This type of event object is merely present to "reflect" (pun intended) the recursive nature of the io::Data pattern without knowledge of any user classes. We need this so we can effectively copy event objects that are not accessed during processing from the input to the output file. (The choice on whether to copy or not copy these files is handled by Event).

Member Function Documentation

◆ copy()

void fire::io::h5::Reader::MirrorObject::copy ( unsigned long int  i_entry,
unsigned long int  n,
Writer output 
)

Copy the n entries starting from i_entry.

if there is a member determining the size of each entry, we need to follow its lead


The documentation for this class was generated from the following files: