2 #ifndef _Q_MATRIX_C_ARRAY_HH_
3 #define _Q_MATRIX_C_ARRAY_HH_
89 virtual void CholeskySolveX(
const Diana::QVectorC &Y,Diana::QVectorC &X)
99 void Resize(UInt_t nMatrix,UInt_t nRow,UInt_t nCol);
140 Diana::QVectorC
GetVector(UInt_t idx1,UInt_t idx2);
152 const Diana::QVectorC
GetVector(UInt_t idx1,UInt_t idx2)
const;
double Im(const Diana::QComplex &z)
Function to get the imag part.
double Re(const Diana::QComplex &z)
Function to get the real part.
#define Q_BEGIN_NAMESPACE
An array of complex matrices that have been laid out in memory.
UInt_t fNMatrix
Number of identical matrices.
UInt_t fSize
Number of double values in fData.
Diana::QVectorC GetVector(UInt_t idx1, UInt_t idx2)
Return the vector of values in the (idx1,idx2) position.
Double_t * fData
Pointer to the head of the data.
void Resize(UInt_t nMatrix, UInt_t nRow, UInt_t nCol)
Resize, destroys all data in memory.
UInt_t fNRow
Number of rows in each matrix.
void CholeskyDecompose()
Cholesky decompose the matrices in place.
ClassDef(QMatrixCArray, 2)
UInt_t fNCol
Number of columns in each matrix.
UInt_t GetNRow() const
Return the number of rows in each matrix.
QMatrixCArray()
Default ctor.
void Initialize(double Re, double Im=0)
Initialize the values of the matrix.
void Invert()
Invert the matrices in place.
UInt_t GetSize() const
Return the total number of doubles in memory.
QMatrixC GetMatrix(UInt_t idx)
Return the vector of values in the (idx1,idx2) position.
UInt_t GetNMatrix() const
Return the number of matrices stored.
UInt_t GetNCol() const
Return the number of columns in each matrix.
virtual void CholeskySolveX(const Diana::QVectorC &Y, Diana::QVectorC &X) const
Solve the equation AX=Y for X.
virtual void Clear()
Clear the data in memory.
const QMatrixCArray & operator=(const QMatrixCArray &in)
Interface for complex matrices in Diana analysis.