ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkAlignment
TrkAlignInterfaces
TrkAlignInterfaces
IDerivCalcTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRKALIGNINTERFACES_IDERIVCALCTOOL_IH
6
#define TRKALIGNINTERFACES_IDERIVCALCTOOL_IH
7
22
23
#include "GaudiKernel/IAlgTool.h"
24
25
#include <fstream>
26
27
namespace
Trk
{
28
29
class
Track
;
30
class
AlignTSOS
;
31
class
AlignTrack
;
32
33
static
const
InterfaceID
34
IID_TRKALIGNINTERFACES_IDerivCalcTool
(
"IDerivCalcTool"
,1,0);
35
36
class
IDerivCalcTool
:
virtual
public
IAlgTool {
37
38
public
:
39
41
enum
SolveOption
{
42
NONE
= 0,
43
SOLVE
= 1,
44
SOLVE_FAST
= 2,
45
DIRECT_SOLVE
= 3,
46
DIRECT_SOLVE_FAST
= 4,
47
DIRECT_SOLVE_CLUSTER
= 5
48
};
// this is also defined in TrkGlobAlign class
49
51
virtual
~IDerivCalcTool
() {}
52
54
static
const
InterfaceID&
interfaceID
();
55
57
void
setSolveOption
(
int
solveOption) {
m_solveOption
=solveOption; }
58
60
virtual
bool
setDerivatives
(
AlignTrack
* alignTrack) = 0;
61
63
virtual
void
showStatistics
() = 0;
64
65
//bool storeSuperStructures() { return m_storeSuperStructures; }
66
68
virtual
bool
setResidualCovMatrix
(
AlignTrack
* alignTrack)
const
= 0;
69
71
virtual
void
setLogStream
(std::ostream * os) {
m_logStream
= os; }
72
73
protected
:
74
//bool m_storeSuperStructures; //!< Store Super Structures information in txt file ?
75
76
std::ostream *
m_logStream
=
nullptr
;
77
78
private
:
79
80
int
m_solveOption
= 0;
81
82
};
// end of class
83
84
inline
const
InterfaceID&
IDerivCalcTool::interfaceID
() {
85
return
IID_TRKALIGNINTERFACES_IDerivCalcTool
;
86
}
87
88
}
// end of namespace
89
90
91
#endif
// TRKALIGNINTERFACES_IDERIVCALCTOOL_IH
AlignTSOS
AlignTSOS is a TSOS with extra variables useful for alignment.
AlignTrack
AlignTrack is a generalization of a Trk::Track, used as the basic object to contain track information...
Trk::AlignTrack
Definition
AlignTrack.h:41
Trk::IDerivCalcTool
Definition
IDerivCalcTool.h:36
Trk::IDerivCalcTool::setLogStream
virtual void setLogStream(std::ostream *os)
sets the output stream for the logfile
Definition
IDerivCalcTool.h:71
Trk::IDerivCalcTool::m_logStream
std::ostream * m_logStream
logfile output stream
Definition
IDerivCalcTool.h:76
Trk::IDerivCalcTool::setDerivatives
virtual bool setDerivatives(AlignTrack *alignTrack)=0
sets partial derivatives of residuals w.r.t.
Trk::IDerivCalcTool::showStatistics
virtual void showStatistics()=0
write statistics to log file
Trk::IDerivCalcTool::setSolveOption
void setSolveOption(int solveOption)
solving option (see enum above)
Definition
IDerivCalcTool.h:57
Trk::IDerivCalcTool::m_solveOption
int m_solveOption
Definition
IDerivCalcTool.h:80
Trk::IDerivCalcTool::setResidualCovMatrix
virtual bool setResidualCovMatrix(AlignTrack *alignTrack) const =0
sets residual covariance matrix
Trk::IDerivCalcTool::interfaceID
static const InterfaceID & interfaceID()
Retrieve interface ID.
Definition
IDerivCalcTool.h:84
Trk::IDerivCalcTool::SolveOption
SolveOption
enum of different solving options
Definition
IDerivCalcTool.h:41
Trk::IDerivCalcTool::DIRECT_SOLVE_FAST
@ DIRECT_SOLVE_FAST
direct Fast (Eigen method) solving, already available matrix & vector
Definition
IDerivCalcTool.h:46
Trk::IDerivCalcTool::DIRECT_SOLVE_CLUSTER
@ DIRECT_SOLVE_CLUSTER
computation of alignment parameters from SCALAPAK already solved matrix
Definition
IDerivCalcTool.h:47
Trk::IDerivCalcTool::SOLVE
@ SOLVE
solving after data accumulation (LAPACK)
Definition
IDerivCalcTool.h:43
Trk::IDerivCalcTool::SOLVE_FAST
@ SOLVE_FAST
Fast (Eigen method) solving after data accumulation.
Definition
IDerivCalcTool.h:44
Trk::IDerivCalcTool::NONE
@ NONE
not solve in any case (to be used when ipc)
Definition
IDerivCalcTool.h:42
Trk::IDerivCalcTool::DIRECT_SOLVE
@ DIRECT_SOLVE
direct solving (LAPACK), already available matrix & vector
Definition
IDerivCalcTool.h:45
Trk::IDerivCalcTool::~IDerivCalcTool
virtual ~IDerivCalcTool()
Virtual destructor.
Definition
IDerivCalcTool.h:51
Track
Definition
TriggerChamberClusterOnTrackCreator.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::IID_TRKALIGNINTERFACES_IDerivCalcTool
static const InterfaceID IID_TRKALIGNINTERFACES_IDerivCalcTool("IDerivCalcTool", 1, 0)
Generated on
for ATLAS Offline Software by
1.17.0