PandaRoot
KalmanFittedStateOnPlane.h
Go to the documentation of this file.
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
3 
4  This file is part of GENFIT.
5 
6  GENFIT is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Lesser General Public License as published
8  by the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  GENFIT is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Lesser General Public License for more details.
15 
16  You should have received a copy of the GNU Lesser General Public License
17  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
18 */
23 #ifndef genfit_KalmanFittedStateOnPlane_h
24 #define genfit_KalmanFittedStateOnPlane_h
25 
26 #include "MeasuredStateOnPlane.h"
27 
28 namespace genfit {
29 
34 
35  public:
37  KalmanFittedStateOnPlane(const TVectorD &state, const TMatrixDSym &cov, const SharedPlanePtr &plane, const AbsTrackRep *rep, double chiSquareIncrement, double ndf);
38  KalmanFittedStateOnPlane(const TVectorD &state, const TMatrixDSym &cov, const SharedPlanePtr &plane, const AbsTrackRep *rep, const TVectorD &auxInfo, double chiSquareIncrement,
39  double ndf);
40  KalmanFittedStateOnPlane(const MeasuredStateOnPlane &state, double chiSquareIncrement, double ndf);
41 
43  void swap(KalmanFittedStateOnPlane &other); // nothrow
44 
46 
47  double getChiSquareIncrement() const { return chiSquareIncrement_; }
48  double getNdf() const { return ndf_; }
49 
50  void setChiSquareIncrement(double chiSquareIncrement) { chiSquareIncrement_ = chiSquareIncrement; }
51  void setNdf(double ndf) { ndf_ = ndf; }
52 
53  protected:
55 
57  double ndf_;
58 
59  public:
60  ClassDef(KalmanFittedStateOnPlane, 1)
61 };
62 
64 {
65  ;
66 }
67 
68 inline KalmanFittedStateOnPlane::KalmanFittedStateOnPlane(const TVectorD &state, const TMatrixDSym &cov, const SharedPlanePtr &plane, const AbsTrackRep *rep,
69  double chiSquareIncrement, double ndf)
70  : MeasuredStateOnPlane(state, cov, plane, rep), chiSquareIncrement_(chiSquareIncrement), ndf_(ndf)
71 {
72  ;
73 }
74 
75 inline KalmanFittedStateOnPlane::KalmanFittedStateOnPlane(const TVectorD &state, const TMatrixDSym &cov, const SharedPlanePtr &plane, const AbsTrackRep *rep,
76  const TVectorD &auxInfo, double chiSquareIncrement, double ndf)
77  : MeasuredStateOnPlane(state, cov, plane, rep, auxInfo), chiSquareIncrement_(chiSquareIncrement), ndf_(ndf)
78 {
79  ;
80 }
81 
82 inline KalmanFittedStateOnPlane::KalmanFittedStateOnPlane(const MeasuredStateOnPlane &state, double chiSquareIncrement, double ndf)
83  : MeasuredStateOnPlane(state), chiSquareIncrement_(chiSquareIncrement), ndf_(ndf)
84 {
85  ;
86 }
87 
89 {
90  swap(other);
91  return *this;
92 }
93 
95 {
97  std::swap(this->chiSquareIncrement_, other.chiSquareIncrement_);
98  std::swap(this->ndf_, other.ndf_);
99 }
100 
101 } /* End of namespace genfit */
104 #endif // genfit_KalmanFittedStateOnPlane_h
void swap(MeasuredStateOnPlane &other)
Abstract base class for a track representation.
Definition: AbsTrackRep.h:62
StateOnPlane with additional covariance matrix.
void setChiSquareIncrement(double chiSquareIncrement)
KalmanFittedStateOnPlane & operator=(KalmanFittedStateOnPlane other)
double ndf_
Degrees of freedom. Needs to be a double because of DAF.
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
void swap(KalmanFittedStateOnPlane &other)
MeasuredStateOnPlane with additional info produced by a Kalman filter or DAF.
Matrix inversion tools.
Definition: AbsBField.h:28