CMS 3D CMS Logo

ProjectedSiStripRecHit2D.h
Go to the documentation of this file.
1 #ifndef ProjectedSiStripRecHit2D_H
2 #define ProjectedSiStripRecHit2D_H
3 
5 
6 // #include<iostream>
7 
9 public:
10  inline static bool isMono(GeomDet const& gdet, GeomDet const& sdet) {
11  return (sdet.geographicalId() - gdet.geographicalId()) == 2;
12  }
13 
15 
17 
19  const LocalError& err,
20  GeomDet const& idet,
23  err,
24  idet,
28  // std::cout << getRTTI() << ' ' << originalHit.rawId() << ' ' << idet.geographicalId().rawId() << ' ' << originalId() << std::endl;
30  }
31 
32  template <typename CluRef>
34  const LocalPoint& pos, const LocalError& err, GeomDet const& idet, GeomDet const& originalDet, CluRef const& clus)
39  }
40 
41  void setDet(const GeomDet& idet) override;
42 
43  bool canImproveWithTrack() const override { return true; }
44 
45  ProjectedSiStripRecHit2D* clone() const override { return new ProjectedSiStripRecHit2D(*this); }
46 
47  int dimension() const override { return 2; }
48  void getKfComponents(KfComponentsHolder& holder) const override { getKfComponents2D(holder); }
49 
51  ClusterRef cluster() const { return cluster_strip(); }
52  const GeomDetUnit* originalDet() const { return theOriginalDet; }
53  unsigned int originalId() const { return trackerHitRTTI::projId(*this); }
54 
55  // not useful only for backward compatibility
57 
58  std::vector<const TrackingRecHit*> recHits() const override {
59  std::vector<const TrackingRecHit*> rechits;
60  return rechits;
61  }
62  std::vector<TrackingRecHit*> recHits() override {
63  std::vector<TrackingRecHit*> rechits;
64  return rechits;
65  }
66 
67 private:
68  // double dispatch
69  ProjectedSiStripRecHit2D* clone_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
70  return cloner(*this, tsos).release();
71  }
72 #ifndef __GCCXML__
73  ConstRecHitPointer cloneSH_(TkCloner const& cloner, TrajectoryStateOnSurface const& tsos) const override {
74  return cloner.makeShared(*this, tsos);
75  }
76 #endif
77 
78 private:
80 };
81 
82 #endif
ProjectedSiStripRecHit2D::ProjectedSiStripRecHit2D
ProjectedSiStripRecHit2D()
Definition: ProjectedSiStripRecHit2D.h:16
TrackingRecHit::rawId
id_type rawId() const
Definition: TrackingRecHit.h:119
GeomDet
Definition: GeomDet.h:27
ProjectedSiStripRecHit2D::ProjectedSiStripRecHit2D
ProjectedSiStripRecHit2D(const LocalPoint &pos, const LocalError &err, GeomDet const &idet, SiStripRecHit2D const &originalHit)
Definition: ProjectedSiStripRecHit2D.h:18
ProjectedSiStripRecHit2D::ClusterRef
OmniClusterRef::ClusterStripRef ClusterRef
Definition: ProjectedSiStripRecHit2D.h:50
ProjectedSiStripRecHit2D::setDet
void setDet(const GeomDet &idet) override
Definition: ProjectedSiStripRecHit2D.cc:6
TrackingRecHit::det
const GeomDet * det() const
Definition: TrackingRecHit.h:122
pos
Definition: PixelAliasList.h:18
trackerHitRTTI::projStereo
Definition: trackerHitRTTI.h:11
ProjectedSiStripRecHit2D::originalDet
const GeomDetUnit * originalDet() const
Definition: ProjectedSiStripRecHit2D.h:52
cms::cuda::assert
assert(be >=bs)
SiStripRecHit2D
Definition: SiStripRecHit2D.h:7
ProjectedSiStripRecHit2D::dimension
int dimension() const override
Definition: ProjectedSiStripRecHit2D.h:47
trackerHitRTTI::projId
unsigned int projId(TrackingRecHit const &hit)
Definition: trackerHitRTTI.h:39
TrackerSingleRecHit::omniCluster
OmniClusterRef const & omniCluster() const
Definition: TrackerSingleRecHit.h:42
ProjectedSiStripRecHit2D
Definition: ProjectedSiStripRecHit2D.h:8
edm::Ref
Definition: AssociativeIterator.h:58
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
ProjectedSiStripRecHit2D::originalId
unsigned int originalId() const
Definition: ProjectedSiStripRecHit2D.h:53
ProjectedSiStripRecHit2D::isMono
static bool isMono(GeomDet const &gdet, GeomDet const &sdet)
Definition: ProjectedSiStripRecHit2D.h:10
TkCloner
Definition: TkCloner.h:15
ProjectedSiStripRecHit2D::canImproveWithTrack
bool canImproveWithTrack() const override
Definition: ProjectedSiStripRecHit2D.h:43
trackerHitRTTI::projMono
Definition: trackerHitRTTI.h:12
ProjectedSiStripRecHit2D::ProjectedSiStripRecHit2D
ProjectedSiStripRecHit2D(const LocalPoint &pos, const LocalError &err, GeomDet const &idet, GeomDet const &originalDet, CluRef const &clus)
Definition: ProjectedSiStripRecHit2D.h:33
ProjectedSiStripRecHit2D::originalHit
SiStripRecHit2D originalHit() const
Definition: ProjectedSiStripRecHit2D.h:56
ProjectedSiStripRecHit2D::recHits
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
Definition: ProjectedSiStripRecHit2D.h:58
ProjectedSiStripRecHit2D::clone
ProjectedSiStripRecHit2D * clone() const override
Definition: ProjectedSiStripRecHit2D.h:45
Point3DBase< float, LocalTag >
TrackerSingleRecHit::cluster_strip
ClusterStripRef cluster_strip() const
Definition: TrackerSingleRecHit.h:49
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
ProjectedSiStripRecHit2D::cloneSH_
ConstRecHitPointer cloneSH_(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
Definition: ProjectedSiStripRecHit2D.h:73
runTheMatrix.err
err
Definition: runTheMatrix.py:288
LocalError
Definition: LocalError.h:12
ProjectedSiStripRecHit2D::recHits
std::vector< TrackingRecHit * > recHits() override
Non-const access to component RecHits (if any)
Definition: ProjectedSiStripRecHit2D.h:62
TrackInfoProducer_cfi.rechits
rechits
Definition: TrackInfoProducer_cfi.py:9
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
TkCloner::makeShared
TrackingRecHit::ConstRecHitPointer makeShared(TrackingRecHit::ConstRecHitPointer const &hit, TrajectoryStateOnSurface const &tsos) const
Definition: TkCloner.h:23
KfComponentsHolder
Definition: KfComponentsHolder.h:13
ProjectedSiStripRecHit2D::Base
TrackerSingleRecHit Base
Definition: ProjectedSiStripRecHit2D.h:14
TrackerSingleRecHit
Definition: TrackerSingleRecHit.h:11
BaseTrackerRecHit::getKfComponents2D
void getKfComponents2D(KfComponentsHolder &holder) const
Definition: BaseTrackerRecHit.cc:54
ProjectedSiStripRecHit2D::getKfComponents
void getKfComponents(KfComponentsHolder &holder) const override
Definition: ProjectedSiStripRecHit2D.h:48
trackerHitRTTI
Definition: trackerHitRTTI.h:6
ProjectedSiStripRecHit2D::cluster
ClusterRef cluster() const
Definition: ProjectedSiStripRecHit2D.h:51
TrackerSingleRecHit::omniClusterRef
OmniClusterRef const & omniClusterRef() const
Definition: TrackerSingleRecHit.h:41
SiStripRecHit2D.h
ProjectedSiStripRecHit2D::theOriginalDet
const GeomDet * theOriginalDet
Definition: ProjectedSiStripRecHit2D.h:79
ProjectedSiStripRecHit2D::clone_
ProjectedSiStripRecHit2D * clone_(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
Definition: ProjectedSiStripRecHit2D.h:69