Struct podio::Frame::FrameModel

template<typename FrameDataT>
struct FrameModel : public podio::Frame::FrameConcept, public podio::ICollectionProvider

The interface implementation of the abstract FrameConcept that is necessary for a type-erased implementation of the Frame class.

Public Functions

FrameModel(std::unique_ptr<FrameDataT> data)
~FrameModel() = default
FrameModel(const FrameModel&) = delete
FrameModel &operator=(const FrameModel&) = delete
FrameModel(FrameModel&&) = default
FrameModel &operator=(FrameModel&&) = default
const podio::CollectionBase *get(const std::string &name) const final

Try and get the collection from the internal storage and return a pointer to it if found.

Otherwise return a nullptr

const podio::CollectionBase *put(std::unique_ptr<CollectionBase> coll, const std::string &name) final

Try and place the collection into the internal storage and return a pointer to it.

If a collection already exists or insertion fails, return a nullptr

inline podio::GenericParameters &parameters() override

Get a reference to the internally used GenericParameters.

inline const podio::GenericParameters &parameters() const override

Get a const reference to the internally used GenericParameters.

bool get(uint32_t collectionID, podio::CollectionBase *&collection) const override
inline podio::CollectionIDTable getIDTable() const override
std::vector<std::string> availableCollections() const override