00001 #ifndef RECOTRACKER_TRANSIENTRECHITBUILDER_H 00002 #define RECOTRACKER_TRANSIENTRECHITBUILDER_H 00003 00004 #include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHitBuilder.h" 00005 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" 00006 00007 #include "RecoLocalTracker/ClusterParameterEstimator/interface/PixelClusterParameterEstimator.h" 00008 #include "RecoLocalTracker/ClusterParameterEstimator/interface/StripClusterParameterEstimator.h" 00009 #include "RecoLocalTracker/SiStripRecHitConverter/interface/SiStripRecHitMatcher.h" 00010 00011 class TkTransientTrackingRecHitBuilder GCC11_FINAL : public TransientTrackingRecHitBuilder { 00012 00013 public: 00014 TkTransientTrackingRecHitBuilder (const TrackingGeometry* trackingGeometry, 00015 const PixelClusterParameterEstimator * , 00016 const StripClusterParameterEstimator * , 00017 const SiStripRecHitMatcher *, 00018 bool computeCoarseLocalPositionFromDisk); 00019 TransientTrackingRecHit::RecHitPointer build (const TrackingRecHit * p) const ; 00020 TransientTrackingRecHit::RecHitPointer build ( const TrackingRecHit * p, const TrajectoryStateOnSurface & state) const ; 00021 00022 const PixelClusterParameterEstimator * pixelClusterParameterEstimator(){return pixelCPE;} 00023 const StripClusterParameterEstimator * stripClusterParameterEstimator(){return stripCPE;} 00024 const SiStripRecHitMatcher * siStripRecHitMatcher(){return theMatcher;} 00025 00026 00027 private: 00028 TransientTrackingRecHit::RecHitPointer oldbuild (const TrackingRecHit * p) const ; 00029 00030 00031 private: 00032 const TrackingGeometry* tGeometry_; 00033 const PixelClusterParameterEstimator * pixelCPE; 00034 const StripClusterParameterEstimator * stripCPE; 00035 const SiStripRecHitMatcher * theMatcher; 00036 bool theComputeCoarseLocalPosition; 00037 }; 00038 00039 00040 #endif