SND@LHC Software
Loading...
Searching...
No Matches
genfit::HMatrixV Class Reference

AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization. More...

#include <HMatrixV.h>

Inheritance diagram for genfit::HMatrixV:
Collaboration diagram for genfit::HMatrixV:

Public Member Functions

 HMatrixV ()
 
const TMatrixD & getMatrix () const
 Get the actual matrix representation.
 
TVectorD Hv (const TVectorD &v) const
 H*v.
 
TMatrixD MHt (const TMatrixDSym &M) const
 M*H^t.
 
TMatrixD MHt (const TMatrixD &M) const
 
void HMHt (TMatrixDSym &M) const
 similarity: H*M*H^t
 
virtual AbsHMatrixclone () const
 
virtual bool isEqual (const AbsHMatrix &other) const
 
- Public Member Functions inherited from genfit::AbsHMatrix
 AbsHMatrix ()
 
virtual ~AbsHMatrix ()
 
bool operator== (const AbsHMatrix &other) const
 
bool operator!= (const AbsHMatrix &other) const
 
virtual void Print (const Option_t *="") const
 

Additional Inherited Members

- Protected Member Functions inherited from genfit::AbsHMatrix
 AbsHMatrix (const AbsHMatrix &o)
 
AbsHMatrixoperator= (const AbsHMatrix &)
 

Detailed Description

AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization.

This projects out v. H = (0, 0, 0, 0, 1)

Definition at line 37 of file HMatrixV.h.

Constructor & Destructor Documentation

◆ HMatrixV()

genfit::HMatrixV::HMatrixV ( )
inline

Definition at line 41 of file HMatrixV.h.

41{;}

Member Function Documentation

◆ clone()

virtual AbsHMatrix * genfit::HMatrixV::clone ( ) const
inlinevirtual

Implements genfit::AbsHMatrix.

Definition at line 52 of file HMatrixV.h.

52{return new HMatrixV(*this);}

◆ getMatrix()

const TMatrixD & genfit::HMatrixV::getMatrix ( ) const
virtual

Get the actual matrix representation.

Implements genfit::AbsHMatrix.

Definition at line 30 of file HMatrixV.cc.

30 {
31 static const double HMatrixContent[5] = {0, 0, 0, 0, 1};
32
33 static const TMatrixD HMatrix(1,5, HMatrixContent);
34
35 return HMatrix;
36}

◆ HMHt()

void genfit::HMatrixV::HMHt ( TMatrixDSym &  M) const
virtual

similarity: H*M*H^t

Reimplemented from genfit::AbsHMatrix.

Definition at line 78 of file HMatrixV.cc.

78 {
79 assert (M.GetNrows() == 5);
80
81 M(0,0) = M(4,4);
82
83 M.ResizeTo(1,1);
84}

◆ Hv()

TVectorD genfit::HMatrixV::Hv ( const TVectorD &  v) const
virtual

H*v.

Reimplemented from genfit::AbsHMatrix.

Definition at line 39 of file HMatrixV.cc.

39 {
40 assert (v.GetNrows() == 5);
41
42 double* retValArray =(double *)alloca(sizeof(double) * 1);
43
44 retValArray[0] = v(4); // u
45
46 return TVectorD(1, retValArray);
47}

◆ isEqual()

virtual bool genfit::HMatrixV::isEqual ( const AbsHMatrix other) const
inlinevirtual

Implements genfit::AbsHMatrix.

Definition at line 54 of file HMatrixV.h.

54{return (dynamic_cast<const HMatrixV*>(&other) != NULL);}

◆ MHt() [1/2]

TMatrixD genfit::HMatrixV::MHt ( const TMatrixD &  M) const
virtual

Reimplemented from genfit::AbsHMatrix.

Definition at line 64 of file HMatrixV.cc.

64 {
65 assert (M.GetNcols() == 5);
66
67 double* retValArray =(double *)alloca(sizeof(double) * M.GetNrows());
68 const double* MatArray = M.GetMatrixArray();
69
70 for (int i = 0; i < M.GetNrows(); ++i) {
71 retValArray[i] = MatArray[i*5 + 4];
72 }
73
74 return TMatrixD(M.GetNrows(),1, retValArray);
75}
int i
Definition ShipAna.py:86

◆ MHt() [2/2]

TMatrixD genfit::HMatrixV::MHt ( const TMatrixDSym &  M) const
virtual

M*H^t.

Reimplemented from genfit::AbsHMatrix.

Definition at line 50 of file HMatrixV.cc.

50 {
51 assert (M.GetNcols() == 5);
52
53 double* retValArray =(double *)alloca(sizeof(double) * 5);
54 const double* MatArray = M.GetMatrixArray();
55
56 for (unsigned int i=0; i<5; ++i) {
57 retValArray[i] = MatArray[i*5 + 4];
58 }
59
60 return TMatrixD(5,1, retValArray);
61}

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