13#include "AthLinks/ElementLink.h"
21 ATH_MSG_DEBUG(
"Initializing xAODSpacePointAuxContainerCnv ...");
26 const std::string& key )
28 ATH_MSG_DEBUG(
"Calling xAODSpacePointAuxContainerCnv::createPersistentWithKey for our xAOD space points");
31 static char const*
const NAME =
32 "std::vector<std::vector<ElementLink<xAOD::UncalibratedMeasurementContainer> > >";
33 static TClass
const*
const cls = TClass::GetClass( NAME );
35 ATH_MSG_ERROR(
"Couldn't load dictionary for type: " << NAME );
39 std::unique_ptr< xAOD::SpacePointAuxContainer >
result
43 using measurement_collection_t = std::vector< const xAOD::UncalibratedMeasurement* >;
49 for (std::size_t i(0); i<
result->size(); ++i) {
50 helper.push_back( std::make_unique< xAOD::SpacePoint >() );
52 helper.setStore(
result.get() );
61 const void* ptrToSomething = trans->
getData (measurementAuxId);
62 const measurement_collection_t& measurements =
static_cast<const measurement_collection_t*
>(ptrToSomething)[
sp->index()];
63 accesor(*sp).reserve( measurements.size() );
64 for (std::size_t idx(0); idx<measurements.size(); ++idx) {
SG::Accessor< T, ALLOC > Accessor
Helper class to provide constant type-safe access to aux data.
SG::auxid_t auxid() const
Return the aux id for this variable.
virtual xAOD::SpacePointAuxContainer * createPersistentWithKey(xAOD::SpacePointAuxContainer *trans, const std::string &key) override
virtual StatusCode initialize()
xAODSpacePointAuxContainerCnv(ISvcLocator *svcLoc)
virtual StatusCode initialize() override
Gaudi Service Interface method implementations:
virtual xAOD::SpacePointAuxContainer * createPersistentWithKey(xAOD::SpacePointAuxContainer *trans, const std::string &key) override
Convert a transient object to persistent form.
virtual const void * getData(auxid_t auxid) const override
Get a pointer to a given array.
size_t auxid_t
Identifier for a particular aux data item.
SpacePointContainer_v1 SpacePointContainer
Define the version of the space point container.
SpacePointAuxContainer_v1 SpacePointAuxContainer
Definition of the current space point auxiliary container.
UncalibratedMeasurementContainer_v1 UncalibratedMeasurementContainer
Define the version of the uncalibrated measurement container.
T_AthenaPoolAuxContainerCnv< xAOD::SpacePointAuxContainer > xAODSpacePointAuxContainerCnvBase