File indexing completed on 2024-04-06 12:05:20
0001 #ifndef SiStripRecHit1D_H
0002 #define SiStripRecHit1D_H
0003
0004 #include "DataFormats/TrackerRecHit2D/interface/TrackerSingleRecHit.h"
0005
0006 #include "TkCloner.h"
0007
0008 class SiStripRecHit1D final : public TrackerSingleRecHit {
0009 public:
0010 SiStripRecHit1D() {}
0011
0012 typedef OmniClusterRef::ClusterStripRef ClusterRef;
0013
0014 template <typename CluRef>
0015 SiStripRecHit1D(const LocalPoint& p, const LocalError& e, GeomDet const& idet, CluRef const& clus)
0016 : TrackerSingleRecHit(p, e, idet, clus) {}
0017
0018 ClusterRef cluster() const { return cluster_strip(); }
0019 void setClusterRef(ClusterRef const& ref) { setClusterStripRef(ref); }
0020
0021 SiStripRecHit1D* clone() const override { return new SiStripRecHit1D(*this); }
0022 #ifndef __GCCXML__
0023 RecHitPointer cloneSH() const override { return std::make_shared<SiStripRecHit1D>(*this); }
0024 #endif
0025
0026 int dimension() const override { return 1; }
0027 void getKfComponents(KfComponentsHolder& holder) const override { getKfComponents1D(holder); }
0028
0029 bool canImproveWithTrack() const override { return true; }
0030
0031 private:
0032
0033 SiStripRecHit1D* clone_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
0034 return cloner(*this, tsos).release();
0035 }
0036 #ifndef __GCCXML__
0037 RecHitPointer cloneSH_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
0038 return cloner.makeShared(*this, tsos);
0039 }
0040 #endif
0041 };
0042
0043 #endif