ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Attributes | List of all members
Trk::IMatrixTool Class Referenceabstract

#include <IMatrixTool.h>

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

Public Member Functions

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

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Retrieve interface ID. More...
 

Protected Attributes

std::ostream * m_logStream
 logfile output stream More...
 
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.

◆ ~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::MatrixTool, and Trk::IPCMatrixTool.

◆ addFirstDerivative()

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

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

◆ addFirstDerivatives() [1/2]

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

adds first derivative to vector

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

◆ 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::MatrixTool, and Trk::IPCMatrixTool.

◆ 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; }

◆ addSecondDerivative()

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

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

◆ addSecondDerivatives() [1/2]

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

adds second derivatives to matrix

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

◆ 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::MatrixTool, and Trk::IPCMatrixTool.

◆ allocateMatrix()

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

allocates space in memory for the big matrix and vector

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

◆ 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  {
111  return IID_TRKALIGNINTERFACES_IMatrixTool;
112  }

◆ 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::MatrixTool, and Trk::IPCMatrixTool.

◆ 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.

95 { m_logStream = os; }

◆ setNHits()

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

set module identifier

set number of hits

Definition at line 83 of file IMatrixTool.h.

83 { m_nHits = n; }

◆ 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::MatrixTool, and Trk::IPCMatrixTool.

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:
Trk::IMatrixTool::m_nHits
int m_nHits
Definition: IMatrixTool.h:100
beamspotman.n
n
Definition: beamspotman.py:731
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
Trk::IMatrixTool::m_nentries
int m_nentries
Definition: IMatrixTool.h:106
Trk::IMatrixTool::m_logStream
std::ostream * m_logStream
logfile output stream
Definition: IMatrixTool.h:98
Trk::IMatrixTool::m_alignModuleMap
std::map< int, int > m_alignModuleMap
Definition: IMatrixTool.h:105
Trk::IMatrixTool::m_nMeasurements
int m_nMeasurements
Definition: IMatrixTool.h:102
Trk::IMatrixTool::m_nTracks
int m_nTracks
Definition: IMatrixTool.h:101