ATLAS Offline Software
Loading...
Searching...
No Matches
Tracking
TrkAlignment
TrkAlignGenTools
TrkAlignGenTools
IPCMatrixTool.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 TRKALIGNGENTOOLS_IPCMATRIXTOOL_H
6
#define TRKALIGNGENTOOLS_IPCMATRIXTOOL_H
7
21
22
#include "
AthenaBaseComps/AthAlgTool.h
"
23
#include "
TrkAlignInterfaces/IMatrixTool.h
"
24
25
namespace
Trk
{
26
27
class
AlVec;
28
class
AlSymMatBase;
29
class
IPCMat;
30
31
class
IPCMatrixTool
:
public
AthAlgTool
,
virtual
public
IMatrixTool
{
32
public
:
33
35
IPCMatrixTool
(
const
std::string&
type
,
const
std::string& name,
36
const
IInterface* parent);
37
39
virtual
~IPCMatrixTool
();
40
42
StatusCode
initialize
();
43
45
StatusCode
finalize
();
46
48
StatusCode
allocateMatrix
(
int
nDoF);
49
51
void
prepareBinaryFiles
(
int
solveOption);
52
54
void
addFirstDerivatives
(
AlVec
*
vector
);
55
57
void
addFirstDerivatives
(std::list<int,double>& derivatives);
58
60
void
addSecondDerivatives
(
AlSymMatBase
* matrix);
61
63
void
addSecondDerivatives
(std::list<std::pair<int,int>,
double
>& derivatives);
64
66
bool
accumulateFromFiles
();
67
69
int
solve
();
70
71
void
addFirstDerivative
(
int
irow,
double
firstderiv);
72
void
addSecondDerivative
(
int
irow,
int
icol,
double
secondderiv);
73
74
//void setAlignModule(int, const AlignModule*, int) {}
75
76
private
:
77
79
IPCMat
*
m_ipcmat
;
80
81
std::string
m_ipcmatMatName
;
82
std::string
m_ipcmatVecName
;
83
85
bool
m_IPCremoval
;
86
87
};
// end of class
88
89
inline
void
IPCMatrixTool::addFirstDerivative
(
int
,
double
) {
/*m_bigvector[i]+=firstderiv;*/
}
90
91
inline
void
IPCMatrixTool::addSecondDerivative
(
int
,
int
,
double
) {
/*m_bigmatrix[irow][icol]+=secondderiv;*/
}
92
93
94
}
// end of namespace
95
96
#endif
// TRKALIGNGENTOOLS_IPCMATRIXTOOL_H
97
98
99
100
101
AthAlgTool.h
IMatrixTool.h
AthAlgTool::AthAlgTool
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
Definition
AthAlgTool.cxx:16
Trk::AlSymMatBase
contains the base implementation for handling symmertic matrices
Definition
AlSymMatBase.h:38
Trk::AlVec
Definition
AlVec.h:23
Trk::IMatrixTool::IMatrixTool
IMatrixTool()
constructor
Definition
IMatrixTool.h:114
Trk::IPCMat
Definition
IPCMat.h:37
Trk::IPCMatrixTool::addSecondDerivatives
void addSecondDerivatives(AlSymMatBase *matrix)
adds second derivatives to matrix
Definition
IPCMatrixTool.cxx:110
Trk::IPCMatrixTool::initialize
StatusCode initialize()
initialize
Definition
IPCMatrixTool.cxx:47
Trk::IPCMatrixTool::m_ipcmatMatName
std::string m_ipcmatMatName
IPC binary matrix filename.
Definition
IPCMatrixTool.h:81
Trk::IPCMatrixTool::IPCMatrixTool
IPCMatrixTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition
IPCMatrixTool.cxx:24
Trk::IPCMatrixTool::addFirstDerivatives
void addFirstDerivatives(AlVec *vector)
adds first derivative to vector
Definition
IPCMatrixTool.cxx:105
Trk::IPCMatrixTool::accumulateFromFiles
bool accumulateFromFiles()
accumulates from files
Definition
IPCMatrixTool.cxx:91
Trk::IPCMatrixTool::prepareBinaryFiles
void prepareBinaryFiles(int solveOption)
reads/writes matrix entries from/to binary files as necessary
Definition
IPCMatrixTool.cxx:85
Trk::IPCMatrixTool::~IPCMatrixTool
virtual ~IPCMatrixTool()
Virtual destructor.
Definition
IPCMatrixTool.cxx:39
Trk::IPCMatrixTool::solve
int solve()
solves for alignment parameters
Definition
IPCMatrixTool.cxx:98
Trk::IPCMatrixTool::m_ipcmatVecName
std::string m_ipcmatVecName
IPC binary vector filename.
Definition
IPCMatrixTool.h:82
Trk::IPCMatrixTool::m_IPCremoval
bool m_IPCremoval
remove spurious + align.
Definition
IPCMatrixTool.h:85
Trk::IPCMatrixTool::m_ipcmat
IPCMat * m_ipcmat
Pointer to IPCMat, used for parallel processing.
Definition
IPCMatrixTool.h:79
Trk::IPCMatrixTool::allocateMatrix
StatusCode allocateMatrix(int nDoF)
allocates memory for IPC matrix and vector
Definition
IPCMatrixTool.cxx:63
Trk::IPCMatrixTool::addFirstDerivative
void addFirstDerivative(int irow, double firstderiv)
Definition
IPCMatrixTool.h:89
Trk::IPCMatrixTool::finalize
StatusCode finalize()
initialize
Definition
IPCMatrixTool.cxx:55
Trk::IPCMatrixTool::addSecondDerivative
void addSecondDerivative(int irow, int icol, double secondderiv)
Definition
IPCMatrixTool.h:91
vector
Definition
MultiHisto.h:13
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
type
Generated on
for ATLAS Offline Software by
1.14.0