FairRoot/PandaRoot
GFAbsRecoHit.h
Go to the documentation of this file.
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert
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 */
20 /* @{ */
21 
22 
23 
24 #ifndef GFABSRECOHIT_H
25 #define GFABSRECOHIT_H
26 
27 #include<iostream>
28 
29 #include "TMatrixT.h"
30 #include "TObject.h"
31 
32 #include "GFAbsTrackRep.h"
33 #include "GFDetPlane.h"
34 
73 class GFAbsRecoHit : public TObject{
74 protected:
76  TMatrixT<double> fHitCoord;
77 
79  TMatrixT<double> fHitCov;
80 
81  private:
82  int fNparHit;
83 
84 public:
85  virtual ~GFAbsRecoHit();
86 
93  GFAbsRecoHit(int NparHit);
94 
97  GFAbsRecoHit();
98 
124  virtual TMatrixT<double> getHMatrix(const GFAbsTrackRep* stateVector)=0;
125 
126 
142  virtual TMatrixT<double> residualVector(const GFAbsTrackRep* stateVector,
143  const TMatrixT<double>& state,
144  const GFDetPlane& d) {
145  TMatrixT<double> H = getHMatrix(stateVector);
146  return ( getHitCoord(d) - (H*state ));
147  }
148 
149 
153  TMatrixT<double> getRawHitCov() const {return fHitCov;}
154 
158  TMatrixT<double> getRawHitCoord() const {return fHitCoord;}
159 
167  virtual TMatrixT<double> getHitCov(const GFDetPlane&)=0;
168 
176  virtual TMatrixT<double> getHitCoord(const GFDetPlane&)=0;
177 
178 
193  virtual const GFDetPlane& getDetPlane(GFAbsTrackRep*) = 0;
194 
195 
196 
203  virtual GFAbsRecoHit* clone() = 0;
204 
207  virtual void Print() {fHitCoord.Print();}
208 
209  virtual const std::string& getPolicyName();
210 
211  int getNparHit(){return fNparHit;}
212 
213  public:
214  ClassDef(GFAbsRecoHit,3)
215 
216 };
217 
218 
219 #endif //FITTER_ABSHIT_H
220 
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:80
virtual TMatrixT< double > residualVector(const GFAbsTrackRep *stateVector, const TMatrixT< double > &state, const GFDetPlane &d)
Calculate residual with respect to a track representation.
Definition: GFAbsRecoHit.h:142
virtual ~GFAbsRecoHit()
TObjArray * d
Detector plane genfit geometry class.
Definition: GFDetPlane.h:59
TMatrixT< double > fHitCoord
Vector of raw coordinates of hit.
Definition: GFAbsRecoHit.h:76
virtual const GFDetPlane & getDetPlane(GFAbsTrackRep *)=0
Get detector plane for a given track representation.
virtual const std::string & getPolicyName()
virtual TMatrixT< double > getHMatrix(const GFAbsTrackRep *stateVector)=0
Get transformation matrix. Transformation between hit coordinates and track representation coordinate...
GFAbsRecoHit()
Default constructor needed for compatibility with ROOT.
TMatrixT< double > getRawHitCoord() const
Get raw hit coordinates.
Definition: GFAbsRecoHit.h:158
int getNparHit()
Definition: GFAbsRecoHit.h:211
virtual GFAbsRecoHit * clone()=0
Get clone of this object.
virtual TMatrixT< double > getHitCov(const GFDetPlane &)=0
Get hit covariances in a specific detector plane.
Base Class for representing a Hit in GENFIT.
Definition: GFAbsRecoHit.h:73
virtual void Print()
Print raw hit coordinates.
Definition: GFAbsRecoHit.h:207
TMatrixT< double > getRawHitCov() const
Get raw hit covariances.
Definition: GFAbsRecoHit.h:153
virtual TMatrixT< double > getHitCoord(const GFDetPlane &)=0
Get hit coordinates in a specific detector plane.
TMatrixT< double > fHitCov
Covariance of raw hit coordinates.
Definition: GFAbsRecoHit.h:79