CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/FastSimulation/TrackingRecHitProducer/interface/FastStripCPE.h

Go to the documentation of this file.
00001 #ifndef FastSimulation_TrackingRecHitProducer_FastStripCPE_H
00002 #define FastSimulation_TrackingRecHitProducer_FastStripCPE_H
00003 
00004 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00005 #include "DataFormats/GeometrySurface/interface/LocalError.h"
00006 #include "RecoLocalTracker/ClusterParameterEstimator/interface/StripClusterParameterEstimator.h"
00007 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00008 
00009 #include <ext/hash_map>
00010 #include <map>
00011 
00012 
00013 class FastStripCPE : public StripClusterParameterEstimator 
00014 {
00015  public:
00016   FastStripCPE(){;}
00017   
00018   //Standard method used
00019   //LocalValues is typedef for std::pair<LocalPoint,LocalError> 
00020   StripClusterParameterEstimator::LocalValues localParameters( const SiStripCluster & cl,const GeomDetUnit& det) const {
00021     return localParameters(cl);
00022   }; 
00023   StripClusterParameterEstimator::LocalValues localParameters( const SiStripCluster & cl)const; 
00024   
00025   //Put information into the map.
00026   void enterLocalParameters(uint32_t id, uint16_t firstStrip, std::pair<LocalPoint,LocalError> pos_err_info) const;
00027   
00028   //Clear the map.
00029   void clearParameters() const {
00030     pos_err_map.clear();
00031   }
00032   
00033   LocalVector driftDirection(const StripGeomDetUnit* det)const;
00034   
00035  private:
00036   mutable std::map<std::pair<uint32_t, uint16_t>,std::pair<LocalPoint, LocalError> >  pos_err_map;
00037   
00038 };
00039 
00040 #endif
00041 
00042 
00043 
00044