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 (*initMe) = std::format(
"{:}AuxiliaryMeasContainer{:}D", preFix, counter++);
40 if (!initMe->initialize(
used).isSuccess()) {
42 return StatusCode::FAILURE;
45 return StatusCode::SUCCESS;
47 template<
typename AuxCont_t,
typename Cont_t>
49 ATH_CHECK(handle.
record(std::make_unique<Cont_t>(), std::make_unique<AuxCont_t>()));
50 return StatusCode::SUCCESS;
55 const Acts::GeometryContext& gctx,
65 return StatusCode::SUCCESS;
69 const Acts::GeometryContext& gctx)
const {
80#undef RECORD_CONTAINER
#define ATH_CHECK
Evaluate an expression and check for errors.
Helper struct to create a new pseudo measurement.
const AuxiliaryMeasurementHandler * m_parent
SurfaceHandle_t m_surfaceContainer
StatusCode recordContainer(SG::WriteHandle< Cont_t > &handle)
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
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.
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.
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
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...