00001 #ifndef KinematicVertexAssociator_H 00002 #define KinematicVertexAssociator_H 00003 00004 #include <vector> 00005 #include "TrackerReco/TkEvent/interface/TkSimVertex.h" 00006 #include "RecoVertex/KinematicFitPrimitives/interface/RefCountedKinematicVertex.h" 00016 class TkSimVertex; 00017 //class RefCountedKinematicVertex; 00018 00019 class KinematicVertexAssociator { 00020 public: 00021 00022 typedef vector<RefCountedKinematicVertex> KinematicVertexContainer; 00023 typedef vector<const TkSimVertex *> SimVertexPtrContainer; 00024 typedef vector<const TkSimVertex> SimVertexContainer; 00025 00026 virtual ~KinematicVertexAssociator() {} 00027 00028 virtual SimVertexPtrContainer simVertices(const RefCountedKinematicVertex&) const = 0; 00029 00030 virtual KinematicVertexContainer recVertices(const TkSimVertex&) const = 0; 00031 00032 virtual KinematicVertexAssociator * clone() const = 0; 00033 00034 }; 00035 00036 00037 #endif