00001 #include "RecoTracker/TransientTrackingRecHit/interface/TSiPixelRecHit.h"
00002 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
00003 #include "RecoLocalTracker/ClusterParameterEstimator/interface/PixelClusterParameterEstimator.h"
00004 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h"
00005
00006
00007 TSiPixelRecHit::RecHitPointer TSiPixelRecHit::clone (const TrajectoryStateOnSurface& ts) const
00008 {
00009 if (theCPE == 0){
00010 return new TSiPixelRecHit( det(), &theHitData, 0, weight(), getAnnealingFactor());
00011 }else{
00012 const SiPixelCluster& clust = *specificHit()->cluster();
00013 PixelClusterParameterEstimator::LocalValues lv =
00014 theCPE->localParameters( clust, *detUnit(), ts.localParameters());
00015 return TSiPixelRecHit::build( lv.first, lv.second, det(), specificHit()->cluster(), theCPE, weight(), getAnnealingFactor());
00016 }
00017 }
00018
00019 const GeomDetUnit* TSiPixelRecHit::detUnit() const
00020 {
00021 return static_cast<const GeomDetUnit*>(det());
00022 }
00023
00024
00025
00026
00027
00028
00029