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
00012 template <class T>
00013 class ClusterParameterEstimator {
00014
00015 public:
00016 typedef std::pair<LocalPoint,LocalError> LocalValues;
00017 typedef std::vector<LocalValues> VLocalValues;
00018 virtual LocalValues localParameters( const T&,const GeomDetUnit&) const = 0;
00019 virtual LocalValues localParameters( const T& cluster, const GeomDetUnit& gd, const LocalTrajectoryParameters&) const {
00020 return localParameters(cluster,gd);
00021 }
00022 virtual LocalValues localParameters( const T& cluster, const GeomDetUnit& gd, const TrajectoryStateOnSurface& tsos) const {
00023 return localParameters(cluster,gd,tsos.localParameters());
00024 }
00025 virtual VLocalValues localParametersV( const T& cluster, const GeomDetUnit& gd) const {
00026 VLocalValues vlp;
00027 vlp.push_back(localParameters(cluster,gd));
00028 return vlp;
00029 }
00030 virtual VLocalValues localParametersV( const T& cluster, const GeomDetUnit& gd, const LocalTrajectoryParameters& ltp) const {
00031 VLocalValues vlp;
00032 vlp.push_back(localParameters(cluster,gd,ltp));
00033 return vlp;
00034 }
00035 virtual VLocalValues localParametersV( const T& cluster, const GeomDetUnit& gd, const TrajectoryStateOnSurface& tsos) const {
00036 VLocalValues vlp;
00037 vlp.push_back(localParameters(cluster,gd,tsos.localParameters()));
00038 return vlp;
00039 }
00040
00041 virtual ~ClusterParameterEstimator(){}
00042
00043
00044 virtual void enterLocalParameters(unsigned int id, std::pair<int,int>
00045 &row_col, LocalValues pos_err_info) const {}
00046 virtual void enterLocalParameters(uint32_t id, uint16_t firstStrip,
00047 LocalValues pos_err_info) const {}
00048 virtual void clearParameters() const {}
00049
00050 };
00051
00052 #endif