CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h

Go to the documentation of this file.
00001 #ifndef SiStripMatchedRecHit2D_H
00002 #define SiStripMatchedRecHit2D_H
00003 
00004 
00005 #include "DataFormats/TrackerRecHit2D/interface/BaseSiTrackerRecHit2DLocalPos.h"
00006 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h"
00007 
00008 class SiStripMatchedRecHit2D : public BaseSiTrackerRecHit2DLocalPos{
00009  public:
00010   SiStripMatchedRecHit2D(): BaseSiTrackerRecHit2DLocalPos(){}
00011   ~SiStripMatchedRecHit2D(){}
00012   SiStripMatchedRecHit2D( const LocalPoint& pos, const LocalError& err, const DetId& id , const SiStripRecHit2D* rMono,const SiStripRecHit2D* rStereo);
00013                                          
00014   const SiStripRecHit2D *stereoHit() const { return &componentStereo_;}
00015   const SiStripRecHit2D *monoHit() const { return &componentMono_;}
00016  
00017   // Non const variants needed for cluster re-keying 
00018   SiStripRecHit2D *stereoHit() { return &componentStereo_;}
00019   SiStripRecHit2D *monoHit() { return &componentMono_;}
00020   
00021   virtual SiStripMatchedRecHit2D * clone() const;
00022  
00023   virtual bool sharesInput( const TrackingRecHit* other, SharedInputType what) const;
00024 
00025   virtual std::vector<const TrackingRecHit*> recHits() const; 
00026 
00027   virtual std::vector<TrackingRecHit*> recHits(); 
00028 
00029     
00030  private:
00031   SiStripRecHit2D componentMono_,componentStereo_;
00032 };
00033 
00034 
00035 #endif