Belle II Software  release-08-01-10
HMatrixQP.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <TMatrixDSymfwd.h> // for TMatrixDSym
12 #include <TMatrixDfwd.h> // for TMatrixD
13 #include <TVectorDfwd.h> // for TVectorD
14 #include <genfit/AbsHMatrix.h> // for AbsHMatrix
15 
16 namespace Belle2 {
27  class HMatrixQP : public genfit::AbsHMatrix {
28 
29  public:
30 
32  HMatrixQP() {;}
33 
35  const TMatrixD& getMatrix() const override;
36 
38  TVectorD Hv(const TVectorD& v) const override;
39 
41  TMatrixD MHt(const TMatrixDSym& M) const override;
42 
44  TMatrixD MHt(const TMatrixD& M) const override;
45 
47  void HMHt(TMatrixDSym& M) const override;
48 
50  virtual HMatrixQP* clone() const override {return new HMatrixQP(*this);}
51 
53  virtual bool isEqual(const genfit::AbsHMatrix& other) const override {return (dynamic_cast<const HMatrixQP*>(&other) != nullptr);}
54 
56  virtual void Print(const Option_t* = "") const override;
57  };
58 
60 }
AbsHMatrix implementation for one-dimensional MeasurementOnPlane and RKTrackRep parameterization.
Definition: HMatrixQP.h:27
virtual bool isEqual(const genfit::AbsHMatrix &other) const override
Check for equality.
Definition: HMatrixQP.h:53
virtual HMatrixQP * clone() const override
Clone the matrix.
Definition: HMatrixQP.h:50
HMatrixQP()
Constructor.
Definition: HMatrixQP.h:32
HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane.
Definition: AbsHMatrix.h:37
TMatrixD MHt(const TMatrixDSym &M) const override
Calculate M * H^T = first column of M.
Definition: HMatrixQP.cc:45
void HMHt(TMatrixDSym &M) const override
Calculate H * M * H^T = M_00.
Definition: HMatrixQP.cc:73
virtual void Print(const Option_t *="") const override
Print a symbol for the matrix for debugging.
Definition: HMatrixQP.cc:81
const TMatrixD & getMatrix() const override
Return the underlying matrix.
Definition: HMatrixQP.cc:23
TVectorD Hv(const TVectorD &v) const override
Calculate H * v = v_0.
Definition: HMatrixQP.cc:33
Abstract base class for different kinds of events.