CMS 3D CMS Logo

VertexTrackFactory.h

Go to the documentation of this file.
00001 #ifndef VertexTrackFactory_H
00002 #define VertexTrackFactory_H
00003 
00004 #include "DataFormats/GeometrySurface/interface/ReferenceCounted.h"
00005 #include "RecoVertex/VertexPrimitives/interface/VertexTrack.h"
00006 #include "RecoVertex/VertexPrimitives/interface/LinearizedTrackState.h"
00007 
00015 template <unsigned int N>
00016 class VertexTrackFactory {
00017 
00018 public:
00019 
00020   typedef ReferenceCountingPointer<RefittedTrackState<N> > RefCountedRefittedTrackState;
00021   typedef ReferenceCountingPointer<VertexTrack<N> > RefCountedVertexTrack;
00022   typedef ReferenceCountingPointer<LinearizedTrackState<N> > RefCountedLinearizedTrackState;
00023   typedef ROOT::Math::SMatrix<double,3,N-2,ROOT::Math::MatRepStd<double,3,N-2> > AlgebraicMatrix3M;
00024 
00025   VertexTrackFactory() {}
00026    ~VertexTrackFactory() {}
00027 
00028   RefCountedVertexTrack
00029    vertexTrack(const RefCountedLinearizedTrackState lt, 
00030                const VertexState vs,
00031                float weight = 1.0 ) const {
00032     return RefCountedVertexTrack(new VertexTrack<N>(lt, vs, weight ));
00033   };
00034 
00035   RefCountedVertexTrack
00036    vertexTrack(const RefCountedLinearizedTrackState lt, 
00037                const VertexState vs,
00038                const RefCountedRefittedTrackState & refittedState, 
00039                float smoothedChi2, float weight = 1.0 ) const {
00040     return RefCountedVertexTrack(new VertexTrack<N>(lt, vs, weight, refittedState,
00041                                  smoothedChi2));
00042   };
00043 
00044   RefCountedVertexTrack
00045   vertexTrack(const RefCountedLinearizedTrackState lt, 
00046               const VertexState vs,
00047               const RefCountedRefittedTrackState & refittedState,
00048               float smoothedChi2,
00049               const AlgebraicMatrix3M & tVCov, float weight = 1.0 ) const {
00050     return RefCountedVertexTrack(new VertexTrack<N>(lt, vs, weight,
00051                                  refittedState, smoothedChi2, tVCov));
00052   };
00053 };
00054 
00055 #endif

Generated on Tue Jun 9 17:46:13 2009 for CMSSW by  doxygen 1.5.4