/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Event/EvtRecEvent/EvtRecEvent-00-02-02/EvtRecEvent/EvtRecPrimaryVertex.h

Go to the documentation of this file.
00001 #ifndef Event_EvtRecPrimaryVertex_H
00002 #define Event_EvtRecPrimaryVertex_H
00003 
00004 #include "GaudiKernel/DataObject.h"
00005 #include "GaudiKernel/ObjectVector.h"
00006 #include "GaudiKernel/ContainedObject.h"
00007 #include "GaudiKernel/SmartRef.h"
00008 #include "EventModel/EventModel.h"
00009 #include "CLHEP/Matrix/Vector.h"
00010 #include "CLHEP/Matrix/SymMatrix.h"
00011 
00012 using CLHEP::HepVector;
00013 using CLHEP::HepSymMatrix;
00014 using namespace EventModel;
00015 extern const CLID & CLID_EvtRecPrimaryVertex;
00016 
00017 // 
00018 // For Primary Vertex information
00019 // only 1 primary vertex for every event
00020 // Author : Kanglin He, Min Xu    Date : 2008.11.13
00021 //
00022 class EvtRecPrimaryVertex : public DataObject {
00023  public:
00024   virtual const CLID& clID() const {return EvtRecPrimaryVertex::classID();}
00025   static  const CLID& classID() {return CLID_EvtRecPrimaryVertex;}
00026 
00027   EvtRecPrimaryVertex();
00028   ~EvtRecPrimaryVertex() {;}
00029 
00030   EvtRecPrimaryVertex(const EvtRecPrimaryVertex&);
00031   EvtRecPrimaryVertex & operator = (const EvtRecPrimaryVertex &);
00032 
00033   bool isValid() const {return m_isValid;}
00034   int nTracks() const {return m_nTracks;}
00035   const std::vector<int>& trackIdList() const {return m_trackIdList;}
00036   double chi2() const {return m_chi2;}
00037   int ndof() const {return m_ndof;}
00038   int fitMethod() const {return m_fitMethod;}
00039   const HepVector& vertex() const {return m_vtx;}
00040   const HepSymMatrix& errorVertex() const {return m_Evtx;}
00041 
00042   void setIsValid(bool isValid) {m_isValid = isValid;}
00043   void setNTracks(int nTracks) {m_nTracks = nTracks;}
00044   void setTrackIdList(const std::vector<int>& trackIdList) {m_trackIdList = trackIdList;}
00045   void setChi2(double chi2) {m_chi2 = chi2;}
00046   void setNdof(int ndof) {m_ndof = ndof;}
00047   void setFitMethod(int fitMethod) {m_fitMethod = fitMethod;}
00048   void setVertex(const HepVector& vtx) {m_vtx = vtx;} 
00049   void setErrorVertex(const HepSymMatrix& Evtx) {m_Evtx = Evtx;}
00050 
00051  private:
00052   bool m_isValid;
00053   int m_nTracks; //number of tracks contributing to vertex fitting
00054   std::vector<int> m_trackIdList; // id list of tracks contributing to vertex fitting
00055   double m_chi2; // chi square of vertex fitting
00056   int m_ndof; // degree of freedom 
00057               // for a fixed position => 2n; for unknown position => 2n-3;
00058   int m_fitMethod; // vertex fitting algorithm 
00059                   // 0 => global method; 1 => kalman filter method;
00060   HepVector m_vtx; // primary vertex position : (Vx, Vy, Vz)
00061   HepSymMatrix m_Evtx; // error matrix of primary vertex 
00062 };
00063 
00064 //typedef ObjectVector<EvtRecPrimaryVertex> EvtRecPrimaryVertexCol;
00065 #endif
00066   

Generated on Tue Nov 29 22:58:29 2016 for BOSS_7.0.2 by  doxygen 1.4.7