SND@LHC Software
Loading...
Searching...
No Matches
ReferenceStateOnPlane.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*/
19
24#ifndef genfit_ReferenceStateOnPlane_h
25#define genfit_ReferenceStateOnPlane_h
26
27#include "StateOnPlane.h"
28
29
30namespace genfit {
31
44
45 public:
46
48 ReferenceStateOnPlane(const TVectorD& state,
49 const SharedPlanePtr& plane,
50 const AbsTrackRep* rep);
51 ReferenceStateOnPlane(const TVectorD& state,
52 const SharedPlanePtr& plane,
53 const AbsTrackRep* rep,
54 const TVectorD& auxInfo);
56
58 void swap(ReferenceStateOnPlane& other); // nothrow
59
61
64 void setForwardTransportMatrix(const TMatrixD& mat) {forwardTransportMatrix_.ResizeTo(mat); forwardTransportMatrix_=mat;}
66 void setTransportMatrix(const TMatrixD& mat, int direction) {if (direction >= 0) setForwardTransportMatrix(mat); else setBackwardTransportMatrix(mat);}
67 void setForwardNoiseMatrix(const TMatrixDSym& mat) {forwardNoiseMatrix_.ResizeTo(mat); forwardNoiseMatrix_=mat;}
68 void setBackwardNoiseMatrix(const TMatrixDSym& mat) {backwardNoiseMatrix_.ResizeTo(mat); backwardNoiseMatrix_=mat;}
69 void setNoiseMatrix(const TMatrixDSym& mat, int direction) {if (direction >= 0) setForwardNoiseMatrix(mat); else setBackwardNoiseMatrix(mat);}
70 void setForwardDeltaState(const TVectorD& mat) {forwardDeltaState_.ResizeTo(mat); forwardDeltaState_=mat;}
71 void setBackwardDeltaState(const TVectorD& mat) {backwardDeltaState_.ResizeTo(mat); backwardDeltaState_=mat;}
72 void setDeltaState(const TVectorD& mat, int direction) {if (direction >= 0) setForwardDeltaState(mat); else setBackwardDeltaState(mat);}
73
74
77 const TMatrixD& getForwardTransportMatrix() const {return forwardTransportMatrix_;}
78 const TMatrixD& getBackwardTransportMatrix() const {return backwardTransportMatrix_;}
79 const TMatrixD& getTransportMatrix(int direction) const {if (direction >= 0) return forwardTransportMatrix_; return backwardTransportMatrix_;}
80 const TMatrixDSym& getForwardNoiseMatrix() const {return forwardNoiseMatrix_;}
81 const TMatrixDSym& getBackwardNoiseMatrix() const {return backwardNoiseMatrix_;}
82 const TMatrixDSym& getNoiseMatrix(int direction) const {if (direction >= 0) return forwardNoiseMatrix_; return backwardNoiseMatrix_;}
83 const TVectorD& getForwardDeltaState() const {return forwardDeltaState_;}
84 const TVectorD& getBackwardDeltaState() const {return backwardDeltaState_;}
85 const TVectorD& getDeltaState(int direction) const {if (direction >= 0) return forwardDeltaState_; return backwardDeltaState_;}
86
87 void resetForward();
88 void resetBackward();
89
90 virtual void Print(Option_t* option = "") const;
91
92 protected:
93
98 TMatrixDSym forwardNoiseMatrix_;
104 public:
105
106 ClassDef(ReferenceStateOnPlane,1)
107
108};
109
110} /* End of namespace genfit */
113#endif // genfit_ReferenceStateOnPlane_h
Abstract base class for a track representation.
Definition AbsTrackRep.h:66
StateOnPlane with linearized transport to that ReferenceStateOnPlane from previous and next Reference...
const TVectorD & getForwardDeltaState() const
void setDeltaState(const TVectorD &mat, int direction)
void setForwardTransportMatrix(const TMatrixD &mat)
void setForwardDeltaState(const TVectorD &mat)
const TMatrixD & getForwardTransportMatrix() const
void setNoiseMatrix(const TMatrixDSym &mat, int direction)
virtual void Print(Option_t *option="") const
const TVectorD & getDeltaState(int direction) const
const TMatrixD & getBackwardTransportMatrix() const
void setTransportMatrix(const TMatrixD &mat, int direction)
void setBackwardTransportMatrix(const TMatrixD &mat)
const TMatrixDSym & getForwardNoiseMatrix() const
const TVectorD & getBackwardDeltaState() const
void setBackwardDeltaState(const TVectorD &mat)
void setForwardNoiseMatrix(const TMatrixDSym &mat)
void swap(ReferenceStateOnPlane &other)
const TMatrixD & getTransportMatrix(int direction) const
const TMatrixDSym & getBackwardNoiseMatrix() const
StateOnPlane & operator=(ReferenceStateOnPlane other)
const TMatrixDSym & getNoiseMatrix(int direction) const
void setBackwardNoiseMatrix(const TMatrixDSym &mat)
A state with arbitrary dimension defined in a DetPlane.
Matrix inversion tools.
Definition AbsBField.h:29
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.