33 static const double HMatrixContent[5] = {0, 0, 0, 0, 1};
35 static const TMatrixD HMatrix(1,5, HMatrixContent);
42 assert (v.GetNrows() == 5);
44 double* retValArray =(
double *)alloca(
sizeof(
double) * 1);
46 retValArray[0] = v(4);
48 return TVectorD(1, retValArray);
53 assert (M.GetNcols() == 5);
55 double* retValArray =(
double *)alloca(
sizeof(
double) * 5);
56 const double* MatArray = M.GetMatrixArray();
58 for (
unsigned int i=0; i<5; ++i) {
59 retValArray[i] = MatArray[i*5 + 4];
62 return TMatrixD(5,1, retValArray);
67 assert (M.GetNcols() == 5);
69 double* retValArray =(
double *)alloca(
sizeof(
double) * M.GetNrows());
70 const double* MatArray = M.GetMatrixArray();
72 for (
int i = 0; i < M.GetNrows(); ++i) {
73 retValArray[i] = MatArray[i*5 + 4];
76 return TMatrixD(M.GetNrows(),1, retValArray);
81 assert (M.GetNrows() == 5);
const TMatrixD & getMatrix() const
Get the actual matrix representation.
TMatrixD MHt(const TMatrixDSym &M) const
M*H^t.
virtual void Print(const Option_t *="") const
TVectorD Hv(const TVectorD &v) const
H*v.
void HMHt(TMatrixDSym &M) const
similarity: H*M*H^t
Defines for I/O streams used for error and debug printing.