ATLAS Offline Software
MdtAlignmentStore.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONALIGNMENTDATA_MDTALIGNMENTSTORE_H
6 #define MUONALIGNMENTDATA_MDTALIGNMENTSTORE_H
7 
8 
11 
12 #include "Identifier/Identifier.h"
13 #include "Identifier/IdentifierHash.h" //for moduleHash
14 #include <vector>
15 
16 class BLinePar;
17 class MdtAsBuiltPar;
18 namespace Muon{
19  class IMuonIdHelperSvc;
20 }
27  public:
28  MdtAlignmentStore(const Muon::IMuonIdHelperSvc* idHelperSvc);
33  const BLinePar* bLine{nullptr};
34  const MdtAsBuiltPar* asBuilt{nullptr};
35  operator bool() const {
36  return bLine || asBuilt;
37  }
38  };
41  const unsigned int idx = m_idHelperSvc->moduleHash(detElId);
43  return idx < m_alignMap.size() ? m_alignMap[idx] : chamberDistortions{};
44  }
45  void storeDistortion(const Identifier& detElId, const BLinePar* bline, const MdtAsBuiltPar* asBuilt);
46  private:
48  std::vector<chamberDistortions> m_alignMap{};
49 };
50 
51 #endif
MdtAlignmentStore::chamberDistortions::bLine
const BLinePar * bLine
Definition: MdtAlignmentStore.h:33
Muon::IMuonIdHelperSvc::moduleHash
virtual IdentifierHash moduleHash(const Identifier &id) const =0
Returns the module hash associated to an Identifier.
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
Muon::MuonStationIndex::TechnologyIndex::MDT
@ MDT
MdtAlignmentStore::m_idHelperSvc
const Muon::IMuonIdHelperSvc * m_idHelperSvc
Definition: MdtAlignmentStore.h:47
MdtAlignmentStore
Helper struct to cache simulatenously the As-built and the BLine corrections of the Mdts for fast acc...
Definition: MdtAlignmentStore.h:26
MdtAlignmentStore::getDistortion
chamberDistortions getDistortion(const Identifier &detElId) const
Returns a chamber distortion that's cached for the corresponding Mdt chamber element.
Definition: MdtAlignmentStore.h:40
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:32
MdtAlignmentStore::storeDistortion
void storeDistortion(const Identifier &detElId, const BLinePar *bline, const MdtAsBuiltPar *asBuilt)
Definition: MdtAlignmentStore.cxx:16
MdtAlignmentStore::m_alignMap
std::vector< chamberDistortions > m_alignMap
Definition: MdtAlignmentStore.h:48
BLinePar
Definition: BLinePar.h:14
columnar::final
CM final
Definition: ColumnAccessor.h:106
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:34
IdentifierHash.h
DetectorAlignStore.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:27
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
MdtAlignmentStore::MdtAlignmentStore
MdtAlignmentStore(const Muon::IMuonIdHelperSvc *idHelperSvc)
Definition: MdtAlignmentStore.cxx:11
IMuonIdHelperSvc.h
Identifier
Definition: IdentifierFieldParser.cxx:14