00001 #ifndef VertexUpdator_H 00002 #define VertexUpdator_H 00003 00004 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h" 00005 00011 template <unsigned int N> 00012 class VertexUpdator { 00013 00014 public: 00015 00016 typedef typename CachingVertex<N>::RefCountedVertexTrack RefCountedVertexTrack; 00017 00021 VertexUpdator() {} 00022 00023 virtual ~VertexUpdator() {} 00024 00029 virtual CachingVertex<N> add(const CachingVertex<N> & v, 00030 const typename CachingVertex<N>::RefCountedVertexTrack t) const = 0; 00031 00032 virtual CachingVertex<N> remove(const CachingVertex<N> & v, 00033 const typename CachingVertex<N>::RefCountedVertexTrack t) const = 0; 00034 00035 virtual VertexUpdator * clone() const = 0; 00036 00037 }; 00038 00039 00040 #endif