ATLAS Offline Software
SCT_AlignCondAlg.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef SCT_CONDITIONSALGORITHMS_SCT_ALIGNCONDALG_H
8 #define SCT_CONDITIONSALGORITHMS_SCT_ALIGNCONDALG_H
9 
13 
17 
18 namespace InDetDD {
19  class SCT_DetectorManager;
20 }
21 
22 // SCT_AlignCondAlg cannot inherit AthReentrantAlgorithm.
23 // SCT_AlignCondAlg::execute uses the following methods.
24 // InDetDD::InDetDetectorManager::align
25 // InDetDD::InDetDetectorManager::processAlignmentContainer
26 // InDetDD::InDetDetectorManager::processKey
27 // InDetDD::SCT_DetectorManager::setAlignableTransformDelta
28 // InDetDD::SiDetectorElement::defModuleTransform
29 // InDetDD::SiDetectorElement::defTransform
30 // InDetDD::SiDetectorElement::defTransformCLHEP
31 // GeoVFullPhysVol::getDefAbsoluteTransform
32 // GeoVFullPhysVol::getDefAbsoluteTransform is used without argument.
33 // To be thread-safe, we need to pass non-const GeoVAlignmentStore pointer.
34 // However, we cannot give non-const pointer for SiDetectorElement
35 // in SCT_DetectorManager in the above chain.
36 
38 {
39  public:
40  SCT_AlignCondAlg(const std::string& name, ISvcLocator* pSvcLocator);
41  virtual ~SCT_AlignCondAlg() override = default;
42 
43  virtual StatusCode initialize() override;
44  virtual StatusCode execute() override;
45  virtual StatusCode finalize() override;
46 
47  private:
48  BooleanProperty m_useDynamicAlignFolders{this, "UseDynamicAlignFolders", false, "Flag of dynamic or static ID alignment folders"};
49  SG::ReadCondHandleKey<AlignableTransformContainer> m_readKeyStatic{this, "ReadKeyStatic", "/Indet/Align", "Key for the static alignment folder"};
50  SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyDynamicL1{this, "ReadKeyDynamicL1", "/Indet/AlignL1/ID", "Key for the dynamic L1 alignment folder"};
51  SG::ReadCondHandleKey<CondAttrListCollection> m_readKeyDynamicL2{this, "ReadKeyDynamicL2", "/Indet/AlignL2/SCT", "Key for the dynamic L2 alignment folder"};
52  SG::ReadCondHandleKey<AlignableTransformContainer> m_readKeyDynamicL3{this, "ReadKeyDynamicL3", "/Indet/AlignL3", "Key for the dynamic L3 alignment folder"};
54 
56  std::string m_DetManagerName;
57 };
58 
59 #endif // SCT_CONDITIONSALGORITHMS_SCT_ALIGNCONDALG_H
SCT_AlignCondAlg::finalize
virtual StatusCode finalize() override
Definition: SCT_AlignCondAlg.cxx:142
InDetDD::SCT_DetectorManager
Definition: SCT_DetectorManager.h:49
CondAttrListCollection.h
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
SCT_AlignCondAlg::m_readKeyDynamicL2
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyDynamicL2
Definition: SCT_AlignCondAlg.h:51
WriteCondHandleKey.h
SCT_AlignCondAlg::m_readKeyDynamicL3
SG::ReadCondHandleKey< AlignableTransformContainer > m_readKeyDynamicL3
Definition: SCT_AlignCondAlg.h:52
SCT_AlignCondAlg::m_DetManagerName
std::string m_DetManagerName
Definition: SCT_AlignCondAlg.h:56
AthAlgorithm.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SCT_AlignCondAlg::~SCT_AlignCondAlg
virtual ~SCT_AlignCondAlg() override=default
AlignableTransformContainer.h
SCT_AlignCondAlg::m_useDynamicAlignFolders
BooleanProperty m_useDynamicAlignFolders
Definition: SCT_AlignCondAlg.h:48
SCT_AlignCondAlg::SCT_AlignCondAlg
SCT_AlignCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: SCT_AlignCondAlg.cxx:12
AthAlgorithm
Definition: AthAlgorithm.h:47
ReadCondHandleKey.h
GeoAlignmentStore.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
SCT_AlignCondAlg::m_readKeyDynamicL1
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyDynamicL1
Definition: SCT_AlignCondAlg.h:50
SCT_AlignCondAlg
Definition: SCT_AlignCondAlg.h:38
SG::ReadCondHandleKey
Definition: ReadCondHandleKey.h:20
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
SG::WriteCondHandleKey< GeoAlignmentStore >
SCT_AlignCondAlg::m_writeKey
SG::WriteCondHandleKey< GeoAlignmentStore > m_writeKey
Definition: SCT_AlignCondAlg.h:53
SCT_AlignCondAlg::execute
virtual StatusCode execute() override
Definition: SCT_AlignCondAlg.cxx:41
SCT_AlignCondAlg::initialize
virtual StatusCode initialize() override
Definition: SCT_AlignCondAlg.cxx:21
SCT_AlignCondAlg::m_readKeyStatic
SG::ReadCondHandleKey< AlignableTransformContainer > m_readKeyStatic
Definition: SCT_AlignCondAlg.h:49
SCT_AlignCondAlg::m_detManager
const InDetDD::SCT_DetectorManager * m_detManager
Definition: SCT_AlignCondAlg.h:55