CMS 3D CMS Logo

SiStripRecHit1D.h
Go to the documentation of this file.
1 #ifndef SiStripRecHit1D_H
2 #define SiStripRecHit1D_H
3 
4 
5 
7 
8 #include "TkCloner.h"
9 
10 
11 class SiStripRecHit1D final : public TrackerSingleRecHit {
12 public:
13 
14 
16 
17 
19 
20  template<typename CluRef>
22  GeomDet const & idet,
23  CluRef const& clus) : TrackerSingleRecHit(p,e,idet,clus){}
24 
25 
26  ClusterRef cluster() const { return cluster_strip() ; }
27  void setClusterRef(ClusterRef const & ref) {setClusterStripRef(ref);}
28 
29 
30  virtual SiStripRecHit1D * clone() const override {return new SiStripRecHit1D( * this); }
31 #ifndef __GCCXML__
32  virtual RecHitPointer cloneSH() const override { return std::make_shared<SiStripRecHit1D>(*this);}
33 #endif
34 
35 
36  virtual int dimension() const override {return 1;}
37  virtual void getKfComponents( KfComponentsHolder & holder ) const override {getKfComponents1D(holder);}
38 
39  virtual bool canImproveWithTrack() const override {return true;}
40 private:
41  // double dispatch
42  virtual SiStripRecHit1D * clone(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
43  return cloner(*this,tsos).release();
44  }
45 #ifndef __GCCXML__
46  virtual RecHitPointer cloneSH(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
47  return cloner.makeShared(*this,tsos);
48  }
49 #endif
50 
51 
52 };
53 
54 #endif
ClusterRef cluster() const
ClusterStripRef cluster_strip() const
void setClusterStripRef(ClusterStripRef const &ref)
virtual void getKfComponents(KfComponentsHolder &holder) const override
void setClusterRef(ClusterRef const &ref)
SiStripRecHit1D(const LocalPoint &p, const LocalError &e, GeomDet const &idet, CluRef const &clus)
virtual bool canImproveWithTrack() const override
virtual RecHitPointer cloneSH(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
virtual int dimension() const override
std::shared_ptr< TrackingRecHit const > RecHitPointer
virtual TrackingRecHit::ConstRecHitPointer makeShared(SiPixelRecHit const &hit, TrajectoryStateOnSurface const &tsos) const =0
virtual SiStripRecHit1D * clone() const override
void getKfComponents1D(KfComponentsHolder &holder) const
virtual RecHitPointer cloneSH() const override
virtual SiStripRecHit1D * clone(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
OmniClusterRef::ClusterStripRef ClusterRef