![]() |
![]() |
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