CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackerSingleRecHit.h
Go to the documentation of this file.
1 #ifndef TrackerSingleRecHit_H
2 #define TrackerSingleRecHit_H
3 
4 
8 
9 
10 /* a Hit composed by a "single" measurement
11  * it has a reference to a cluster and a local position&error
12  */
14 public:
15 
17 
19 
20 
23 
24  // no position (as in persistent)
26  OmniClusterRef const& clus) :
27  Base(id, trackerHitRTTI::single), cluster_(clus){}
28 
29  template<typename CluRef>
31  GeomDet const & idet,
32  CluRef const& clus) : Base(p,e,idet, trackerHitRTTI::single), cluster_(clus){}
33 
34  // for projected...
35  template<typename CluRef>
37  GeomDet const & idet, trackerHitRTTI::RTTI rt,
38  CluRef const& clus) : Base(p,e,idet, rt), cluster_(clus){}
39 
40 
41  // a single hit is on a detunit
42  const GeomDetUnit* detUnit() const {
43  return static_cast<const GeomDetUnit*>(det());
44  }
45 
46 
47  // used by trackMerger (to be improved)
49 
50  OmniClusterRef const & omniClusterRef() const { return cluster_;}
51  OmniClusterRef const & omniCluster() const { return cluster_;}
52  // for rekeying...
55 
57  return cluster_.cluster_pixel();
58  }
59 
61  return cluster_.cluster_strip();
62  }
63 
64  SiStripCluster const & stripCluster() const {
65  return cluster_.stripCluster();
66  }
67 
68  SiPixelCluster const & pixelCluster() const {
69  return cluster_.pixelCluster();
70  }
71 
72 
73  // void setClusterRef(const & OmniClusterRef ref) { cluster_ =ref;}
76 
77 
78 
79  virtual bool sharesInput( const TrackingRecHit* other, SharedInputType what) const GCC11_FINAL;
80 
81 
82  bool sharesInput(TrackerSingleRecHit const & other) const {
83  return cluster_== other.cluster_;
84  }
85 
86  bool sameCluster( OmniClusterRef const & oh) const {
87  return oh == cluster_;
88  }
89 
90  virtual std::vector<const TrackingRecHit*> recHits() const;
91  virtual std::vector<TrackingRecHit*> recHits();
92 
93 private:
94 
95  // new game
97 
98 };
99 
100 #endif
SharedInputType
definition of equality via shared input
ClusterStripRef cluster_strip() const
TrackerSingleRecHit(const LocalPoint &p, const LocalError &e, GeomDet const &idet, CluRef const &clus)
SiPixelCluster const & pixelCluster() const
void setClusterStripRef(ClusterStripRef const &ref)
#define GCC11_FINAL
OmniClusterRef & omniCluster()
bool sharesInput(TrackerSingleRecHit const &other) const
ClusterPixelRef cluster_pixel() const
SiStripCluster const & stripCluster() const
const GeomDet * det() const
ClusterStripRef cluster_strip() const
TrackerSingleRecHit(DetId id, OmniClusterRef const &clus)
OmniClusterRef const & omniCluster() const
const GeomDetUnit * detUnit() const
Definition: DetId.h:18
OmniClusterRef const & omniClusterRef() const
BaseTrackerRecHit Base
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
virtual OmniClusterRef const & firstClusterRef() const
SiStripCluster const & stripCluster() const
string const
Definition: compareJSON.py:14
bool sameCluster(OmniClusterRef const &oh) const
SiPixelCluster const & pixelCluster() const
Pixel cluster – collection of neighboring pixels above threshold.
ClusterPixelRef cluster_pixel() const
virtual bool sharesInput(const TrackingRecHit *other, SharedInputType what) const
void setClusterPixelRef(ClusterPixelRef const &ref)
OmniClusterRef & omniClusterRef()
OmniClusterRef::ClusterPixelRef ClusterPixelRef
OmniClusterRef::ClusterStripRef ClusterStripRef
TrackerSingleRecHit(const LocalPoint &p, const LocalError &e, GeomDet const &idet, trackerHitRTTI::RTTI rt, CluRef const &clus)