PandaRoot
HMatrixUnit.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /* Copyright 2008-2010, Technische Universitaet Muenchen,
14  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
15 
16  This file is part of GENFIT.
17 
18  GENFIT is free software: you can redistribute it and/or modify
19  it under the terms of the GNU Lesser General Public License as published
20  by the Free Software Foundation, either version 3 of the License, or
21  (at your option) any later version.
22 
23  GENFIT is distributed in the hope that it will be useful,
24  but WITHOUT ANY WARRANTY; without even the implied warranty of
25  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  GNU Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public License
29  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
30 */
35 #ifndef genfit_HMatrixUnit_h
36 #define genfit_HMatrixUnit_h
37 
38 #include "AbsHMatrix.h"
39 
40 namespace genfit {
41 
51 class HMatrixUnit : public AbsHMatrix {
52 
53  public:
54  HMatrixUnit() { ; }
55 
56  const TMatrixD &getMatrix() const;
57 
58  TVectorD Hv(const TVectorD &v) const { return v; }
59 
60  TMatrixD MHt(const TMatrixDSym &M) const { return TMatrixD(M); }
61  TMatrixD MHt(const TMatrixD &M) const { return M; }
62 
63  void HMHt(TMatrixDSym &) const { return; }
64 
65  virtual HMatrixUnit *clone() const { return new HMatrixUnit(*this); }
66 
67  virtual bool isEqual(const AbsHMatrix &other) const { return (dynamic_cast<const HMatrixUnit *>(&other) != nullptr); }
68 
69  virtual void Print(const Option_t * = "") const;
70 
71  ClassDef(HMatrixUnit, 1)
72 };
73 
74 } /* End of namespace genfit */
77 #endif // genfit_HMatrixUnit_h
virtual void Print(const Option_t *="") const
HMatrix for projecting from AbsTrackRep parameters to measured parameters in a DetPlane.
Definition: AbsHMatrix.h:48
TVectorD Hv(const TVectorD &v) const
H*v.
Definition: HMatrixUnit.h:58
__m128 v
Definition: P4_F32vec4.h:15
TMatrixD MHt(const TMatrixD &M) const
Definition: HMatrixUnit.h:61
AbsHMatrix implementation for 5-dimensional MeasurementOnPlane and RKTrackRep parameterization.
Definition: HMatrixUnit.h:51
virtual bool isEqual(const AbsHMatrix &other) const
Definition: HMatrixUnit.h:67
virtual HMatrixUnit * clone() const
Definition: HMatrixUnit.h:65
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:64
const TMatrixD & getMatrix() const
Get the actual matrix representation.
Matrix inversion tools.
Definition: AbsBField.h:40
TMatrixD MHt(const TMatrixDSym &M) const
M*H^t.
Definition: HMatrixUnit.h:60
void HMHt(TMatrixDSym &) const
similarity: H*M*H^t
Definition: HMatrixUnit.h:63