00001 #ifndef TkSeedingLayers_SeedingHit_H 00002 #define TkSeedingLayers_SeedingHit_H 00003 00004 #include <boost/shared_ptr.hpp> 00005 00006 namespace edm { class EventSetup; } 00007 class TrackingRecHit; 00008 namespace ctfseeding { class SeedingLayer; } 00009 00010 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h" 00011 00012 00013 namespace ctfseeding { 00014 00015 class SeedingHit { 00016 public: 00017 SeedingHit(const TrackingRecHit * hit , const SeedingLayer &l, const edm::EventSetup& iSetup); 00018 SeedingHit(const TransientTrackingRecHit::ConstRecHitPointer& ttrh, const SeedingLayer &l); 00019 00020 // temporary FIX for Cosmic/BC!!! to be removed asap. 00021 SeedingHit(const TrackingRecHit * hit , const edm::EventSetup& iSetup); 00022 00023 float phi() const; 00024 float rOrZ() const; 00025 float errorRZ() const; 00026 float errorRPhi() const; 00027 00028 float r() const; 00029 float z() const; 00030 00031 operator const TrackingRecHit* () const; 00032 operator const TransientTrackingRecHit::ConstRecHitPointer& () const; 00033 00034 const SeedingLayer & seedinglayer() const; 00035 00036 private: 00037 class SeedingHitImpl; 00038 boost::shared_ptr<SeedingHitImpl> theImpl; 00039 }; 00040 00041 } 00042 00043 #endif