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 00012 00019 class StripClusterParameterEstimator : public ClusterParameterEstimator<SiStripCluster> 00020 { 00021 public: 00022 typedef std::pair<MeasurementPoint,MeasurementError> MeasurementValues; 00023 virtual LocalVector driftDirection(const StripGeomDetUnit* det)const=0; 00024 00025 // 00026 // methods to get directly the measurements 00027 // 00028 00029 virtual MeasurementValues measurementParameters( const SiStripCluster&,const GeomDetUnit&) const 00030 { 00031 throw cms::Exception("Not implemented") 00032 << "StripClusterParameterEstimator::measurementParameters not yet implemented"<< std::endl; 00033 } 00034 00035 virtual MeasurementValues measurementParameters( const SiStripCluster& cluster, 00036 const GeomDetUnit& gd, 00037 const LocalTrajectoryParameters & ltp) const 00038 { 00039 throw cms::Exception("Not implemented") << "StripClusterParameterEstimator::measurementParameters not yet implemented"<< 00040 std::endl; 00041 } 00042 00043 00044 float templateProbability() const 00045 { 00046 return stripCPEtemplateProbability_; 00047 } 00048 00049 int templateQbin() const 00050 { 00051 return stripCPEtemplateQbin_; 00052 } 00053 00054 void templateProbability( float stp ) 00055 { 00056 stripCPEtemplateProbability_ = stp; 00057 } 00058 00059 void templateQbin( int stqb ) 00060 { 00061 stripCPEtemplateQbin_ = stqb; 00062 } 00063 00064 mutable float stripCPEtemplateProbability_; 00065 mutable int stripCPEtemplateQbin_; 00066 00067 }; 00068 00069 00070 #endif 00071 00072 00073 00074