ATLAS Offline Software
Loading...
Searching...
No Matches
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
24
25class AlMat;
26
27namespace Trk {
29}
30
31namespace Trk {
32 static const InterfaceID
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;
54 virtual StatusCode FillJacobian(AlMat*, int, int, ModuleIndexMap, ModuleIndexMap) = 0;
55 virtual StatusCode StoreTxt() = 0;
56 virtual StatusCode ShowHitmap(ModuleIndexMap, ModuleIndexMap, bool, bool) = 0;
57 virtual int FindModIndex(int, ModuleIndexMap) = 0;
58
59 ToolHandle<IGeometryManagerTool> m_geometryManagerTool;
60
61 }; // end class definition
62
66
67} // end namespace
68
69#endif // TRKALIGNINTERFACES_IJACOBIANMANAGERTOOL_H
Interface for tool used to build the AlignModules to be used for alignment.
contains the implementation of the methods of class AlMat, for handling general NxM matrices
Definition AlMat.h:27
virtual StatusCode ShowHitmap(ModuleIndexMap, ModuleIndexMap, bool, bool)=0
virtual int FindModIndex(int, ModuleIndexMap)=0
virtual std::vector< HepVector3D > GetCenterOfGravity() const =0
static const InterfaceID & interfaceID()
virtual StatusCode BuildJacobian(AlMat *, int, bool, ModuleIndexMap)=0
virtual StatusCode BuildJacobian(int, bool)=0
ToolHandle< IGeometryManagerTool > m_geometryManagerTool
virtual std::vector< float > GetLayerRadius() const =0
virtual StatusCode TestJacobian(AlMat *, int, int) const =0
virtual StatusCode StoreTxt()=0
virtual StatusCode FillJacobian(AlMat *, int, int, ModuleIndexMap, ModuleIndexMap)=0
virtual StatusCode DumpJacobian(AlMat *) const =0
std::map< int, int > ModuleIndexMap
virtual std::vector< int > GetNumberOfModsPerLayer() const =0
virtual StatusCode initialize()=0
Ensure that the ATLAS eigen extensions are properly loaded.
static const InterfaceID IID_TRKALIGNINTERFACES_IJacobianManagerTool("IJacobianManagerTool", 1, 0)