ATLAS Offline Software
MdtAlignmentStore.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONALIGNMENTDATA_MDTALIGNMENTSTORE_H
6 #define MUONALIGNMENTDATA_MDTALIGNMENTSTORE_H
7 
8 
13 #include <vector>
20  public:
21  MdtAlignmentStore(const Muon::IMuonIdHelperSvc* idHelperSvc);
26  const BLinePar* bLine{nullptr};
27  const MdtAsBuiltPar* asBuilt{nullptr};
28  operator bool() const {
29  return bLine || asBuilt;
30  }
31  };
34  const unsigned int idx = m_idHelperSvc->moduleHash(detElId);
36  return idx < m_alignMap.size() ? m_alignMap[idx] : chamberDistortions{};
37  }
38  void storeDistortion(const Identifier& detElId, const BLinePar* bline, const MdtAsBuiltPar* asBuilt);
39  private:
41  std::vector<chamberDistortions> m_alignMap{};
42 };
43 
44 #endif
MdtAlignmentStore::chamberDistortions::bLine
const BLinePar * bLine
Definition: MdtAlignmentStore.h:26
MdtAsBuiltPar.h
Muon::IMuonIdHelperSvc::moduleHash
virtual IdentifierHash moduleHash(const Identifier &id) const =0
Returns the module hash associated to an Identifier.
MdtAlignmentStore::m_idHelperSvc
const Muon::IMuonIdHelperSvc * m_idHelperSvc
Definition: MdtAlignmentStore.h:40
MdtAlignmentStore
Helper struct to cache simulatenously the As-built and the BLine corrections of the Mdts for fast acc...
Definition: MdtAlignmentStore.h:19
MdtAlignmentStore::getDistortion
chamberDistortions getDistortion(const Identifier &detElId) const
Returns a chamber distortion that's cached for the corresponding Mdt chamber element.
Definition: MdtAlignmentStore.h:33
ActsTrk::DetectorAlignStore::InternalAlignStore
The muon system contains additional parameters such as B-lines, as-built, passivation.
Definition: DetectorAlignStore.h:69
MdtAlignmentStore::chamberDistortions
Helper struct to store the pointer to the Mdt distrotion parameters, namely the As-built and the BLin...
Definition: MdtAlignmentStore.h:25
MdtAlignmentStore::storeDistortion
void storeDistortion(const Identifier &detElId, const BLinePar *bline, const MdtAsBuiltPar *asBuilt)
Definition: MdtAlignmentStore.cxx:12
MdtAlignmentStore::m_alignMap
std::vector< chamberDistortions > m_alignMap
Definition: MdtAlignmentStore.h:41
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
BLinePar
Definition: BLinePar.h:14
Muon::IMuonIdHelperSvc::technologyIndex
virtual MuonStationIndex::TechnologyIndex technologyIndex(const Identifier &id) const =0
calculate layer index from Identifier
MdtAlignmentStore::chamberDistortions::asBuilt
const MdtAsBuiltPar * asBuilt
Definition: MdtAlignmentStore.h:27
DetectorAlignStore.h
BLinePar.h
MdtAsBuiltPar
Container classifier the MDT as-built parameters See parameter description in http://atlas-muon-align...
Definition: MdtAsBuiltPar.h:18
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition: IMuonIdHelperSvc.h:26
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
MdtAlignmentStore::MdtAlignmentStore
MdtAlignmentStore(const Muon::IMuonIdHelperSvc *idHelperSvc)
Definition: MdtAlignmentStore.cxx:7
IMuonIdHelperSvc.h
MDT
@ MDT
Definition: RegSelEnums.h:31