ATLAS Offline Software
Loading...
Searching...
No Matches
TRTTrkAlignDBTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETALIGNDBTOOLS_TRTTRKALIGNDBTOOL_H
6#define INDETALIGNDBTOOLS_TRTTRKALIGNDBTOOL_H
7
10
11
21
22class TFile;
23
24class TRT_ID;
25class PixelID;
26class ITRT_AlignDbSvc;
27
28class Identifier;
29
30namespace Trk
31{
32 class AlignModule;
33 class IAlignModuleTool;
35}
36
37namespace InDet
38{
39
40 class TRTTrkAlignDBTool : virtual public Trk::ITrkAlignDBTool, public AthAlgTool
41 {
42
43 public:
44 TRTTrkAlignDBTool(const std::string & type, const std::string & name, const IInterface * parent);
45 virtual ~TRTTrkAlignDBTool();
46
47 StatusCode initialize();
48 StatusCode finalize();
49
51 void writeAlignPar();
52
54 void setNtuple(TFile * file)
55 { m_ntuple=file; }
56
57 private:
58
60 void printTransform(const Amg::Transform3D & tr) const;
61
63 void updateDB();
64
66 bool containsTRT(Trk::AlignModule * module) const;
67
69 void updateL0asL1(Identifier idL0, const Amg::Transform3D & transform);
70
71 bool checkAlignLevel();
72
75
76 std::string m_outputAlignFile;
78 std::string m_oldAlignFile;
83
85 ToolHandle<Trk::IAlignModuleTool> m_alignModuleTool;
86 ToolHandle<Trk::IGeometryManagerTool> m_trtGeoManager;
87
91
92 TFile * m_ntuple;
93
94 }; // end class
95
96} // end namespace
97
98#endif // INDETALIGNDBTOOLS_TRTTRKALIGNDBTOOL_H
AlignModule is a grouping of TrkDetElementBase objects, grouped according to the type of alignment,...
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Interface for tool used to build the AlignModules to be used for alignment.
bool containsTRT(Trk::AlignModule *module) const
checks whether the AlignModule contains TRT detector elements
TRTTrkAlignDBTool(const std::string &type, const std::string &name, const IInterface *parent)
void printTransform(const Amg::Transform3D &tr) const
print translation to stdout
void updateDB()
updates alignment constants in the DB
void writeAlignPar()
Writes alignment parameters.
void setNtuple(TFile *file)
sets ntuple to be used to write output
ToolHandle< Trk::IGeometryManagerTool > m_trtGeoManager
void updateL0asL1(Identifier idL0, const Amg::Transform3D &transform)
updates level 0 transform as level 1 constants in the DB
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
ServiceHandle< ITRT_AlignDbSvc > m_trtAlignDbSvc
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
Eigen::Affine3d Transform3D
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
TFile * file