ATLAS Offline Software
Loading...
Searching...
No Matches
Trk::IMatrixTool Class Referenceabstract

#include <IMatrixTool.h>

Inheritance diagram for Trk::IMatrixTool:
Collaboration diagram for Trk::IMatrixTool:

Public Member Functions

 IMatrixTool ()
 constructor
virtual ~IMatrixTool ()
 Virtual destructor.
virtual StatusCode allocateMatrix (int nDoF)=0
 allocates space in memory for the big matrix and vector
virtual void prepareBinaryFiles (int solveOption)=0
 reads/writes matrix entries from/to binary files as necessary
virtual void addFirstDerivatives (AlVec *vector)=0
 adds first derivative to vector
virtual void addFirstDerivatives (std::list< int, double > &derivatives)=0
 adds first derivative to vector for only some entries
virtual void addFirstDerivative (int irow, double val)=0
virtual void addSecondDerivatives (AlSymMatBase *matrix)=0
 adds second derivatives to matrix
virtual void addSecondDerivatives (std::list< std::pair< int, int >, double > &derivatives)=0
 adds first derivative to vector for only some entries
virtual void addSecondDerivative (int irow, int icol, double val)=0
virtual bool accumulateFromFiles ()=0
 accumulates first and second derivatives from files.
virtual int solve ()=0
 solves for alignment parameters
void addModule (int alignModuleIndex, int nAlignParam)
int entryNumber (int alignModuleIndex)
void setNHits (int n)
 set module identifier
int nHits () const
void setNTracks (int n)
 set number of tracks
int nTracks () const
void setNMeasurements (int n)
 set number of measurements
int nMeasurements () const
virtual void setLogStream (std::ostream *os)
 sets the output stream for the logfile

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Retrieve interface ID.

Protected Attributes

std::ostream * m_logStream
 logfile output stream
int m_nHits
int m_nTracks
int m_nMeasurements

Private Attributes

std::map< int, int > m_alignModuleMap
int m_nentries

Detailed Description

Definition at line 35 of file IMatrixTool.h.

Constructor & Destructor Documentation

◆ IMatrixTool()

IMatrixTool::IMatrixTool ( )
inline

constructor

Definition at line 114 of file IMatrixTool.h.

std::ostream * m_logStream
logfile output stream
Definition IMatrixTool.h:98

◆ ~IMatrixTool()

virtual Trk::IMatrixTool::~IMatrixTool ( )
inlinevirtual

Virtual destructor.

Definition at line 43 of file IMatrixTool.h.

43{}

Member Function Documentation

◆ accumulateFromFiles()

virtual bool Trk::IMatrixTool::accumulateFromFiles ( )
pure virtual

accumulates first and second derivatives from files.

File type to be specified by configuring the tool

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ addFirstDerivative()

virtual void Trk::IMatrixTool::addFirstDerivative ( int irow,
double val )
pure virtual

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ addFirstDerivatives() [1/2]

virtual void Trk::IMatrixTool::addFirstDerivatives ( AlVec * vector)
pure virtual

adds first derivative to vector

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ addFirstDerivatives() [2/2]

virtual void Trk::IMatrixTool::addFirstDerivatives ( std::list< int, double > & derivatives)
pure virtual

adds first derivative to vector for only some entries

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ addModule()

void IMatrixTool::addModule ( int alignModuleIndex,
int nAlignParam )
inline

Definition at line 116 of file IMatrixTool.h.

116{ m_alignModuleMap[alignModuleIndex]=m_nentries; m_nentries += nAlignParam; }
std::map< int, int > m_alignModuleMap

◆ addSecondDerivative()

virtual void Trk::IMatrixTool::addSecondDerivative ( int irow,
int icol,
double val )
pure virtual

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ addSecondDerivatives() [1/2]

virtual void Trk::IMatrixTool::addSecondDerivatives ( AlSymMatBase * matrix)
pure virtual

adds second derivatives to matrix

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ addSecondDerivatives() [2/2]

virtual void Trk::IMatrixTool::addSecondDerivatives ( std::list< std::pair< int, int >, double > & derivatives)
pure virtual

adds first derivative to vector for only some entries

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ allocateMatrix()

virtual StatusCode Trk::IMatrixTool::allocateMatrix ( int nDoF)
pure virtual

allocates space in memory for the big matrix and vector

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ entryNumber()

int IMatrixTool::entryNumber ( int alignModuleIndex)
inline

Definition at line 118 of file IMatrixTool.h.

118{ if ( m_alignModuleMap.find(alignModuleIndex) == m_alignModuleMap.end()) return -1; else return m_alignModuleMap[alignModuleIndex]; }

◆ interfaceID()

const InterfaceID & IMatrixTool::interfaceID ( )
inlinestatic

Retrieve interface ID.

Definition at line 110 of file IMatrixTool.h.

110 {
112 }
static const InterfaceID IID_TRKALIGNINTERFACES_IMatrixTool("IMatrixTool", 1, 0)

◆ nHits()

int Trk::IMatrixTool::nHits ( ) const
inline

Definition at line 84 of file IMatrixTool.h.

84{ return m_nHits; }

◆ nMeasurements()

int Trk::IMatrixTool::nMeasurements ( ) const
inline

Definition at line 92 of file IMatrixTool.h.

92{ return m_nMeasurements; }

◆ nTracks()

int Trk::IMatrixTool::nTracks ( ) const
inline

Definition at line 88 of file IMatrixTool.h.

88{ return m_nTracks; }

◆ prepareBinaryFiles()

virtual void Trk::IMatrixTool::prepareBinaryFiles ( int solveOption)
pure virtual

reads/writes matrix entries from/to binary files as necessary

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

◆ setLogStream()

virtual void Trk::IMatrixTool::setLogStream ( std::ostream * os)
inlinevirtual

sets the output stream for the logfile

Definition at line 95 of file IMatrixTool.h.

◆ setNHits()

void Trk::IMatrixTool::setNHits ( int n)
inline

set module identifier

set number of hits

Definition at line 83 of file IMatrixTool.h.

◆ setNMeasurements()

void Trk::IMatrixTool::setNMeasurements ( int n)
inline

set number of measurements

Definition at line 91 of file IMatrixTool.h.

91{ m_nMeasurements = n; }

◆ setNTracks()

void Trk::IMatrixTool::setNTracks ( int n)
inline

set number of tracks

Definition at line 87 of file IMatrixTool.h.

87{ m_nTracks = n; }

◆ solve()

virtual int Trk::IMatrixTool::solve ( )
pure virtual

solves for alignment parameters

Implemented in Trk::IPCMatrixTool, and Trk::MatrixTool.

Member Data Documentation

◆ m_alignModuleMap

std::map<int,int> Trk::IMatrixTool::m_alignModuleMap
private

Definition at line 105 of file IMatrixTool.h.

◆ m_logStream

std::ostream* Trk::IMatrixTool::m_logStream
protected

logfile output stream

Definition at line 98 of file IMatrixTool.h.

◆ m_nentries

int Trk::IMatrixTool::m_nentries
private

Definition at line 106 of file IMatrixTool.h.

◆ m_nHits

int Trk::IMatrixTool::m_nHits
protected

Definition at line 100 of file IMatrixTool.h.

◆ m_nMeasurements

int Trk::IMatrixTool::m_nMeasurements
protected

Definition at line 102 of file IMatrixTool.h.

◆ m_nTracks

int Trk::IMatrixTool::m_nTracks
protected

Definition at line 101 of file IMatrixTool.h.


The documentation for this class was generated from the following file: