Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef LinearizedTrackStateFactory_H
0002 #define LinearizedTrackStateFactory_H
0003 
0004 #include "RecoVertex/VertexTools/interface/AbstractLTSFactory.h"
0005 #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
0006 
0007 /**
0008  *  Concrete class to encapsulate the creation of a RefCountedLinearizedTrack,
0009  *  which is a reference-counting pointer.
0010  *  Should always be used in order to create a new RefCountedLinearizedTrack,
0011  *  so that the reference-counting mechanism works well.
0012  */
0013 
0014 class LinearizedTrackStateFactory : public AbstractLTSFactory<5> {
0015 public:
0016   RefCountedLinearizedTrackState linearizedTrackState(const GlobalPoint& linP,
0017                                                       const reco::TransientTrack& track) const override;
0018 
0019   RefCountedLinearizedTrackState linearizedTrackState(const GlobalPoint& linP,
0020                                                       const reco::TransientTrack& track,
0021                                                       const TrajectoryStateOnSurface& tsos) const override;
0022 
0023   RefCountedLinearizedTrackState linearizedTrackState(LinearizedTrackState<5>* lts) const;
0024 
0025   const LinearizedTrackStateFactory* clone() const override;
0026 
0027   //   RefCountedLinearizedTrackState
0028   //     linearizedTrackState(const GlobalPoint & linP, RefCountedKinematicParticle & prt) const;
0029 };
0030 
0031 #endif