ATLAS Offline Software
Loading...
Searching...
No Matches
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
18namespace InDetDD {
20}
21
22// SCT_AlignCondAlg cannot inherit AthCondAlgorithm.
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(const EventContext& ctx) const 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
Base class for conditions algorithms.
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
Base class for conditions algorithms.
Dedicated detector manager extending the functionality of the SiDetectorManager with dedicated SCT in...
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyDynamicL2
SG::ReadCondHandleKey< AlignableTransformContainer > m_readKeyDynamicL3
BooleanProperty m_useDynamicAlignFolders
virtual ~SCT_AlignCondAlg() override=default
const InDetDD::SCT_DetectorManager * m_detManager
virtual StatusCode execute(const EventContext &ctx) const override
std::string m_DetManagerName
virtual StatusCode finalize() override
SG::ReadCondHandleKey< CondAttrListCollection > m_readKeyDynamicL1
SG::WriteCondHandleKey< GeoAlignmentStore > m_writeKey
SCT_AlignCondAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode initialize() override
SG::ReadCondHandleKey< AlignableTransformContainer > m_readKeyStatic
Message Stream Member.