FairRoot/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 
43  GFDafHit(){};
44 
45  ~GFDafHit(){ fRawHits.clear(); };
46 
52  GFDafHit(std::vector<GFAbsRecoHit*> HitsInPlane);
53 
70  TMatrixT<double> getHitCoord(const GFDetPlane& pl);
71 
89  TMatrixT<double> getHitCov(const GFDetPlane& pl);
90 
96  TMatrixT<double> getHMatrix(const GFAbsTrackRep* rep);
97 
98  GFDafHit* clone();
99 
105  const GFDetPlane& getDetPlane(GFAbsTrackRep* rep);
106 
111  void setWeights(std::vector<double> weights);
112 
117  void setBlowUp(double blow_up);
118 
121  unsigned int getNumHits() { return fRawHits.size(); };
122 
125  GFAbsRecoHit* getHit(unsigned int ihit);
126 
132  const std::string& getPolicyName();
133 
134  private:
137  double fBlow;
138  std::vector<TMatrixT<double> > fCovInvs;
139  std::vector<GFAbsRecoHit*> fRawHits;
140  std::vector<double> fWeights;
141 
142  public:
143  ClassDef(GFDafHit,1)
144 
145 };
146 #endif
147 
TMatrixT< double > getHitCov(const GFDetPlane &pl)
Get the hit covariance.
Definition: GFDafHit.cxx:88
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:80
TMatrixT< double > getHMatrix(const GFAbsTrackRep *rep)
Get the H matrix.
Definition: GFDafHit.cxx:129
bool fHitCovUpd
Definition: GFDafHit.h:135
unsigned int getNumHits()
Get the number of hits in the GFDafHit.
Definition: GFDafHit.h:121
GFDafHit * clone()
Get clone of this object.
Definition: GFDafHit.cxx:135
Detector plane genfit geometry class.
Definition: GFDetPlane.h:59
void setWeights(std::vector< double > weights)
Set the weights.
Definition: GFDafHit.cxx:46
GFAbsRecoHit * getHit(unsigned int ihit)
Get at hit from the GFDafHit.
Definition: GFDafHit.cxx:32
GFDetPlane fPl
Definition: GFDafHit.h:136
std::vector< double > fWeights
Definition: GFDafHit.h:140
Wrapper class for use with GFDaf.
Definition: GFDafHit.h:40
void setBlowUp(double blow_up)
Set the blow up factor for the covariance matrices.
Definition: GFDafHit.cxx:38
const std::string & getPolicyName()
Get the name of the hit policy.
Definition: GFDafHit.cxx:144
double fBlow
Definition: GFDafHit.h:137
bool fHitCoordUpd
Definition: GFDafHit.h:135
Base Class for representing a Hit in GENFIT.
Definition: GFAbsRecoHit.h:73
const GFDetPlane & getDetPlane(GFAbsTrackRep *rep)
Get the detector plane.
Definition: GFDafHit.cxx:54
std::vector< GFAbsRecoHit * > fRawHits
Definition: GFDafHit.h:139
GFDafHit()
Definition: GFDafHit.h:43
std::vector< TMatrixT< double > > fCovInvs
Definition: GFDafHit.h:138
TMatrixT< double > getHitCoord(const GFDetPlane &pl)
Get the hit coordinates.
Definition: GFDafHit.cxx:60
~GFDafHit()
Definition: GFDafHit.h:45