File indexing completed on 2024-09-07 04:38:06
0001 #ifndef VertexTools_AbstractLTSFactory_H
0002 #define VertexTools_AbstractLTSFactory_H
0003
0004 #include "RecoVertex/VertexPrimitives/interface/LinearizedTrackState.h"
0005 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0006
0007
0008
0009
0010
0011 template <unsigned int N>
0012 class AbstractLTSFactory {
0013 public:
0014 typedef ReferenceCountingPointer<LinearizedTrackState<N> > RefCountedLinearizedTrackState;
0015
0016 virtual RefCountedLinearizedTrackState linearizedTrackState(const GlobalPoint& linP,
0017 const reco::TransientTrack& track) const = 0;
0018
0019 virtual RefCountedLinearizedTrackState linearizedTrackState(const GlobalPoint& linP,
0020 const reco::TransientTrack& track,
0021 const TrajectoryStateOnSurface& tsos) const = 0;
0022
0023 virtual ~AbstractLTSFactory() {}
0024
0025 virtual const AbstractLTSFactory* clone() const = 0;
0026 };
0027
0028 #endif