Belle II Software  release-08-01-10
GFRaveVertex.h
1 /* Copyright 2008-2010, Technische Universitaet Muenchen,
2  Authors: Christian Hoeppner & Sebastian Neubert & Johannes Rauch
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 */
19 
29 #ifndef GFRAVEVERTEX_H
30 #define GFRAVEVERTEX_H
31 
32 #include "AbsTrackRep.h"
33 #include "Track.h"
34 #include "GFRaveTrackParameters.h"
35 
36 
37 namespace genfit {
38 
48 class GFRaveVertex : public TObject {
49 
50  public:
51  // constructors, destructors
52  GFRaveVertex();
53  GFRaveVertex(const TVector3 & pos, const TMatrixDSym & cov,
54  const std::vector < genfit::GFRaveTrackParameters* > & smoothedTracks,
55  double ndf, double chi2, int id = -1);
56 
57  GFRaveVertex(const GFRaveVertex &);
58 
59  GFRaveVertex& operator=(GFRaveVertex);
60  void swap(GFRaveVertex&);
61 
62  ~GFRaveVertex();
63 
64 
65  // Accessors
67  TVector3 getPos() const {return pos_;}
68 
70  TMatrixDSym getCov() const {return cov_;}
71 
72  double getNdf() const {return ndf_;}
73  double getChi2() const {return chi2_;}
74 
76  unsigned int getNTracks() const {return smoothedTracks_.size();}
77  GFRaveTrackParameters* getParameters(unsigned int i) const {return smoothedTracks_[i];}
78 
79  int getId() const {return id_;}
80 
81  void Print(const Option_t* = "") const;
82 
83 
84  private:
85 
86  TVector3 pos_; // position of the vertex
87  TMatrixDSym cov_; // error of the vertex position
88  double ndf_;
89  double chi2_;
90  int id_; // id of the rave::vertex the GFVertex is created from
91 
92  std::vector < genfit::GFRaveTrackParameters* > smoothedTracks_; //-> track parameters of smoothed (with the vertex information) tracks, weights and original tracks; Vertex has ownership!
93 
94  public:
95  ClassDef(GFRaveVertex, 1)
96 
97 };
98 
99 } /* End of namespace genfit */
102 #endif // GFRAVEVERTEX_H
GFRaveTrackParameters class Contains a pointer to the original genfit::Track, the weight of the track...
GFRaveVertex class.
Definition: GFRaveVertex.h:48
TVector3 getPos() const
get Position
Definition: GFRaveVertex.h:67
unsigned int getNTracks() const
Number of tracks the vertex is made of.
Definition: GFRaveVertex.h:76
TMatrixDSym getCov() const
get 3x3 covariance (error) of position.
Definition: GFRaveVertex.h:70
Defines for I/O streams used for error and debug printing.