4#ifndef MUONCONDALGR4_ACTSMUONALIGNCONDALG_H
5#define MUONCONDALGR4_ACTSMUONALIGNCONDALG_H
24#include <unordered_map>
34 virtual StatusCode
execute(
const EventContext& ctx)
const override;
43 using deltaMap = std::unordered_map<const GeoAlignableTransform*, std::shared_ptr<const Amg::Transform3D>>;
45 using alignTechMap = std::map<ActsTrk::DetectorType, std::set<const GeoAlignableTransform*>>;
68 std::vector<ActsTrk::DetectorType>
m_techs{};
71 "Key of the ALine container created from the DB"};
74 "Key of the BLine container created from the DB"};
77 "Key of output muon alignment MDT/AsBuilt condition data"};
79 "Key of NswAsBuiltDbData object containing conditions data for NSW as-built params!"};
81 "Key of sTGCAsBuiltDbData object containing conditions data for sTgc as-built params!"};
83 "Key of NswPassivationDbData object containing passivation data for MMs"};
86 "Keys of the alignment technologies"};
87 Gaudi::Property<std::string>
m_keyToken{
this,
"CondKeyToken",
"ActsAlignContainer",
88 "Common name token of all written alignment objects (e.g.) MdtActsAlignContainer"};
96 "Toggles the application of the Nsw as-built parameters"};
99 "Toggles the application of the Mdt as-built parameters"};
StatusCode loadMmDeformPars(const EventContext &ctx, ActsTrk::DetectorAlignStore &store) const
virtual StatusCode initialize() override
Gaudi::Property< bool > m_applyMdtAsBuilt
StatusCode loadStgcDeformPars(const EventContext &ctx, ActsTrk::DetectorAlignStore &store) const
const MuonGMR4::MuonDetectorManager * m_detMgr
SG::ReadCondHandleKey< NswAsBuiltDbData > m_readNswAsBuiltKey
virtual ~ActsMuonAlignCondAlg()=default
StatusCode declareDependencies(const EventContext &ctx, ActsTrk::DetectorType detType, SG::WriteCondHandle< ActsTrk::DetectorAlignStore > &writeHandle) const
Loads the corresponding ReadCondHandles from the Conditions store and adds their IOVs to the dependen...
StatusCode loadDeltas(const EventContext &ctx, deltaMap &alignDeltas, alignTechMap &techTransforms) const
Loads the ALineContainer from the conditions store and fills the deltaMap with the A-Line delta trans...
Gaudi::Property< bool > m_applyMmPassivation
std::unordered_map< const GeoAlignableTransform *, std::shared_ptr< const Amg::Transform3D > > deltaMap
Association map of the GeoAlignableTransforms with the rigid alignment transformations.
StatusCode loadMdtDeformPars(const EventContext &ctx, ActsTrk::DetectorAlignStore &store) const
Loads the BLine container and the Mdt-as built parameters from the Conditions store and stores them i...
ActsMuonAlignCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadCondHandleKey< BLineContainer > m_readKeyBLines
Gaudi::Property< bool > m_fillGeoAlignStore
Flag toggling whether the GeoAlignmentStore shall be filled.
Gaudi::Property< bool > m_applyNswAsBuilt
std::map< ActsTrk::DetectorType, std::set< const GeoAlignableTransform * > > alignTechMap
Association map of the GeoAlignable transforms with the detector technologies.
SG::ReadCondHandleKey< ALineContainer > m_readKeyALines
Identifier alignmentId(const MuonGMR4::MuonReadoutElement *reElement) const
Returns the Identifier serving as key to find the alignment parameters connected with the readout ele...
Gaudi::Property< std::string > m_keyToken
virtual StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< bool > m_applyALines
Apply translations and rotations to align the Muon stations.
Gaudi::Property< bool > m_applyBLines
Apply the chamber deformation model (Mdts + Nsw)
SG::ReadCondHandleKey< NswPassivationDbData > m_readNswPassivKey
virtual bool isReEntrant() const override
SG::ReadCondHandleKey< sTGCAsBuiltData > m_readsTgcAsBuiltKey
Gaudi::Property< bool > m_fillAlignStoreCache
Flag toggling whether the alignment store shall be filled with the transforms or not.
SG::WriteCondHandleKeyArray< ActsTrk::DetectorAlignStore > m_writeKeys
std::vector< ActsTrk::DetectorType > m_techs
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
SG::ReadCondHandleKey< MdtAsBuiltContainer > m_readMdtAsBuiltKey
An algorithm that can be simultaneously executed in multiple threads.
The MuonReadoutElement is an abstract class representing the geometry representing the muon detector.
DetectorType
Simple enum to Identify the Type of the ACTS sub detector.
HandleKeyArray< WriteCondHandle< T >, CondHandleDefault::Key< WriteCondHandleKey< T > >, Gaudi::DataHandle::Writer > WriteCondHandleKeyArray