SND@LHC Software
Loading...
Searching...
No Matches
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
27
28
29namespace genfit {
30
31
36
37 public:
38
40 KalmanFittedStateOnPlane(const TVectorD& state, const TMatrixDSym& cov, const SharedPlanePtr& plane, const AbsTrackRep* rep, double chiSquareIncrement, double ndf);
41 KalmanFittedStateOnPlane(const TVectorD& state, const TMatrixDSym& cov, const SharedPlanePtr& plane, const AbsTrackRep* rep, const TVectorD& auxInfo, double chiSquareIncrement, double ndf);
42 KalmanFittedStateOnPlane(const MeasuredStateOnPlane& state, double chiSquareIncrement, double ndf);
43
45 void swap(KalmanFittedStateOnPlane& other); // nothrow
46
48
50 double getNdf() const {return ndf_;}
51
52 void setChiSquareIncrement(double chiSquareIncrement) {chiSquareIncrement_ = chiSquareIncrement;}
53 void setNdf(double ndf) {ndf_ = ndf;}
54
55
56 protected:
57
59
61 double ndf_;
62
63
64 public:
65
66 ClassDef(KalmanFittedStateOnPlane,1)
67
68};
69
70
72 MeasuredStateOnPlane(), chiSquareIncrement_(0), ndf_(0)
73{
74 ;
75}
76
77inline KalmanFittedStateOnPlane::KalmanFittedStateOnPlane(const TVectorD& state, const TMatrixDSym& cov, const SharedPlanePtr& plane, const AbsTrackRep* rep, double chiSquareIncrement, double ndf) :
78 MeasuredStateOnPlane(state, cov, plane, rep), chiSquareIncrement_(chiSquareIncrement), ndf_(ndf)
79{
80 ;
81}
82
83inline KalmanFittedStateOnPlane::KalmanFittedStateOnPlane(const TVectorD& state, const TMatrixDSym& cov, const SharedPlanePtr& plane, const AbsTrackRep* rep, const TVectorD& auxInfo, double chiSquareIncrement, double ndf) :
84 MeasuredStateOnPlane(state, cov, plane, rep, auxInfo), chiSquareIncrement_(chiSquareIncrement), ndf_(ndf)
85{
86 ;
87}
88
89inline KalmanFittedStateOnPlane::KalmanFittedStateOnPlane(const MeasuredStateOnPlane& state, double chiSquareIncrement, double ndf) :
90 MeasuredStateOnPlane(state), chiSquareIncrement_(chiSquareIncrement), ndf_(ndf)
91{
92 ;
93}
94
99
102 std::swap(this->chiSquareIncrement_, other.chiSquareIncrement_);
103 std::swap(this->ndf_, other.ndf_);
104}
105
106} /* End of namespace genfit */
109#endif // genfit_KalmanFittedStateOnPlane_h
Abstract base class for a track representation.
Definition AbsTrackRep.h:66
MeasuredStateOnPlane with additional info produced by a Kalman filter or DAF.
double ndf_
Degrees of freedom. Needs to be a double because of DAF.
void swap(KalmanFittedStateOnPlane &other)
KalmanFittedStateOnPlane & operator=(KalmanFittedStateOnPlane other)
void setChiSquareIncrement(double chiSquareIncrement)
StateOnPlane with additional covariance matrix.
void swap(MeasuredStateOnPlane &other)
Matrix inversion tools.
Definition AbsBField.h:29
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.