CMS 3D CMS Logo

SiStripRecHit2D.h
Go to the documentation of this file.
1 #ifndef SiStripRecHit2D_H
2 #define SiStripRecHit2D_H
3 
5 #include "TkCloner.h"
6 
7 class SiStripRecHit2D final : public TrackerSingleRecHit {
8 public:
10 
11  ~SiStripRecHit2D() override {}
12 
14 
15  // no position (as in persistent)
16  SiStripRecHit2D(const DetId& id, OmniClusterRef const& clus) : TrackerSingleRecHit(id, clus) {}
17 
18  template <typename CluRef>
19  SiStripRecHit2D(const LocalPoint& pos, const LocalError& err, GeomDet const& idet, CluRef const& clus)
20  : TrackerSingleRecHit(pos, err, idet, clus) {}
21 
22  ClusterRef cluster() const { return cluster_strip(); }
23  void setClusterRef(ClusterRef const& ref) { setClusterStripRef(ref); }
24 
25  SiStripRecHit2D* clone() const override { return new SiStripRecHit2D(*this); }
26 #ifndef __GCCXML__
27  RecHitPointer cloneSH() const override { return std::make_shared<SiStripRecHit2D>(*this); }
28 #endif
29 
30  int dimension() const override { return 2; }
31  void getKfComponents(KfComponentsHolder& holder) const override { getKfComponents2D(holder); }
32 
33  bool canImproveWithTrack() const override { return true; }
34 
35 private:
36  // double dispatch
37  SiStripRecHit2D* clone_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
38  return cloner(*this, tsos).release();
39  }
40 #ifndef __GCCXML__
41  RecHitPointer cloneSH_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
42  return cloner.makeShared(*this, tsos);
43  }
44 #endif
45 
46 private:
47 };
48 
49 #endif
SiStripRecHit2D::cluster
ClusterRef cluster() const
Definition: SiStripRecHit2D.h:22
SiStripRecHit2D::clone_
SiStripRecHit2D * clone_(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
Definition: SiStripRecHit2D.h:37
SiStripRecHit2D::SiStripRecHit2D
SiStripRecHit2D()
Definition: SiStripRecHit2D.h:9
GeomDet
Definition: GeomDet.h:27
SiStripRecHit2D::cloneSH_
RecHitPointer cloneSH_(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
Definition: SiStripRecHit2D.h:41
pos
Definition: PixelAliasList.h:18
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
TrackingRecHit::RecHitPointer
std::shared_ptr< TrackingRecHit const > RecHitPointer
Definition: TrackingRecHit.h:24
SiStripRecHit2D::setClusterRef
void setClusterRef(ClusterRef const &ref)
Definition: SiStripRecHit2D.h:23
OmniClusterRef
Definition: OmniClusterRef.h:12
edm::Ref
Definition: AssociativeIterator.h:58
DetId
Definition: DetId.h:17
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
TkCloner
Definition: TkCloner.h:16
SiStripRecHit2D::SiStripRecHit2D
SiStripRecHit2D(const LocalPoint &pos, const LocalError &err, GeomDet const &idet, CluRef const &clus)
Definition: SiStripRecHit2D.h:19
Point3DBase< float, LocalTag >
TrackerSingleRecHit::cluster_strip
ClusterStripRef cluster_strip() const
Definition: TrackerSingleRecHit.h:49
LocalError
Definition: LocalError.h:12
SiStripRecHit2D::getKfComponents
void getKfComponents(KfComponentsHolder &holder) const override
Definition: SiStripRecHit2D.h:31
SiStripRecHit2D::clone
SiStripRecHit2D * clone() const override
Definition: SiStripRecHit2D.h:25
TkCloner.h
TkCloner::makeShared
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:24
submitPVResolutionJobs.err
err
Definition: submitPVResolutionJobs.py:85
KfComponentsHolder
Definition: KfComponentsHolder.h:13
TrackerSingleRecHit::setClusterStripRef
void setClusterStripRef(ClusterStripRef const &ref)
Definition: TrackerSingleRecHit.h:65
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
SiStripRecHit2D::dimension
int dimension() const override
Definition: SiStripRecHit2D.h:30
SiStripRecHit2D::ClusterRef
OmniClusterRef::ClusterStripRef ClusterRef
Definition: SiStripRecHit2D.h:13
TrackerSingleRecHit
Definition: TrackerSingleRecHit.h:11
SiStripRecHit2D::cloneSH
RecHitPointer cloneSH() const override
Definition: SiStripRecHit2D.h:27
BaseTrackerRecHit::getKfComponents2D
void getKfComponents2D(KfComponentsHolder &holder) const
Definition: BaseTrackerRecHit.cc:53
SiStripRecHit2D::~SiStripRecHit2D
~SiStripRecHit2D() override
Definition: SiStripRecHit2D.h:11
TrackerSingleRecHit.h
SiStripRecHit2D::canImproveWithTrack
bool canImproveWithTrack() const override
Definition: SiStripRecHit2D.h:33
SiStripRecHit2D::SiStripRecHit2D
SiStripRecHit2D(const DetId &id, OmniClusterRef const &clus)
Definition: SiStripRecHit2D.h:16