CMS 3D CMS Logo

GsfTrackProducerAlgorithm.h

Go to the documentation of this file.
00001 #ifndef GsfTrackProducerAlgorithm_h
00002 #define GsfTrackProducerAlgorithm_h
00003 
00004 //
00005 // Package:    RecoTracker/TrackProducer
00006 // Class:      GsfTrackProducerAlgorithm
00007 // 
00008 //
00009 // Original Author:  Giuseppe Cerati
00010 //         Created:  Thu Mar  9 17:29:31 CET 2006
00011 // $Id: GsfTrackProducerAlgorithm.h,v 1.4 2007/08/23 20:59:33 ratnik Exp $
00012 //
00013 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00014 #include "FWCore/Framework/interface/Event.h"
00015 #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
00016 // #include "DataFormats/TrackReco/interface/Track.h"
00017 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00018 #include "DataFormats/TrackReco/interface/TrackExtra.h"
00019 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
00020 #include "DataFormats/GsfTrackReco/interface/GsfTrackExtra.h"
00021 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
00022 
00023 class MagneticField;
00024 class TrackingGeometry;
00025 class TrajectoryFitter;
00026 class Propagator;
00027 class Trajectory;
00028 class TrajectoryStateOnSurface;
00029 class TransientTrackingRecHitBuilder;
00030 
00031 
00032 class GsfTrackProducerAlgorithm {
00033   
00034  public:
00035   typedef std::pair<Trajectory*, std::pair<reco::GsfTrack*,PropagationDirection> > AlgoProduct; 
00036   typedef std::vector< AlgoProduct >  AlgoProductCollection;
00037 
00038   GsfTrackProducerAlgorithm(const edm::ParameterSet& conf) : 
00039     conf_(conf)
00040     { }
00041 
00042   ~GsfTrackProducerAlgorithm() {}
00043   
00044   void runWithCandidate(const TrackingGeometry *, 
00045                         const MagneticField *, 
00046                         const TrackCandidateCollection&,
00047                         const TrajectoryFitter *,
00048                         const Propagator *,
00049                         const TransientTrackingRecHitBuilder*,
00050                         AlgoProductCollection &);
00051 
00052   void runWithTrack(const TrackingGeometry *, 
00053                     const MagneticField *, 
00054                     const reco::TrackCollection&,
00055                     const TrajectoryFitter *,
00056                     const Propagator *,
00057                     const TransientTrackingRecHitBuilder*,
00058                     AlgoProductCollection &);
00059 
00060   bool buildTrack(const TrajectoryFitter *,
00061                   const Propagator *,
00062                   AlgoProductCollection& ,
00063                   TransientTrackingRecHit::RecHitContainer&,
00064                   TrajectoryStateOnSurface& ,
00065                   const TrajectorySeed&,
00066                   float);
00067 
00068  private:
00069   edm::ParameterSet conf_;
00070 };
00071 
00072 #endif

Generated on Tue Jun 9 17:45:59 2009 for CMSSW by  doxygen 1.5.4