LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
GFRecoHitIfc.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 */
23 #ifndef GFRECOHITIFC_H
24 #define GFRECOHITIFC_H
25 
26 #include "TMatrixT.h"
27 
30 
57 namespace genf {
58 
59  template <class HitPolicy>
60  class GFRecoHitIfc : public GFAbsRecoHit {
61  protected:
62  HitPolicy fPolicy;
63 
64  public:
67  GFRecoHitIfc(int dim) : GFAbsRecoHit(dim) { ; }
68  virtual ~GFRecoHitIfc() { ; }
69 
79  virtual const GFDetPlane& getDetPlane(GFAbsTrackRep* rep)
80  {
81  return fPolicy.detPlane(this, rep);
82  }
83 
88  virtual TMatrixT<Double_t> getHitCoord(const GFDetPlane& plane, const GFDetPlane& planePrev)
89  {
90  return fPolicy.hitCoord(this, plane, planePrev);
91  }
92  virtual TMatrixT<Double_t> getHitCoord(const GFDetPlane& plane)
93  {
94  return fPolicy.hitCoord(this, plane);
95  }
96 
101  virtual TMatrixT<Double_t> getHitCov(const GFDetPlane& plane)
102  {
103  return fPolicy.hitCov(this, plane);
104  }
105  virtual TMatrixT<Double_t> getHitCov(const GFDetPlane& plane,
106  const GFDetPlane& planePrev,
107  const TMatrixT<Double_t>& state,
108  const Double_t& mass)
109  {
110  return fPolicy.hitCov(this, plane, planePrev, state, mass);
111  }
112 
113  const std::string& getPolicyName() { return fPolicy.getName(); }
114 
115  //public:
116  // ClassDef(GFRecoHitIfc,1);
117  };
118 
119 }
120 
121 #endif
122 
const std::string & getPolicyName()
Definition: GFRecoHitIfc.h:113
virtual const GFDetPlane & getDetPlane(GFAbsTrackRep *rep)
Returns the detector plane object for this hit and a given track representation.
Definition: GFRecoHitIfc.h:79
GFRecoHitIfc(int dim)
Constructor specifying dimension of hit coordinate vector.
Definition: GFRecoHitIfc.h:67
Generic Interface to magnetic fields in GENFIT.
Definition: GFAbsBField.h:34
virtual TMatrixT< Double_t > getHitCov(const GFDetPlane &plane, const GFDetPlane &planePrev, const TMatrixT< Double_t > &state, const Double_t &mass)
Definition: GFRecoHitIfc.h:105
virtual TMatrixT< Double_t > getHitCoord(const GFDetPlane &plane, const GFDetPlane &planePrev)
Get hit coordinates in a specific detector plane.
Definition: GFRecoHitIfc.h:88
virtual ~GFRecoHitIfc()
Definition: GFRecoHitIfc.h:68
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:81
virtual TMatrixT< Double_t > getHitCov(const GFDetPlane &plane)
Get hit covariances in a specific detector plane.
Definition: GFRecoHitIfc.h:101
virtual TMatrixT< Double_t > getHitCoord(const GFDetPlane &plane)
Definition: GFRecoHitIfc.h:92