CMS 3D CMS Logo

ElectronPixelSeed.h

Go to the documentation of this file.
00001 #ifndef ElectronPixelSeed_h
00002 #define ElectronPixelSeed_h 1
00003 
00015 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
00016 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
00017 #include "DataFormats/TrajectoryState/interface/TrackCharge.h"
00018 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00019 #include "DataFormats/Common/interface/Ref.h"
00020 
00021 #include <vector>
00022 
00023 namespace reco {
00024 
00025 
00026 class ElectronPixelSeed: public TrajectorySeed
00027  {
00028   public :
00029         
00030     typedef edm::OwnVector<TrackingRecHit> recHitContainer;
00031     static std::string const &name() 
00032     { 
00033       static std::string const name_("ElectronPixelSeed");
00034       return name_;
00035     }
00036 
00037     ElectronPixelSeed() ;
00038     ElectronPixelSeed( const ElectronPixelSeed & ) ;
00039     ElectronPixelSeed & operator=( const ElectronPixelSeed & ) ;
00040     virtual ~ElectronPixelSeed() ;
00041    
00043     ElectronPixelSeed(edm::Ref<SuperClusterCollection> & seed, PTrajectoryStateOnDet & pts, recHitContainer & rh,  PropagationDirection & dir);
00044 
00045     // Constructor from TrajectorySeed
00046     ElectronPixelSeed(edm::Ref<SuperClusterCollection> & scl, const TrajectorySeed & seed) ;
00047 
00048     // 
00049     SuperClusterRef superCluster() const {return theSuperCluster; }
00050     
00051     // interfaces
00052 
00053     TrackCharge getCharge() const {return startingState().parameters().charge();}
00054 
00055     ElectronPixelSeed * clone() const {return new ElectronPixelSeed( * this); }
00056 
00057  private:
00058     
00060     SuperClusterRef theSuperCluster;
00061 
00062   } ;
00063 
00064 
00065 // Class ElectronPixelSeed
00066 
00067 }// namespace reco
00068 
00069 #endif

Generated on Tue Jun 9 17:30:43 2009 for CMSSW by  doxygen 1.5.4