Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:19

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  *  Abstract class that defines an LinearzedTrackStateFactory
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