CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_1/src/DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h

Go to the documentation of this file.
00001 #ifndef SiStripRecHit2D_H
00002 #define SiStripRecHit2D_H
00003 
00004 #include "DataFormats/TrackerRecHit2D/interface/TrackerSingleRecHit.h"
00005 
00006 
00007 class SiStripRecHit2D GCC11_FINAL : public TrackerSingleRecHit {
00008 public:
00009 
00010   SiStripRecHit2D(): sigmaPitch_(-1.){}
00011 
00012   ~SiStripRecHit2D() {} 
00013 
00014   typedef OmniClusterRef::ClusterStripRef         ClusterRef;
00015   typedef OmniClusterRef::ClusterRegionalRef ClusterRegionalRef;
00016 
00017   // no position (as in persistent)
00018   SiStripRecHit2D(const DetId& id,
00019                   OmniClusterRef const& clus) : 
00020     TrackerSingleRecHit(id, clus),
00021     sigmaPitch_(-1.) {}
00022 
00023 
00024   SiStripRecHit2D( const LocalPoint& pos, const LocalError& err,
00025                    const DetId& id,
00026                    OmniClusterRef const& clus) : 
00027     TrackerSingleRecHit(pos,err,id, clus),
00028     sigmaPitch_(-1.) {}
00029  
00030   SiStripRecHit2D( const LocalPoint& pos, const LocalError& err,
00031                    const DetId& id,
00032                    ClusterRef const& clus) : 
00033     TrackerSingleRecHit(pos,err,id, clus),
00034     sigmaPitch_(-1.) {}
00035 
00036 
00037   SiStripRecHit2D(const LocalPoint& pos, const LocalError& err,
00038                   const DetId& id,
00039                   ClusterRegionalRef const& clus) : 
00040     TrackerSingleRecHit(pos,err,id, clus),
00041     sigmaPitch_(-1.) {}
00042                                 
00043   ClusterRef cluster()  const { return cluster_strip() ; }
00044   void setClusterRef(ClusterRef const & ref)  {setClusterStripRef(ref);}
00045 
00046   virtual SiStripRecHit2D * clone() const {return new SiStripRecHit2D( * this); }
00047   
00048   virtual int dimension() const {return 2;}
00049   virtual void getKfComponents( KfComponentsHolder & holder ) const { getKfComponents2D(holder); }
00050 
00051  
00052   double sigmaPitch() const { return sigmaPitch_;}
00053   void setSigmaPitch(double sigmap) const { sigmaPitch_=sigmap;}
00054 
00055   
00056 private:
00057 
00059   mutable double sigmaPitch_;  // transient....
00060 
00061  
00062 };
00063 
00064 #endif