File SIOFrameData.h
-
namespace podio
-
class SIOFrameData
- #include <podio/SIOFrameData.h>
The Frame data container for the SIO backend.
It is constructed from the compressed sio::buffers that is read from file and does all the necessary unpacking and decompressing internally after construction.
Public Functions
-
SIOFrameData() = delete
-
~SIOFrameData()
-
SIOFrameData(const SIOFrameData&) = delete
-
SIOFrameData &operator=(const SIOFrameData&) = delete
-
SIOFrameData(SIOFrameData&&) = default
-
SIOFrameData &operator=(SIOFrameData&&) = default
-
SIOFrameData(sio::buffer &&collBuffers, std::size_t dataSize, sio::buffer &&tableBuffer, std::size_t tableSize, std::vector<std::string> limitColls = {})
Constructor from the collBuffers containing the collection data and a tableBuffer containing the necessary information for unpacking the collections.
The two size parameters denote the uncompressed size of the respective buffers.
In case the limitColls contain a collection name that is not available from the idTable names this throws an exception
-
std::optional<podio::CollectionReadBuffers> getCollectionBuffers(const std::string &name)
-
inline podio::CollectionIDTable getIDTable() const
-
std::unique_ptr<podio::GenericParameters> getParameters()
-
std::vector<std::string> getAvailableCollections()
Private Members
-
std::size_t m_dataSize = {}
Uncompressed data buffer size.
-
std::size_t m_tableSize = {}
Uncompressed table size.
-
std::vector<short> m_availableBlocks = {}
The blocks that have already been retrieved.
-
podio::CollectionIDTable m_idTable = {}
-
std::vector<std::string> m_typeNames = {}
-
std::vector<short> m_subsetCollectionBits = {}
-
podio::GenericParameters m_parameters = {}
-
std::vector<std::string> m_limitColls = {}
The collections that should be made available for a Frame constructed from this (if non-empty)
-
SIOFrameData() = delete
-
class SIOFrameData