ATLAS Offline Software
IJacobianManagerTool.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 TRKALIGNINTERFACES_IJACOBIANMANAGERTOOL_H
6 #define TRKALIGNINTERFACES_IJACOBIANMANAGERTOOL_H
7 
8 #include "GaudiKernel/IAlgTool.h"
9 #include "GaudiKernel/ToolHandle.h"
10 
11 #include <map>
12 
25 class AlMat;
26 
27 namespace Trk {
29 }
30 
31 namespace Trk {
32  static const InterfaceID
33  IID_TRKALIGNINTERFACES_IJacobianManagerTool("IJacobianManagerTool",1,0);
34 
35  class IJacobianManagerTool : virtual public IAlgTool {
36 
37  public:
38  static const InterfaceID& interfaceID();
39 
40  typedef std::map<int,int> ModuleIndexMap;
41 
42  virtual StatusCode initialize() = 0; // must retrieve IGeometryManagerTool
43 
44  virtual StatusCode BuildJacobian(AlMat*, int, bool, ModuleIndexMap) = 0;
45  virtual StatusCode BuildJacobian(int, bool) = 0;
46 
47  virtual std::vector<HepVector3D> GetCenterOfGravity() const = 0;
48  virtual std::vector<int> GetNumberOfModsPerLayer() const = 0;
49  virtual std::vector<float> GetLayerRadius() const = 0;
50 
51  private:
52  virtual StatusCode DumpJacobian(AlMat*) const = 0;
53  virtual StatusCode TestJacobian(AlMat*, int, int) const = 0;
55  virtual StatusCode StoreTxt() = 0;
57  virtual int FindModIndex(int, ModuleIndexMap) = 0;
58 
59  ToolHandle<IGeometryManagerTool> m_geometryManagerTool;
60 
61  }; // end class definition
62 
63  inline const InterfaceID& IJacobianManagerTool::interfaceID() {
64  return IID_TRKALIGNINTERFACES_IJacobianManagerTool;
65  }
66 
67 } // end namespace
68 
69 #endif // TRKALIGNINTERFACES_IJACOBIANMANAGERTOOL_H
Trk::IJacobianManagerTool::TestJacobian
virtual StatusCode TestJacobian(AlMat *, int, int) const =0
Trk::IJacobianManagerTool::GetCenterOfGravity
virtual std::vector< HepVector3D > GetCenterOfGravity() const =0
Trk::IJacobianManagerTool::ShowHitmap
virtual StatusCode ShowHitmap(ModuleIndexMap, ModuleIndexMap, bool, bool)=0
Trk::IJacobianManagerTool::BuildJacobian
virtual StatusCode BuildJacobian(AlMat *, int, bool, ModuleIndexMap)=0
Trk::IJacobianManagerTool::FindModIndex
virtual int FindModIndex(int, ModuleIndexMap)=0
Trk::IJacobianManagerTool::FillJacobian
virtual StatusCode FillJacobian(AlMat *, int, int, ModuleIndexMap, ModuleIndexMap)=0
Trk::IJacobianManagerTool
Definition: IJacobianManagerTool.h:35
Trk::IJacobianManagerTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IJacobianManagerTool.h:63
Trk::IJacobianManagerTool::StoreTxt
virtual StatusCode StoreTxt()=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IGeometryManagerTool
Interface for tool used to build the AlignModules to be used for alignment. The implementation is spe...
Trk::AlMat
Definition: AlMat.h:27
Trk::IJacobianManagerTool::initialize
virtual StatusCode initialize()=0
Trk::IJacobianManagerTool::DumpJacobian
virtual StatusCode DumpJacobian(AlMat *) const =0
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::IJacobianManagerTool::GetNumberOfModsPerLayer
virtual std::vector< int > GetNumberOfModsPerLayer() const =0
Trk::IJacobianManagerTool::BuildJacobian
virtual StatusCode BuildJacobian(int, bool)=0
Trk::IJacobianManagerTool::GetLayerRadius
virtual std::vector< float > GetLayerRadius() const =0
Trk::IJacobianManagerTool::ModuleIndexMap
std::map< int, int > ModuleIndexMap
Definition: IJacobianManagerTool.h:40
Trk::IJacobianManagerTool::m_geometryManagerTool
ToolHandle< IGeometryManagerTool > m_geometryManagerTool
Definition: IJacobianManagerTool.h:59