PandaRoot
GFDafHit.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 GFDAFHIT_H
36 #define GFDAFHIT_H
37 
38 #include <cmath>
39 #include "GFAbsRecoHit.h"
40 #include <GFAbsTrackRep.h>
41 #include <GFDetPlane.h>
42 #include <GFTools.h>
43 #include <stdlib.h>
44 #include <vector>
45 
52 class GFDafHit : public GFAbsRecoHit {
53  public:
54  GFDafHit(){};
55 
56  ~GFDafHit() { fRawHits.clear(); };
57 
63  GFDafHit(std::vector<GFAbsRecoHit *> HitsInPlane);
64 
81  TMatrixT<double> getHitCoord(const GFDetPlane &pl);
82 
100  TMatrixT<double> getHitCov(const GFDetPlane &pl);
101 
107  TMatrixT<double> getHMatrix(const GFAbsTrackRep *rep);
108 
109  GFDafHit *clone();
110 
116  const GFDetPlane &getDetPlane(GFAbsTrackRep *rep);
117 
122  void setWeights(std::vector<double> weights);
123 
128  void setBlowUp(double blow_up);
129 
132  unsigned int getNumHits() { return fRawHits.size(); };
133 
136  GFAbsRecoHit *getHit(unsigned int ihit);
137 
143  const std::string &getPolicyName();
144 
145  private:
146  bool fHitCoordUpd, fHitCovUpd;
147  GFDetPlane fPl;
148  double fBlow;
149  std::vector<TMatrixT<double>> fCovInvs;
150  std::vector<GFAbsRecoHit *> fRawHits;
151  std::vector<double> fWeights;
152 
153  public:
154  ClassDef(GFDafHit, 1)
155 };
156 #endif
157 
Base Class for genfit track representations. Defines interface for track parameterizations.
Definition: GFAbsTrackRep.h:92
unsigned int getNumHits()
Get the number of hits in the GFDafHit.
Definition: GFDafHit.h:132
Detector plane genfit geometry class.
Definition: GFDetPlane.h:70
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:52
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:83
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:54
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:56