ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkAlignment
TrkAlignGenTools
TrkAlignGenTools
IPCMatrixTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 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
=
nullptr
;
80
81
Gaudi::Property<std::string>
m_ipcmatMatName
82
{
this
,
"IPCMatrixName"
,
"/tmp/ipcmat.dat"
,
"IPC binary matrix filename"
};
83
Gaudi::Property<std::string>
m_ipcmatVecName
84
{
this
,
"IPCVectorName"
,
"/tmp/ipcvec.dat"
,
"IPC binary vector filename"
};
85
87
Gaudi::Property<bool>
m_IPCremoval
{
this
,
"IPCRemoval"
,
false
};
88
89
};
// end of class
90
91
inline
void
IPCMatrixTool::addFirstDerivative
(
int
,
double
) {
/*m_bigvector[i]+=firstderiv;*/
}
92
93
inline
void
IPCMatrixTool::addSecondDerivative
(
int
,
int
,
double
) {
/*m_bigmatrix[irow][icol]+=secondderiv;*/
}
94
95
96
}
// end of namespace
97
98
#endif
// TRKALIGNGENTOOLS_IPCMATRIXTOOL_H
99
100
101
102
103
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:26
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:105
Trk::IPCMatrixTool::initialize
StatusCode initialize()
initialize
Definition
IPCMatrixTool.cxx:42
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:100
Trk::IPCMatrixTool::accumulateFromFiles
bool accumulateFromFiles()
accumulates from files
Definition
IPCMatrixTool.cxx:86
Trk::IPCMatrixTool::prepareBinaryFiles
void prepareBinaryFiles(int solveOption)
reads/writes matrix entries from/to binary files as necessary
Definition
IPCMatrixTool.cxx:80
Trk::IPCMatrixTool::~IPCMatrixTool
virtual ~IPCMatrixTool()
Virtual destructor.
Definition
IPCMatrixTool.cxx:34
Trk::IPCMatrixTool::m_ipcmatVecName
Gaudi::Property< std::string > m_ipcmatVecName
Definition
IPCMatrixTool.h:84
Trk::IPCMatrixTool::m_ipcmatMatName
Gaudi::Property< std::string > m_ipcmatMatName
Definition
IPCMatrixTool.h:82
Trk::IPCMatrixTool::solve
int solve()
solves for alignment parameters
Definition
IPCMatrixTool.cxx:93
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:58
Trk::IPCMatrixTool::addFirstDerivative
void addFirstDerivative(int irow, double firstderiv)
Definition
IPCMatrixTool.h:91
Trk::IPCMatrixTool::finalize
StatusCode finalize()
initialize
Definition
IPCMatrixTool.cxx:50
Trk::IPCMatrixTool::addSecondDerivative
void addSecondDerivative(int irow, int icol, double secondderiv)
Definition
IPCMatrixTool.h:93
Trk::IPCMatrixTool::m_IPCremoval
Gaudi::Property< bool > m_IPCremoval
remove spurious + align.
Definition
IPCMatrixTool.h:87
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.17.0