CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/RecoLocalTracker/ClusterParameterEstimator/interface/StripClusterParameterEstimator.h

Go to the documentation of this file.
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