1 #ifndef SiStripMatchedRecHit2D_H
2 #define SiStripMatchedRecHit2D_H
16 const SiStripRecHit2D* rMono,
const SiStripRecHit2D* rStereo):
17 BaseTrackerRecHit(pos, err, idet, trackerHitRTTI::
match), clusterMono_(rMono->omniClusterRef()), clusterStereo_(rStereo->omniClusterRef()){}
20 SiStripRecHit2D
stereoHit()
const {
return SiStripRecHit2D(stereoId(),stereoClusterRef()) ;}
21 SiStripRecHit2D
monoHit()
const {
return SiStripRecHit2D(monoId(),monoClusterRef());}
37 return stereoClusterRef().stripCluster();
40 return monoClusterRef().stripCluster();
44 virtual SiStripMatchedRecHit2D *
clone()
const {
return new SiStripMatchedRecHit2D( *
this);}
46 virtual RecHitPointer
cloneSH()
const {
return std::make_shared<SiStripMatchedRecHit2D>(*this);}
59 virtual std::vector<const TrackingRecHit*>
recHits()
const;
61 virtual std::vector<TrackingRecHit*>
recHits();
67 return cloner(*
this,tsos).release();
71 return cloner.makeShared(*
this,tsos);
81 bool sharesClusters(SiStripMatchedRecHit2D
const & h1, SiStripMatchedRecHit2D
const & h2,
83 bool mono = h1.monoClusterRef()== h2.monoClusterRef();
84 bool stereo = h1.stereoClusterRef()== h2.stereoClusterRef();
SharedInputType
definition of equality via shared input
virtual void getKfComponents(KfComponentsHolder &holder) const
SiStripCluster const & stereoCluster() const
OmniClusterRef clusterStereo_
virtual RecHitPointer cloneSH() const
virtual bool sharesInput(const TrackingRecHit *other, SharedInputType what) const
SiStripRecHit2D stereoHit() const
virtual bool canImproveWithTrack() const
virtual OmniClusterRef const & firstClusterRef() const
OmniClusterRef & stereoClusterRef()
SiStripRecHit2D monoHit() const
OmniClusterRef const & monoClusterRef() const
SiStripMatchedRecHit2D(const LocalPoint &pos, const LocalError &err, GeomDet const &idet, const SiStripRecHit2D *rMono, const SiStripRecHit2D *rStereo)
void getKfComponents2D(KfComponentsHolder &holder) const
virtual std::vector< const TrackingRecHit * > recHits() const =0
Access to component RecHits (if any)
unsigned int stereoId() const
virtual SiStripMatchedRecHit2D * clone(TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const
unsigned int monoId() const
~SiStripMatchedRecHit2D()
virtual SiStripMatchedRecHit2D * clone() const
SiStripCluster const & monoCluster() const
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
GloballyPositioned< float >::LocalPoint LocalPoint
OmniClusterRef & monoClusterRef()
OmniClusterRef const & stereoClusterRef() const
virtual int dimension() const
bool sharesClusters(SiStripMatchedRecHit2D const &h1, SiStripMatchedRecHit2D const &h2, TrackingRecHit::SharedInputType what)
Unlimited (trivial) bounds.