Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:18:27

0001 /* Copyright 2008-2010, Technische Universitaet Muenchen,
0002    Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
0003 
0004    This file is part of GENFIT.
0005 
0006    GENFIT is free software: you can redistribute it and/or modify
0007    it under the terms of the GNU Lesser General Public License as published
0008    by the Free Software Foundation, either version 3 of the License, or
0009    (at your option) any later version.
0010 
0011    GENFIT is distributed in the hope that it will be useful,
0012    but WITHOUT ANY WARRANTY; without even the implied warranty of
0013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014    GNU Lesser General Public License for more details.
0015 
0016    You should have received a copy of the GNU Lesser General Public License
0017    along with GENFIT.  If not, see <http://www.gnu.org/licenses/>.
0018 */
0019 /** @addtogroup genfit
0020  * @{
0021  */
0022 
0023 #ifndef genfit_HMatrixUnit_h
0024 #define genfit_HMatrixUnit_h
0025 
0026 #include "AbsHMatrix.h"
0027 
0028 
0029 namespace genfit {
0030 
0031 /**
0032  * @brief AbsHMatrix implementation for 5-dimensional MeasurementOnPlane and RKTrackRep parameterization.
0033  *
0034  * H = (1, 0, 0, 0, 0)
0035  *     (0, 1, 0, 0, 0)
0036  *     (0, 0, 1, 0, 0)
0037  *     (0, 0, 0, 1, 0)
0038  *     (0, 0, 0, 0, 1)
0039  */
0040 class HMatrixUnit : public AbsHMatrix {
0041 
0042  public:
0043 
0044   HMatrixUnit() {;}
0045 
0046   const TMatrixD& getMatrix() const;
0047 
0048   TVectorD Hv(const TVectorD& v) const {return v;}
0049 
0050   TMatrixD MHt(const TMatrixDSym& M) const {return TMatrixD(M);}
0051   TMatrixD MHt(const TMatrixD& M) const {return M;}
0052 
0053   void HMHt(TMatrixDSym&) const {return;}
0054 
0055   virtual HMatrixUnit* clone() const {return new HMatrixUnit(*this);}
0056 
0057   virtual bool isEqual(const AbsHMatrix& other) const {return (dynamic_cast<const HMatrixUnit*>(&other) != nullptr);}
0058 
0059   virtual void Print(const Option_t* = "") const;
0060 
0061   ClassDef(HMatrixUnit,1)
0062 
0063 };
0064 
0065 } /* End of namespace genfit */
0066 /** @} */
0067 
0068 #endif // genfit_HMatrixUnit_h