00001 #ifndef KinematicVertexFactory_H 00002 #define KinematicVertexFactory_H 00003 00004 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicVertex.h" 00005 00017 class KinematicVertexFactory 00018 { 00019 public: 00020 00021 KinematicVertexFactory() 00022 {} 00023 00028 RefCountedKinematicVertex vertex(const VertexState& state, float totalChiSq, float degreesOfFr) 00029 { 00030 return ReferenceCountingPointer<KinematicVertex>(new KinematicVertex(state,totalChiSq, 00031 degreesOfFr)); 00032 } 00033 00038 RefCountedKinematicVertex vertex(const VertexState state, 00039 const ReferenceCountingPointer<KinematicVertex> pVertex, 00040 float totalChiSq, float degreesOfFr) 00041 { 00042 return ReferenceCountingPointer<KinematicVertex>(new KinematicVertex(state, pVertex, 00043 totalChiSq, degreesOfFr)); 00044 } 00045 00046 00050 RefCountedKinematicVertex vertex(const CachingVertex<6>& vertex) 00051 { 00052 return ReferenceCountingPointer<KinematicVertex>(new KinematicVertex(vertex)); 00053 } 00054 00059 RefCountedKinematicVertex vertex() 00060 { 00061 return ReferenceCountingPointer<KinematicVertex>(new KinematicVertex()); 00062 } 00063 00064 }; 00065 #endif