Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 14:28:23

0001 #ifndef VertexUpdator_H
0002 #define VertexUpdator_H
0003 
0004 #include "RecoVertex/VertexPrimitives/interface/CachingVertex.h"
0005 
0006 /** 
0007  * Pure abstract base class for VertexUpdators. 
0008  * Updates CachingVertex with one VertexTrack. 
0009  */
0010 
0011 template <unsigned int N>
0012 class VertexUpdator {
0013 public:
0014   typedef typename CachingVertex<N>::RefCountedVertexTrack RefCountedVertexTrack;
0015 
0016   /**
0017    * Default Constructor
0018    */
0019   VertexUpdator() {}
0020 
0021   virtual ~VertexUpdator() {}
0022 
0023   /**
0024    * Method updating the vertex, with the information contained 
0025    * in the track.
0026    */
0027   virtual CachingVertex<N> add(const CachingVertex<N>& v,
0028                                const typename CachingVertex<N>::RefCountedVertexTrack t) const = 0;
0029 
0030   virtual CachingVertex<N> remove(const CachingVertex<N>& v,
0031                                   const typename CachingVertex<N>::RefCountedVertexTrack t) const = 0;
0032 
0033   virtual VertexUpdator* clone() const = 0;
0034 };
0035 
0036 #endif