CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/RecoLocalTracker/ClusterParameterEstimator/interface/ClusterParameterEstimator.h

Go to the documentation of this file.
00001 #ifndef RecoLocalTracker_Cluster_Parameter_Estimator_H
00002 #define RecoLocalTracker_Cluster_Parameter_Estimator_H
00003 
00004 #include "DataFormats/GeometrySurface/interface/LocalError.h"
00005 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00006 
00007 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h"
00008 #include "DataFormats/TrajectoryState/interface/LocalTrajectoryParameters.h"
00009 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00010 
00011 template <class T> 
00012 class ClusterParameterEstimator {
00013   
00014  public:
00015   typedef std::pair<LocalPoint,LocalError>  LocalValues;
00016   typedef std::vector<LocalValues> VLocalValues;
00017   virtual LocalValues localParameters( const T&,const GeomDetUnit&) const = 0; 
00018   virtual LocalValues localParameters( const T& cluster, const GeomDetUnit& gd, const LocalTrajectoryParameters&) const {
00019     return localParameters(cluster,gd);
00020   }
00021   virtual LocalValues localParameters( const T& cluster, const GeomDetUnit& gd, const TrajectoryStateOnSurface& tsos) const {
00022     return localParameters(cluster,gd,tsos.localParameters());
00023   }
00024   virtual VLocalValues localParametersV( const T& cluster, const GeomDetUnit& gd) const {
00025     VLocalValues vlp;
00026     vlp.push_back(localParameters(cluster,gd));
00027     return vlp;
00028   }
00029   virtual VLocalValues localParametersV( const T& cluster, const GeomDetUnit& gd, const TrajectoryStateOnSurface& tsos) const {
00030     VLocalValues vlp;
00031     vlp.push_back(localParameters(cluster,gd,tsos.localParameters()));
00032     return vlp;
00033   }
00034   
00035   virtual ~ClusterParameterEstimator(){}
00036   
00037   //methods needed by FastSim
00038   virtual void enterLocalParameters(unsigned int id, std::pair<int,int>
00039                                     &row_col, LocalValues pos_err_info) const {}
00040   virtual void enterLocalParameters(uint32_t id, uint16_t firstStrip,
00041                                     LocalValues pos_err_info) const {}
00042   virtual void clearParameters() const {}
00043   
00044 };
00045 
00046 #endif