PandaRoot
GFRecoHitIfc.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 /* Copyright 2008-2010, Technische Universitaet Muenchen,
14  Authors: Christian Hoeppner & Sebastian Neubert
15 
16  This file is part of GENFIT.
17 
18  GENFIT is free software: you can redistribute it and/or modify
19  it under the terms of the GNU Lesser General Public License as published
20  by the Free Software Foundation, either version 3 of the License, or
21  (at your option) any later version.
22 
23  GENFIT is distributed in the hope that it will be useful,
24  but WITHOUT ANY WARRANTY; without even the implied warranty of
25  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26  GNU Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public License
29  along with GENFIT. If not, see <http://www.gnu.org/licenses/>.
30 */
35 #ifndef GFRECOHITIFC_H
36 #define GFRECOHITIFC_H
37 
38 #include "TMatrixT.h"
39 
40 #include "GFAbsRecoHit.h"
41 #include "GFDetPlane.h"
42 
69 template <class HitPolicy>
70 class GFRecoHitIfc : public GFAbsRecoHit {
71  protected:
72  HitPolicy fPolicy;
73 
74  public:
77  GFRecoHitIfc(int dim) : GFAbsRecoHit(dim) { ; }
78  virtual ~GFRecoHitIfc() { ; }
79 
89  virtual const GFDetPlane &getDetPlane(GFAbsTrackRep *rep) { return fPolicy.detPlane(this, rep); }
90 
95  virtual TMatrixT<double> getHitCoord(const GFDetPlane &plane) { return fPolicy.hitCoord(this, plane); }
96 
101  virtual TMatrixT<double> getHitCov(const GFDetPlane &plane) { return fPolicy.hitCov(this, plane); }
102 
103  const std::string &getPolicyName() { return fPolicy.getName(); }
104 
105  public:
107 };
108 
109 #endif
110 
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:92
virtual TMatrixT< double > getHitCov(const GFDetPlane &plane)
Get hit covariances in a specific detector plane.
Definition: GFRecoHitIfc.h:101
RecoHit interface template class. Provides comfortable interface to create RecoHits.
Definition: GFRecoHitIfc.h:70
virtual ~GFRecoHitIfc()
Definition: GFRecoHitIfc.h:78
Detector plane genfit geometry class.
Definition: GFDetPlane.h:70
const std::string & getPolicyName()
Definition: GFRecoHitIfc.h:103
virtual const GFDetPlane & getDetPlane(GFAbsTrackRep *rep)
Returns the detector plane object for this hit and a given track representation.
Definition: GFRecoHitIfc.h:89
HitPolicy fPolicy
Definition: GFRecoHitIfc.h:72
Base Class for representing a Hit in GENFIT.
Definition: GFAbsRecoHit.h:83
virtual TMatrixT< double > getHitCoord(const GFDetPlane &plane)
Get hit coordinates in a specific detector plane.
Definition: GFRecoHitIfc.h:95
ClassDef(GFRecoHitIfc, 1)
GFRecoHitIfc(int dim)
Constructor specifying dimension of hit coordinate vector.
Definition: GFRecoHitIfc.h:77