PandaRoot
GFDafHit.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 GFDAFHIT_H
24 #define GFDAFHIT_H
25 
26 #include <cmath>
27 #include "GFAbsRecoHit.h"
28 #include <GFAbsTrackRep.h>
29 #include <GFDetPlane.h>
30 #include <GFTools.h>
31 #include <stdlib.h>
32 #include <vector>
33 
40 class GFDafHit : public GFAbsRecoHit {
41  public:
42  GFDafHit(){};
43 
44  ~GFDafHit() { fRawHits.clear(); };
45 
51  GFDafHit(std::vector<GFAbsRecoHit *> HitsInPlane);
52 
69  TMatrixT<double> getHitCoord(const GFDetPlane &pl);
70 
88  TMatrixT<double> getHitCov(const GFDetPlane &pl);
89 
95  TMatrixT<double> getHMatrix(const GFAbsTrackRep *rep);
96 
97  GFDafHit *clone();
98 
104  const GFDetPlane &getDetPlane(GFAbsTrackRep *rep);
105 
110  void setWeights(std::vector<double> weights);
111 
116  void setBlowUp(double blow_up);
117 
120  unsigned int getNumHits() { return fRawHits.size(); };
121 
124  GFAbsRecoHit *getHit(unsigned int ihit);
125 
131  const std::string &getPolicyName();
132 
133  private:
134  bool fHitCoordUpd, fHitCovUpd;
135  GFDetPlane fPl;
136  double fBlow;
137  std::vector<TMatrixT<double>> fCovInvs;
138  std::vector<GFAbsRecoHit *> fRawHits;
139  std::vector<double> fWeights;
140 
141  public:
142  ClassDef(GFDafHit, 1)
143 };
144 #endif
145 
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:80
unsigned int getNumHits()
Get the number of hits in the GFDafHit.
Definition: GFDafHit.h:120
Detector plane genfit geometry class.
Definition: GFDetPlane.h:58
TMatrixT< double > getHitCov(const GFDetPlane &pl)
Get the hit covariance.
const GFDetPlane & getDetPlane(GFAbsTrackRep *rep)
Get the detector plane.
void setWeights(std::vector< double > weights)
Set the weights.
Wrapper class for use with GFDaf.
Definition: GFDafHit.h:40
void setBlowUp(double blow_up)
Set the blow up factor for the covariance matrices.
GFDafHit * clone()
Get clone of this object.
Base Class for representing a Hit in GENFIT.
Definition: GFAbsRecoHit.h:71
const std::string & getPolicyName()
Get the name of the hit policy.
TMatrixT< double > getHMatrix(const GFAbsTrackRep *rep)
Get the H matrix.
GFDafHit()
Definition: GFDafHit.h:42
TMatrixT< double > getHitCoord(const GFDetPlane &pl)
Get the hit coordinates.
GFAbsRecoHit * getHit(unsigned int ihit)
Get at hit from the GFDafHit.
~GFDafHit()
Definition: GFDafHit.h:44