CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoTracker/TkSeedGenerator/interface/SeedFromProtoTrack.h

Go to the documentation of this file.
00001 #ifndef RecoTracker_TkSeedGenerator_SeedFromProtoTrack_H
00002 #define RecoTracker_TkSeedGenerator_SeedFromProtoTrack_H
00003 
00004 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
00005 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00006 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00007 #include "RecoTracker/TkSeedingLayers/interface/SeedingHitSet.h"
00008 #include <boost/shared_ptr.hpp>
00009 
00010 namespace reco { class Track; }
00011 namespace edm { class EventSetup; }
00012 
00013 class SeedFromProtoTrack {
00014 public:
00015 
00016 
00017   SeedFromProtoTrack(const reco::Track & proto, const edm::EventSetup& ); 
00018   SeedFromProtoTrack(const reco::Track & proto,const SeedingHitSet & hits,
00019     const edm::EventSetup& es);
00020 
00021   ~SeedFromProtoTrack() {}
00022 
00023   TrajectorySeed trajectorySeed() const;
00024 
00025   bool isValid() const { return theValid; }
00026 
00027 private:
00028 
00029   void init(const reco::Track & proto, const edm::EventSetup& es);
00030 
00031   PropagationDirection direction() const { return alongMomentum; }
00032 
00033   PTrajectoryStateOnDet const & trajectoryState() const { return thePTraj; }
00034 
00035 
00036   typedef edm::OwnVector<TrackingRecHit> RecHitContainer;
00037   const RecHitContainer & hits() const { return theHits; }
00038 
00039 private:
00040 
00041   bool theValid;
00042   RecHitContainer theHits;
00043   PTrajectoryStateOnDet thePTraj;
00044 
00045 };
00046 #endif