CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/RecoVertex/KinematicFitPrimitives/interface/KinematicVertexFactory.h

Go to the documentation of this file.
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  static RefCountedKinematicVertex vertex(const VertexState& state, float totalChiSq, float degreesOfFr) 
00029  {
00030   return ReferenceCountingPointer<KinematicVertex>(new KinematicVertex(state,totalChiSq,
00031                                                                            degreesOfFr));
00032  } 
00033  
00038   static 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  static RefCountedKinematicVertex vertex(const CachingVertex<6>& vertex)
00051  {
00052   return  ReferenceCountingPointer<KinematicVertex>(new KinematicVertex(vertex)); 
00053  }
00054 
00059  static  RefCountedKinematicVertex vertex()
00060  {
00061   return  ReferenceCountingPointer<KinematicVertex>(new KinematicVertex()); 
00062  }
00063 
00064 };
00065 #endif