CMS 3D CMS Logo

GsfTrackProducerBase.h

Go to the documentation of this file.
00001 #ifndef GsfTrackProducerBase_h
00002 #define GsfTrackProducerBase_h
00003 
00012 #include "DataFormats/GsfTrackReco/interface/GsfTrack.h"
00013 #include "DataFormats/GsfTrackReco/interface/GsfTrackFwd.h"
00014 #include "DataFormats/GsfTrackReco/interface/GsfTrackExtra.h"
00015 #include "DataFormats/GsfTrackReco/interface/GsfTrackExtraFwd.h"
00016 #include "DataFormats/GsfTrackReco/interface/GsfComponent5D.h"
00017 #include "RecoTracker/TrackProducer/interface/TrackProducerBase.h"
00018 #include "DataFormats/BeamSpot/interface/BeamSpot.h"
00019 
00020 // #include "TrackingTools/TransientTrack/interface/TransientTrack.h"
00021 
00022 class TrajectoryStateOnSurface;
00023 class Propagator;
00024 class TransverseImpactPointExtrapolator;
00025 class TrajectoryStateClosestToBeamLineBuilder;
00026 
00027 class GsfTrackProducerBase : public TrackProducerBase<reco::GsfTrack> {
00028 public:
00029 
00031   explicit GsfTrackProducerBase(bool trajectoryInEvent, bool split) :
00032     TrackProducerBase<reco::GsfTrack>(trajectoryInEvent),
00033     useSplitting(split){}
00034 
00036   virtual void putInEvt(edm::Event&,
00037                         std::auto_ptr<TrackingRecHitCollection>&,
00038                         std::auto_ptr<reco::GsfTrackCollection>&,
00039                         std::auto_ptr<reco::TrackExtraCollection>&,
00040                         std::auto_ptr<reco::GsfTrackExtraCollection>&,
00041                         std::auto_ptr<std::vector<Trajectory> >&,
00042                         AlgoProductCollection&,
00043                         const reco::BeamSpot&);
00044 
00045 
00046 protected:
00047   void fillStates (TrajectoryStateOnSurface tsos, std::vector<reco::GsfComponent5D>& states) const;
00048   void fillMode (reco::GsfTrack& track, const TrajectoryStateOnSurface innertsos,
00049                  const Propagator& gsfProp,
00050                  const TransverseImpactPointExtrapolator& tipExtrapolator,
00051                  TrajectoryStateClosestToBeamLineBuilder& tscblBuilder,
00052                  const reco::BeamSpot& bs) const;
00053 
00054 private:
00055 bool useSplitting;
00056 
00057 };
00058 
00059      
00060 #endif

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