Class podio::ROOTFrameWriter

class ROOTFrameWriter

Public Functions

ROOTFrameWriter(const std::string &filename)
~ROOTFrameWriter()
ROOTFrameWriter(const ROOTFrameWriter&) = delete
ROOTFrameWriter &operator=(const ROOTFrameWriter&) = delete
void writeFrame(const podio::Frame &frame, const std::string &category)

Store the given frame with the given category.

Store all available collections from the Frame.

NOTE: The contents of the first Frame that is written in this way determines the contents that will be written for all subsequent Frames.

void writeFrame(const podio::Frame &frame, const std::string &category, const std::vector<std::string> &collsToWrite)

Store the given Frame with the given category.

Store only the collections that are passed.

NOTE: The contents of the first Frame that is written in this way determines the contents that will be written for all subsequent Frames.

void finish()

Write the current file, including all the necessary metadata to read it again.

std::tuple<std::vector<std::string>, std::vector<std::string>> checkConsistency(const std::vector<std::string> &collsToWrite, const std::string &category) const

Check whether the collsToWrite are consistent with the state of the passed category.

Return two vectors of collection names. The first one contains all the names that were missing from the collsToWrite but were present in the category. The second one contains the names that are present in the collsToWrite only. If both vectors are empty the category and the passed collsToWrite are consistent.

NOTE: This will only be a meaningful check if the first Frame of the passed category has already been written. Also, this check is rather expensive as it has to effectively do two set differences.