FairRoot/PandaRoot
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 
30 namespace 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);
55  ReferenceStateOnPlane(const StateOnPlane& state);
56 
58  void swap(ReferenceStateOnPlane& other); // nothrow
59 
61 
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 
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_;
99  TMatrixDSym backwardNoiseMatrix_;
104  public:
105 
106  ClassDef(ReferenceStateOnPlane,1)
107 
108 };
109 
110 } /* End of namespace genfit */
113 #endif // genfit_ReferenceStateOnPlane_h
boost::shared_ptr< genfit::DetPlane > SharedPlanePtr
Shared Pointer to a DetPlane.
void setBackwardTransportMatrix(const TMatrixD &mat)
void setBackwardDeltaState(const TVectorD &mat)
Abstract base class for a track representation.
Definition: AbsTrackRep.h:66
const TVectorD & getForwardDeltaState() const
void setForwardNoiseMatrix(const TMatrixDSym &mat)
void setTransportMatrix(const TMatrixD &mat, int direction)
const TMatrixDSym & getNoiseMatrix(int direction) const
const TVectorD & getDeltaState(int direction) const
const TMatrixD & getForwardTransportMatrix() const
A state with arbitrary dimension defined in a DetPlane.
Definition: StateOnPlane.h:45
StateOnPlane & operator=(ReferenceStateOnPlane other)
void setNoiseMatrix(const TMatrixDSym &mat, int direction)
void setForwardTransportMatrix(const TMatrixD &mat)
StateOnPlane with linearized transport to that ReferenceStateOnPlane from previous and next Reference...
void setBackwardNoiseMatrix(const TMatrixDSym &mat)
const TMatrixD & getTransportMatrix(int direction) const
void swap(ReferenceStateOnPlane &other)
void setForwardDeltaState(const TVectorD &mat)
const TMatrixDSym & getForwardNoiseMatrix() const
const TVectorD & getBackwardDeltaState() const
const TMatrixDSym & getBackwardNoiseMatrix() const
void setDeltaState(const TVectorD &mat, int direction)
virtual void Print(Option_t *option="") const
const TMatrixD & getBackwardTransportMatrix() const
TMatrixT< double > TMatrixD
Definition: PndLmdDim.h:52