00001 //======================================================================= 00002 // Vertex 00003 // auxilary class to store vertex parameters 00004 // 09/2001 Kay Huettmann 00005 //======================================================================= 00006 #ifndef _VERTEX_H_ 00007 #define _VERTEX_H_ 00008 00009 #include "CLHEP/Matrix/SymMatrix.h" 00010 #include "CLHEP/Matrix/Vector.h" 00011 #include "CLHEP/Vector/LorentzVector.h" 00012 #include "QvrtBase.h" 00013 00014 class Vertex { 00015 public: 00016 Vertex(); // default constructor 00017 Vertex(QvrtBase*); // create Vertex from an QvrtBase obj. 00018 void setVertexParameters(QvrtBase*); // set vertex parameters 00019 void setVertexPosition(float x, float y, float z); // set vertex position 00020 void setVertexPosition(Hep3Vector* v3v); // 00021 void setVertexCov(int m, int n, float val); // set cov matrix 00022 void setVertexCov(HepSymMatrix* cov_matrix); // 00023 00024 const Hep3Vector& v3V()const {return _v3V;}; 00025 float cov_matrix(int m,int n)const {return _cov_matrix(m,n);} 00026 const HepSymMatrix& cov_matrix()const {return _cov_matrix;} 00027 00028 private: 00029 Hep3Vector _v3V; 00030 HepSymMatrix _cov_matrix; 00031 }; 00032 00033 #endif