00001 #ifndef RecoLocalTracker_StripCluster_Parameter_Estimator_H 00002 #define RecoLocalTracker_StripCluster_Parameter_Estimator_H 00003 00004 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h" 00005 #include "RecoLocalTracker/ClusterParameterEstimator/interface/ClusterParameterEstimator.h" 00006 #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" 00007 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementPoint.h" 00008 #include "DataFormats/GeometryCommonDetAlgo/interface/MeasurementError.h" 00009 00010 #include "FWCore/Utilities/interface/Exception.h" 00011 00018 class StripClusterParameterEstimator : public ClusterParameterEstimator<SiStripCluster> { 00019 public: 00020 typedef std::pair<MeasurementPoint,MeasurementError> MeasurementValues; 00021 virtual LocalVector driftDirection(const StripGeomDetUnit* det)const=0; 00022 // 00023 // methods to get directly the measurements 00024 // 00025 virtual MeasurementValues measurementParameters( const SiStripCluster&,const GeomDetUnit&) const { 00026 throw cms::Exception("Not implemented") << "StripClusterParameterEstimator::measurementParameters not yet implemented"<< std::endl; } 00027 virtual MeasurementValues measurementParameters( const SiStripCluster& cluster, const GeomDetUnit& gd, const LocalTrajectoryParameters & ltp) const { 00028 throw cms::Exception("Not implemented") << "StripClusterParameterEstimator::measurementParameters not yet implemented"<< std::endl; 00029 } 00030 }; 00031 00032 00033 #endif