16#define RECORD_CONTAINER(HANDLE, AUXCONTAINER) \
17 if (!HANDLE.record(std::make_unique<ContType_t>(), \
18 std::make_unique<AUXCONTAINER>()).isSuccess()){ \
19 m_parent->m_msg<<MSG::FATAL<<"Failed to record " \
20 <<HANDLE.fullKey()<<endmsg; \
21 return StatusCode::FAILURE; \
29 (*initMe) = std::format(
"{:}AuxiliaryMeasContainer{:}D", preFix, counter++);
30 if (!initMe->initialize()) {
31 m_msg<<MSG::FATAL<<
"Failed to initialize "<<(*initMe).fullKey()<<
endmsg;
32 return StatusCode::FAILURE;
35 return StatusCode::SUCCESS;
48 return StatusCode::SUCCESS;
60#undef RECORD_CONTAINER
xAOD::AuxiliaryMeasurementContainer ContType_t
#define RECORD_CONTAINER(HANDLE, AUXCONTAINER)
Helper struct to create a new pseudo measurement.
const AuxiliaryMeasurementHandler * m_parent
xAOD::TrackSurfaceContainer & m_surfaceContainer
StatusCode setupContainers()
Setup method to record the Auxiliary measurement containers into StoreGate.
friend class AuxiliaryMeasurementHandler
MeasurementProvider(MeasurementProvider &&other)=default
Default move constructor.
const EventContext & m_ctx
StatusCode initialize(const std::string &preFix)
Initialize the write handle keys.
MeasurementProvider makeHandle(const EventContext &ctx, xAOD::TrackSurfaceContainer &surfaceBackend) const
Creates a new MeasurementProvider and triggers the write of the container backend to StoreGate.
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
AuxiliaryMeasurementAuxContainer1D_v1 AuxiliaryMeasurementAuxContainer1D
TrackSurfaceContainer_v1 TrackSurfaceContainer
AuxiliaryMeasurementAuxContainer3D_v1 AuxiliaryMeasurementAuxContainer3D
AuxiliaryMeasurementAuxContainer2D_v1 AuxiliaryMeasurementAuxContainer2D
AuxiliaryMeasurementContainer_v1 AuxiliaryMeasurementContainer
#define THROW_EXCEPTION(MESSAGE)