Project
Loading...
Searching...
No Matches
o2::fwdalign::MatrixSq Class Referenceabstract

#include <MatrixSq.h>

Inherits TMatrixDBase.

Inherited by o2::fwdalign::MatrixSparse, o2::fwdalign::SymBDMatrix, and o2::fwdalign::SymMatrix.

Public Member Functions

 MatrixSq ()
 
 MatrixSq (const MatrixSq &src)
 
 ~MatrixSq () override=default
 
MatrixSqoperator= (const MatrixSq &src)
 = operator
 
virtual Int_t GetSize () const
 
virtual Float_t GetDensity () const =0
 
void Clear (Option_t *option="") override=0
 
virtual Double_t Query (Int_t rown, Int_t coln) const
 
Double_t operator() (Int_t rown, Int_t coln) const override=0
 
Double_t & operator() (Int_t rown, Int_t coln) override=0
 
virtual Double_t QueryDiag (Int_t rc) const
 
virtual Double_t DiagElem (Int_t r) const =0
 
virtual Double_t & DiagElem (Int_t r)=0
 
virtual void AddToRow (Int_t r, Double_t *valc, Int_t *indc, Int_t n)=0
 
void Print (Option_t *option="") const override=0
 
virtual void Reset ()=0
 
virtual void PrintCOO () const
 print matrix in COO sparse format
 
virtual void MultiplyByVec (const Double_t *vecIn, Double_t *vecOut) const
 fill vecOut by matrix * vecIn (vector should be of the same size as the matrix)
 
virtual void MultiplyByVec (const TVectorD &vecIn, TVectorD &vecOut) const
 
Bool_t IsSymmetric () const override
 
void SetSymmetric (Bool_t v=kTRUE)
 
const Double_t * GetMatrixArray () const override
 
Double_t * GetMatrixArray () override
 
const Int_t * GetRowIndexArray () const override
 
Int_t * GetRowIndexArray () override
 
const Int_t * GetColIndexArray () const override
 
Int_t * GetColIndexArray () override
 
TMatrixDBaseSetRowIndexArray (Int_t *) override
 
TMatrixDBaseSetColIndexArray (Int_t *) override
 
TMatrixDBaseGetSub (Int_t, Int_t, Int_t, Int_t, TMatrixDBase &, Option_t *) const override
 
TMatrixDBaseSetSub (Int_t, Int_t, const TMatrixDBase &) override
 
TMatrixDBaseResizeTo (Int_t, Int_t, Int_t) override
 
TMatrixDBaseResizeTo (Int_t, Int_t, Int_t, Int_t, Int_t) override
 
virtual void Allocate (Int_t, Int_t, Int_t, Int_t, Int_t, Int_t)
 

Static Public Member Functions

static Bool_t IsZero (Double_t x, Double_t thresh=1e-64)
 

Protected Member Functions

void Swap (int &r, int &c) const
 
 ClassDefOverride (MatrixSq, 1)
 

Protected Attributes

Bool_t fSymmetric
 is the matrix symmetric? Only lower triangle is filled
 

Detailed Description

Definition at line 28 of file MatrixSq.h.

Constructor & Destructor Documentation

◆ MatrixSq() [1/2]

o2::fwdalign::MatrixSq::MatrixSq ( )
inline

Definition at line 32 of file MatrixSq.h.

◆ MatrixSq() [2/2]

MatrixSq::MatrixSq ( const MatrixSq src)

Definition at line 27 of file MatrixSq.cxx.

◆ ~MatrixSq()

o2::fwdalign::MatrixSq::~MatrixSq ( )
overridedefault

Member Function Documentation

◆ AddToRow()

virtual void o2::fwdalign::MatrixSq::AddToRow ( Int_t  r,
Double_t *  valc,
Int_t *  indc,
Int_t  n 
)
pure virtual

◆ Allocate()

virtual void o2::fwdalign::MatrixSq::Allocate ( Int_t  ,
Int_t  ,
Int_t  ,
Int_t  ,
Int_t  ,
Int_t   
)
inlinevirtual

Definition at line 128 of file MatrixSq.h.

◆ ClassDefOverride()

o2::fwdalign::MatrixSq::ClassDefOverride ( MatrixSq  ,
 
)
protected

◆ Clear()

void o2::fwdalign::MatrixSq::Clear ( Option_t *  option = "")
overridepure virtual

◆ DiagElem() [1/2]

virtual Double_t o2::fwdalign::MatrixSq::DiagElem ( Int_t  r) const
pure virtual

◆ DiagElem() [2/2]

virtual Double_t & o2::fwdalign::MatrixSq::DiagElem ( Int_t  r)
pure virtual

◆ GetColIndexArray() [1/2]

const Int_t * o2::fwdalign::MatrixSq::GetColIndexArray ( ) const
inlineoverride

Definition at line 88 of file MatrixSq.h.

◆ GetColIndexArray() [2/2]

Int_t * o2::fwdalign::MatrixSq::GetColIndexArray ( )
inlineoverride

Definition at line 93 of file MatrixSq.h.

◆ GetDensity()

virtual Float_t o2::fwdalign::MatrixSq::GetDensity ( ) const
pure virtual

◆ GetMatrixArray() [1/2]

const Double_t * o2::fwdalign::MatrixSq::GetMatrixArray ( ) const
inlineoverride

Definition at line 68 of file MatrixSq.h.

◆ GetMatrixArray() [2/2]

Double_t * o2::fwdalign::MatrixSq::GetMatrixArray ( )
inlineoverride

Definition at line 73 of file MatrixSq.h.

◆ GetRowIndexArray() [1/2]

const Int_t * o2::fwdalign::MatrixSq::GetRowIndexArray ( ) const
inlineoverride

Definition at line 78 of file MatrixSq.h.

◆ GetRowIndexArray() [2/2]

Int_t * o2::fwdalign::MatrixSq::GetRowIndexArray ( )
inlineoverride

Definition at line 83 of file MatrixSq.h.

◆ GetSize()

virtual Int_t o2::fwdalign::MatrixSq::GetSize ( ) const
inlinevirtual

Reimplemented in o2::fwdalign::MatrixSparse, and o2::fwdalign::SymMatrix.

Definition at line 39 of file MatrixSq.h.

◆ GetSub()

TMatrixDBase & o2::fwdalign::MatrixSq::GetSub ( Int_t  ,
Int_t  ,
Int_t  ,
Int_t  ,
TMatrixDBase ,
Option_t *   
) const
inlineoverride

Definition at line 108 of file MatrixSq.h.

◆ IsSymmetric()

Bool_t o2::fwdalign::MatrixSq::IsSymmetric ( ) const
inlineoverride

Definition at line 64 of file MatrixSq.h.

◆ IsZero()

static Bool_t o2::fwdalign::MatrixSq::IsZero ( Double_t  x,
Double_t  thresh = 1e-64 
)
inlinestatic

Definition at line 134 of file MatrixSq.h.

◆ MultiplyByVec() [1/2]

void MatrixSq::MultiplyByVec ( const Double_t *  vecIn,
Double_t *  vecOut 
) const
virtual

fill vecOut by matrix * vecIn (vector should be of the same size as the matrix)

Reimplemented in o2::fwdalign::MatrixSparse, o2::fwdalign::SymBDMatrix, and o2::fwdalign::SymMatrix.

Definition at line 46 of file MatrixSq.cxx.

◆ MultiplyByVec() [2/2]

void o2::fwdalign::MatrixSq::MultiplyByVec ( const TVectorD &  vecIn,
TVectorD &  vecOut 
) const
inlinevirtual

Reimplemented in o2::fwdalign::MatrixSparse, o2::fwdalign::SymBDMatrix, and o2::fwdalign::SymMatrix.

Definition at line 151 of file MatrixSq.h.

◆ operator()() [1/2]

Double_t o2::fwdalign::MatrixSq::operator() ( Int_t  rown,
Int_t  coln 
) const
overridepure virtual

◆ operator()() [2/2]

Double_t & o2::fwdalign::MatrixSq::operator() ( Int_t  rown,
Int_t  coln 
)
overridepure virtual

◆ operator=()

MatrixSq & MatrixSq::operator= ( const MatrixSq src)

= operator

Definition at line 35 of file MatrixSq.cxx.

◆ Print()

void o2::fwdalign::MatrixSq::Print ( Option_t *  option = "") const
overridepure virtual

◆ PrintCOO()

void MatrixSq::PrintCOO ( ) const
virtual

print matrix in COO sparse format

Definition at line 57 of file MatrixSq.cxx.

◆ Query()

virtual Double_t o2::fwdalign::MatrixSq::Query ( Int_t  rown,
Int_t  coln 
) const
inlinevirtual

Definition at line 44 of file MatrixSq.h.

◆ QueryDiag()

virtual Double_t o2::fwdalign::MatrixSq::QueryDiag ( Int_t  rc) const
inlinevirtual

Definition at line 48 of file MatrixSq.h.

◆ Reset()

virtual void o2::fwdalign::MatrixSq::Reset ( )
pure virtual

◆ ResizeTo() [1/2]

TMatrixDBase & o2::fwdalign::MatrixSq::ResizeTo ( Int_t  ,
Int_t  ,
Int_t   
)
inlineoverride

Definition at line 118 of file MatrixSq.h.

◆ ResizeTo() [2/2]

TMatrixDBase & o2::fwdalign::MatrixSq::ResizeTo ( Int_t  ,
Int_t  ,
Int_t  ,
Int_t  ,
Int_t   
)
inlineoverride

Definition at line 123 of file MatrixSq.h.

◆ SetColIndexArray()

TMatrixDBase & o2::fwdalign::MatrixSq::SetColIndexArray ( Int_t *  )
inlineoverride

Definition at line 103 of file MatrixSq.h.

◆ SetRowIndexArray()

TMatrixDBase & o2::fwdalign::MatrixSq::SetRowIndexArray ( Int_t *  )
inlineoverride

Definition at line 98 of file MatrixSq.h.

◆ SetSub()

TMatrixDBase & o2::fwdalign::MatrixSq::SetSub ( Int_t  ,
Int_t  ,
const TMatrixDBase  
)
inlineoverride

Definition at line 113 of file MatrixSq.h.

◆ SetSymmetric()

void o2::fwdalign::MatrixSq::SetSymmetric ( Bool_t  v = kTRUE)
inline

Definition at line 65 of file MatrixSq.h.

◆ Swap()

void o2::fwdalign::MatrixSq::Swap ( int r,
int c 
) const
inlineprotected

Definition at line 137 of file MatrixSq.h.

Member Data Documentation

◆ fSymmetric

Bool_t o2::fwdalign::MatrixSq::fSymmetric
protected

is the matrix symmetric? Only lower triangle is filled

Definition at line 145 of file MatrixSq.h.


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