00001 #ifndef KfTrackProducerBase_h 00002 #define KfTrackProducerBase_h 00003 00012 #include "RecoTracker/TrackProducer/interface/TrackProducerBase.h" 00013 00014 #include "TrackingTools/TransientTrack/interface/TransientTrack.h" 00015 00016 class Trajectory; 00017 00018 class KfTrackProducerBase : public TrackProducerBase<reco::Track> { 00019 public: 00020 00022 explicit KfTrackProducerBase(bool trajectoryInEvent, bool split) : 00023 TrackProducerBase<reco::Track>(trajectoryInEvent),useSplitting(split) {} 00024 00026 virtual void putInEvt(edm::Event&, 00027 const Propagator* prop, 00028 const MeasurementTracker* measTk, 00029 std::auto_ptr<TrackingRecHitCollection>&, 00030 std::auto_ptr<reco::TrackCollection>&, 00031 std::auto_ptr<reco::TrackExtraCollection>&, 00032 std::auto_ptr<std::vector<Trajectory> >&, 00033 AlgoProductCollection&); 00034 00035 00036 // void setSecondHitPattern(Trajectory* traj, reco::Track& track); 00037 private: 00038 bool useSplitting; 00039 00040 }; 00041 00042 #endif