28 ATH_MSG_ERROR(
"The prefix key of the auxiliary measurements must no be empty");
29 return StatusCode::FAILURE;
31 m_surfaceKey = std::format(
"{:}AuxiliarySurfaceContainer", preFix);
34 return StatusCode::FAILURE;
39 return StatusCode::FAILURE;
43 (*initMe) = std::format(
"{:}AuxiliaryMeasContainer{:}D", preFix, counter++);
44 if (!initMe->initialize(
used).isSuccess()) {
46 return StatusCode::FAILURE;
49 return StatusCode::SUCCESS;
51 template<
typename AuxCont_t,
typename Cont_t>
53 ATH_CHECK(handle.record(std::make_unique<Cont_t>(), std::make_unique<AuxCont_t>()));
54 return StatusCode::SUCCESS;
59 const Acts::GeometryContext& gctx,
70 return StatusCode::SUCCESS;
74 const Acts::GeometryContext& gctx)
const {
85#undef RECORD_CONTAINER
#define ATH_CHECK
Evaluate an expression and check for errors.
Helper struct to create a new pseudo measurement.
WriteHandle_t m_handle2D
Dedicated write handle to store 2D measurements.
const AuxiliaryMeasurementHandler * m_parent
WriteHandle_t m_viewHandle
Write handle to the VIEW_Elements container containing all created measurements.
SurfaceHandle_t m_surfaceContainer
StatusCode recordContainer(SG::WriteHandle< Cont_t > &handle)
WriteHandle_t m_handle1D
Dedicated write handle to store 1D measurements.
StatusCode setupContainers()
Setup method to record the Auxiliary measurement containers into StoreGate.
friend class AuxiliaryMeasurementHandler
MeasurementProvider(MeasurementProvider &&other)=default
Default move constructor.
WriteHandle_t m_handle3D
Dedicated write handle to store 2D + time measurements.
const EventContext & m_ctx
const Acts::GeometryContext m_gctx
Key_t m_writeKey2D
Key to write the 2D measurements.
MsgStream & msg(const MSG::Level lvl) const
Return the reference to the msg logging stream.
Key_t m_writeKey1D
Key to write the 1D measurements.
HandleReturn_t makeHandle(const EventContext &ctx, const Acts::GeometryContext &gctx) const
Creates a new MeasurementProvider and triggers the write of the container backend to StoreGate.
Acts::Result< MeasurementProvider, HandleStatus > HandleReturn_t
StatusCode initialize(const std::string &preFix, bool used=true)
Initialize the write handle keys.
bool msgLvl(const MSG::Level lvl) const
Returns whether the stream satisfies the logging level.
Key_t m_viewKey
Key to write the view container.
std::function< bool(const MSG::Level)> m_msgLevel
Lambda to return the msg level from the parent's msg stream.
Key_t m_writeKey3D
Key to write the 2D + time measurements.
std::function< MsgStream &(const MSG::Level)> m_msgPrinter
Lambda to access the parent's msg stream.
SG::WriteHandleKey< xAOD::TrackSurfaceContainer > m_surfaceKey
Key to write the surfaces associated to the measurements.
holding In fact this class is here in order to allow STL container for all features This class is sho...
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts