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 #ifndef GFABSRECOHIT_H
23 #define GFABSRECOHIT_H
24 
25 #include <iostream>
26 
27 #include "TMatrixT.h"
28 #include "TObject.h"
29 
30 #include "GFAbsTrackRep.h"
31 #include "GFDetPlane.h"
32 
71 class GFAbsRecoHit : public TObject {
72  protected:
74  TMatrixT<double> fHitCoord;
75 
77  TMatrixT<double> fHitCov;
78 
79  private:
80  int fNparHit;
81 
82  public:
83  virtual ~GFAbsRecoHit();
84 
91  GFAbsRecoHit(int NparHit);
92 
95  GFAbsRecoHit();
96 
122  virtual TMatrixT<double> getHMatrix(const GFAbsTrackRep *stateVector) = 0;
123 
139  virtual TMatrixT<double> residualVector(const GFAbsTrackRep *stateVector, const TMatrixT<double> &state, const GFDetPlane &d)
140  {
141  TMatrixT<double> H = getHMatrix(stateVector);
142  return (getHitCoord(d) - (H * state));
143  }
144 
148  TMatrixT<double> getRawHitCov() const { return fHitCov; }
149 
153  TMatrixT<double> getRawHitCoord() const { return fHitCoord; }
154 
162  virtual TMatrixT<double> getHitCov(const GFDetPlane &) = 0;
163 
171  virtual TMatrixT<double> getHitCoord(const GFDetPlane &) = 0;
172 
187  virtual const GFDetPlane &getDetPlane(GFAbsTrackRep *) = 0;
188 
195  virtual GFAbsRecoHit *clone() = 0;
196 
199  virtual void Print() { fHitCoord.Print(); }
200 
201  virtual const std::string &getPolicyName();
202 
203  int getNparHit() { return fNparHit; }
204 
205  public:
206  ClassDef(GFAbsRecoHit, 3)
207 };
208 
209 #endif // FITTER_ABSHIT_H
210 
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:139
TMatrixT< double > getRawHitCoord() const
Get raw hit coordinates.
Definition: GFAbsRecoHit.h:153
Detector plane genfit geometry class.
Definition: GFDetPlane.h:58
TMatrixT< double > fHitCoord
Vector of raw coordinates of hit.
Definition: GFAbsRecoHit.h:74
virtual const GFDetPlane & getDetPlane(GFAbsTrackRep *)=0
Get detector plane for a given track representation.
virtual const std::string & getPolicyName()
TMatrixT< double > getRawHitCov() const
Get raw hit covariances.
Definition: GFAbsRecoHit.h:148
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.
virtual ~GFAbsRecoHit()
int getNparHit()
Definition: GFAbsRecoHit.h:203
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:71
virtual void Print()
Print raw hit coordinates.
Definition: GFAbsRecoHit.h:199
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:77