00001 #ifndef _MANTREE_MVERTEX_H__
00002 #define _MANTREE_MVERTEX_H__
00003
00004 #include <vector>
00005 #include "TVector3.h"
00006
00007 #ifdef _ATHENA_CLASSES__
00008 #include "VxVertex/VxCandidate.h"
00009 #endif
00010
00011 namespace manchester {
00012
00018 class MVertex : public TVector3 {
00019
00020 public :
00021
00023 MVertex();
00024
00026 MVertex(const MVertex& vertex);
00027
00028 #ifdef _ATHENA_CLASSES__
00030 MVertex(const Trk::VxCandidate& vxcand);
00031 #endif
00032
00034 virtual ~MVertex();
00035
00037 unsigned int NTracks() const {return m_ntracks;}
00038
00040 unsigned int NDof() const {return m_ndof;}
00041
00043 double Chi2() const {return m_chi2;}
00044
00046 int VertexType() const {return m_vertexType;}
00047
00049 bool isPrimary() const;
00050
00052 bool isSecondary() const;
00053
00055 bool isPileup() const;
00056
00058 bool isConversion() const;
00059
00060 private:
00061
00063 unsigned int m_ntracks;
00064
00066 unsigned int m_ndof;
00067
00069 double m_chi2;
00070
00072 int m_vertexType;
00073
00074 #ifndef DOXYGEN_IGNORE
00075 ClassDef(MVertex, 1);
00076 #endif // DOXYGEN_IGNORE
00077
00078 };
00079
00080 }
00081
00082 #endif // _MANTREE_MVERTEX_H__