CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiStripRecHit2D.h
Go to the documentation of this file.
1 #ifndef SiStripRecHit2D_H
2 #define SiStripRecHit2D_H
3 
5 #include "TkCloner.h"
6 
7 
8 class SiStripRecHit2D GCC11_FINAL : public TrackerSingleRecHit {
9 public:
10 
12 
14 
16 
17  // no position (as in persistent)
19  OmniClusterRef const& clus) :
20  TrackerSingleRecHit(id, clus){}
21 
22  template<typename CluRef>
23  SiStripRecHit2D( const LocalPoint& pos, const LocalError& err,
24  GeomDet const & idet,
25  CluRef const& clus) :
26  TrackerSingleRecHit(pos,err, idet, clus) {}
27 
28 
29  ClusterRef cluster() const { return cluster_strip() ; }
30  void setClusterRef(ClusterRef const & ref) {setClusterStripRef(ref);}
31 
32  virtual SiStripRecHit2D * clone() const GCC11_OVERRIDE {return new SiStripRecHit2D( * this); }
33 #ifdef NO_DICT
34  virtual RecHitPointer cloneSH() const { return std::make_shared<SiStripRecHit2D>(*this);}
35 #endif
36 
37  virtual int dimension() const GCC11_OVERRIDE {return 2;}
38  virtual void getKfComponents( KfComponentsHolder & holder ) const GCC11_OVERRIDE { getKfComponents2D(holder); }
39 
40  virtual bool canImproveWithTrack() const GCC11_OVERRIDE {return true;}
41 private:
42  // double dispatch
43  virtual SiStripRecHit2D * clone(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const GCC11_OVERRIDE {
44  return cloner(*this,tsos);
45  }
46 #ifdef NO_DICT
47  virtual RecHitPointer cloneSH(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const GCC11_OVERRIDE {
48  return cloner.makeShared(*this,tsos);
49  }
50 #endif
51 
52 private:
53 
54 };
55 
56 #endif
ClusterStripRef cluster_strip() const
virtual int dimension() const GCC11_OVERRIDE
void setClusterStripRef(ClusterStripRef const &ref)
#define GCC11_OVERRIDE
virtual RecHitPointer cloneSH() const
SiStripRecHit2D(const DetId &id, OmniClusterRef const &clus)
virtual SiStripRecHit2D * clone() const GCC11_OVERRIDE
SiStripRecHit2D(const LocalPoint &pos, const LocalError &err, GeomDet const &idet, CluRef const &clus)
void setClusterRef(ClusterRef const &ref)
virtual bool canImproveWithTrack() const GCC11_OVERRIDE
virtual SiStripRecHit2D * clone(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const GCC11_OVERRIDE
void getKfComponents2D(KfComponentsHolder &holder) const
OmniClusterRef::ClusterStripRef ClusterRef
Definition: DetId.h:18
ClusterRef cluster() const
string const
Definition: compareJSON.py:14
virtual void getKfComponents(KfComponentsHolder &holder) const GCC11_OVERRIDE
Unlimited (trivial) bounds.