CMS 3D CMS Logo

TSiStripRecHit2DLocalPos.cc

Go to the documentation of this file.
00001 #include "RecoTracker/TransientTrackingRecHit/interface/TSiStripRecHit2DLocalPos.h"
00002 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h"
00003 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
00004 #include "RecoLocalTracker/ClusterParameterEstimator/interface/StripClusterParameterEstimator.h"
00005 
00006 
00007 TransientTrackingRecHit::RecHitPointer
00008 TSiStripRecHit2DLocalPos::clone (const TrajectoryStateOnSurface& ts) const
00009 {
00010   if (theCPE != 0) {
00011 
00013 
00014      if(!specificHit()->cluster().isNull()){
00015        const SiStripCluster&  clust = *specificHit()->cluster();  
00016            StripClusterParameterEstimator::LocalValues lv = 
00017       theCPE->localParameters( clust, *detUnit(), ts.localParameters());
00018            return TSiStripRecHit2DLocalPos::build( lv.first, lv.second, det(), 
00019                                                    specificHit()->cluster(), theCPE, weight(), getAnnealingFactor());
00020      }else{
00021        const SiStripCluster&  clust = *specificHit()->cluster_regional();  
00022        StripClusterParameterEstimator::LocalValues lv = 
00023          theCPE->localParameters( clust, *detUnit(), ts.localParameters());
00024        return TSiStripRecHit2DLocalPos::build( lv.first, lv.second, det(), 
00025                                                specificHit()->cluster_regional(), theCPE, weight(), getAnnealingFactor());       
00026      }
00027 
00028   }
00030   else return clone();
00031 }
00032 
00033 const GeomDetUnit* TSiStripRecHit2DLocalPos::detUnit() const
00034 {
00035   return static_cast<const GeomDetUnit*>(det());
00036 }

Generated on Tue Jun 9 17:46:01 2009 for CMSSW by  doxygen 1.5.4