ATLAS Offline Software
ReadSiDetectorElements.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef InDetDetDescrExample_ReadSiDetectorElements_h
6 #define InDetDetDescrExample_ReadSiDetectorElements_h
7 
9 #include "GaudiKernel/ServiceHandle.h"
10 #include "GaudiKernel/ToolHandle.h"
18 
19 #include <vector>
20 
21 class Identifier;
22 
23 namespace InDetDD{
24  class SiDetectorManager;
25  class SiDetectorElement;
26 }
27 
28 class AtlasDetectorID;
29 class PixelID;
30 class SCT_ID;
31 
33 
35 public:
36  ReadSiDetectorElements (const std::string& name, ISvcLocator* pSvcLocator);
40 
41  void testElement(const Identifier & id,
42  const std::vector<InDetDD::SiCellId> & cellIdVec,
43  const std::vector<Amg::Vector2D> & positionsVec,
44  const InDetDD::SiDetectorElementCollection* elements=nullptr) const;
45  std::string printElementId(const InDetDD::SiDetectorElement * element) const;
46  void printAllElements(const bool accessDuringInitialization);
47  void printRandomAccess(const bool accessDuringInitialization);
48  void printDifference() const;
49 
50  private:
51  // Job properties
52  std::string m_managerName;
53  bool m_doLoop;
54  bool m_doInit;
55  bool m_doExec;
57  ToolHandle<ISiliconConditionsTool> m_siConditionsTool{this, "SiConditionsTool", "SCT_SiliconConditionsTool", "Silicon conditions tool"};
58  ToolHandle<ISiLorentzAngleTool> m_siLorentzAngleTool{this, "SiLorentzAngleTool", "SiLorentzAngleTool", "Silicon Lorentz anglet tool"};
59 
60  SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> m_detEleCollKey{this, "DetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection"};
61 
62  // Other
67 
68  bool m_first;
72 
73 };
74 
75 #endif // InDetDetDescrExample_ReadSiDetectorElements_h
InDetDD::SiDetectorElementCollection
Definition: SiDetectorElementCollection.h:30
ReadSiDetectorElements::printDifference
void printDifference() const
Definition: ReadSiDetectorElements.cxx:540
ReadSiDetectorElements::m_printProbePositions
bool m_printProbePositions
Definition: ReadSiDetectorElements.h:69
ReadSiDetectorElements::m_idHelper
const AtlasDetectorID * m_idHelper
Definition: ReadSiDetectorElements.h:64
ReadSiDetectorElements::m_useConditionsTools
bool m_useConditionsTools
Definition: ReadSiDetectorElements.h:56
ReadSiDetectorElements::m_printTransforms
bool m_printTransforms
Definition: ReadSiDetectorElements.h:70
ReadSiDetectorElements::printAllElements
void printAllElements(const bool accessDuringInitialization)
Definition: ReadSiDetectorElements.cxx:119
ReadSiDetectorElements::m_siConditionsTool
ToolHandle< ISiliconConditionsTool > m_siConditionsTool
Definition: ReadSiDetectorElements.h:57
ISiLorentzAngleTool.h
ReadSiDetectorElements::m_siLorentzAngleTool
ToolHandle< ISiLorentzAngleTool > m_siLorentzAngleTool
Definition: ReadSiDetectorElements.h:58
ReadSiDetectorElements::printElementId
std::string printElementId(const InDetDD::SiDetectorElement *element) const
Definition: ReadSiDetectorElements.cxx:707
ReadSiDetectorElements
Definition: ReadSiDetectorElements.h:34
AthAlgorithm.h
GeoPrimitives.h
ReadSiDetectorElements::ReadSiDetectorElements
ReadSiDetectorElements(const std::string &name, ISvcLocator *pSvcLocator)
Definition: ReadSiDetectorElements.cxx:34
ReadSiDetectorElements::m_manager
const InDetDD::SiDetectorManager * m_manager
Definition: ReadSiDetectorElements.h:63
ReadSiDetectorElements::m_doLoop
bool m_doLoop
Definition: ReadSiDetectorElements.h:53
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ReadSiDetectorElements::m_printDirections
bool m_printDirections
Definition: ReadSiDetectorElements.h:71
ReadSiDetectorElements::m_managerName
std::string m_managerName
Definition: ReadSiDetectorElements.h:52
ReadSiDetectorElements::m_detEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_detEleCollKey
Definition: ReadSiDetectorElements.h:60
AthAlgorithm
Definition: AthAlgorithm.h:47
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SiDetectorElementCollection.h
ReadSiDetectorElements::initialize
StatusCode initialize()
Definition: ReadSiDetectorElements.cxx:57
ReadSiDetectorElements::m_doExec
bool m_doExec
Definition: ReadSiDetectorElements.h:55
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection >
ReadSiDetectorElements::m_first
bool m_first
Definition: ReadSiDetectorElements.h:68
ReadSiDetectorElements::testElement
void testElement(const Identifier &id, const std::vector< InDetDD::SiCellId > &cellIdVec, const std::vector< Amg::Vector2D > &positionsVec, const InDetDD::SiDetectorElementCollection *elements=nullptr) const
Definition: ReadSiDetectorElements.cxx:574
SCT_ID
Definition: SCT_ID.h:68
InDetDD
Message Stream Member.
Definition: FakeTrackBuilder.h:8
ReadSiDetectorElements::m_sctIdHelper
const SCT_ID * m_sctIdHelper
Definition: ReadSiDetectorElements.h:66
ReadSiDetectorElements::m_doInit
bool m_doInit
Definition: ReadSiDetectorElements.h:54
ISiliconConditionsTool.h
InDetDD::SiDetectorManager
Definition: SiDetectorManager.h:60
IOVSvcDefs.h
defines and typedefs for IOVSvc
SiCellId.h
PixelID
Definition: PixelID.h:67
ReadSiDetectorElements::printRandomAccess
void printRandomAccess(const bool accessDuringInitialization)
Definition: ReadSiDetectorElements.cxx:361
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
ReadSiDetectorElements::m_pixelIdHelper
const PixelID * m_pixelIdHelper
Definition: ReadSiDetectorElements.h:65
ReadSiDetectorElements::execute
StatusCode execute()
Definition: ReadSiDetectorElements.cxx:108
ReadSiDetectorElements::finalize
StatusCode finalize()
Definition: ReadSiDetectorElements.cxx:719