CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
TkGluedMeasurementDet::HitCollectorForSimpleHits Class Reference

Public Types

typedef SiStripRecHitMatcher::Collector Collector
 

Public Member Functions

void add (SiStripMatchedRecHit2D const &hit)
 
void addProjected (const TrackingRecHit &hit, const GlobalVector &gdir)
 
void clearNewMatchedHitsFlag ()
 
SiStripRecHitMatcher::Collectorcollector ()
 
const MeasurementEstimatorestimator ()
 
bool filter () const
 
bool hasNewMatchedHits () const
 
 HitCollectorForSimpleHits (const GeomDet *geomDet, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe, const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, SimpleHitContainer &target)
 
size_t size () const
 

Private Attributes

SiStripRecHitMatcher::Collector collector_
 
const StripClusterParameterEstimatorcpe_
 
const MeasurementEstimatorest_
 
const GeomDetgeomDet_
 
bool hasNewHits_
 
const SiStripRecHitMatchermatcher_
 
const TrajectoryStateOnSurfacestateOnThisDet_
 
SimpleHitContainertarget_
 

Detailed Description

Definition at line 105 of file TkGluedMeasurementDet.h.

Member Typedef Documentation

◆ Collector

Definition at line 107 of file TkGluedMeasurementDet.h.

Constructor & Destructor Documentation

◆ HitCollectorForSimpleHits()

TkGluedMeasurementDet::HitCollectorForSimpleHits::HitCollectorForSimpleHits ( const GeomDet geomDet,
const SiStripRecHitMatcher matcher,
const StripClusterParameterEstimator cpe,
const TrajectoryStateOnSurface stateOnThisDet,
const MeasurementEstimator est,
SimpleHitContainer target 
)

Definition at line 433 of file TkGluedMeasurementDet.cc.

440  : geomDet_(geomDet),
441  matcher_(matcher),
442  cpe_(cpe),
443  stateOnThisDet_(stateOnThisDet),
444  est_(est),
445  target_(target),
446  collector_(std::bind(&HitCollectorForSimpleHits::add, std::ref(*this), std::placeholders::_1)),
447  hasNewHits_(false) {}
const StripClusterParameterEstimator * cpe_
void add(SiStripMatchedRecHit2D const &hit)
virtual const GeomDet & geomDet() const

Member Function Documentation

◆ add()

void TkGluedMeasurementDet::HitCollectorForSimpleHits::add ( SiStripMatchedRecHit2D const &  hit)

Definition at line 456 of file TkGluedMeasurementDet.cc.

References TrackingRecHit::geographicalId(), SiStripMatchedRecHit2D::monoCluster(), and SiStripMatchedRecHit2D::stereoCluster().

Referenced by counter.Counter::register().

456  {
457  hasNewHits_ = true; //FIXME: see also what happens moving this within testAndPush // consistent with previous code
459  ClusterFilterPayload(hit2d.geographicalId(), &hit2d.monoCluster(), &hit2d.stereoCluster())))
460  return;
461  hasNewHits_ = true; //FIXME: see also what happens moving this within testAndPush
462 
463  std::pair<bool, double> diffEst = est_.estimate(stateOnThisDet_, hit2d);
464  if (diffEst.first)
465  target_.emplace_back(new SiStripMatchedRecHit2D(hit2d)); // fix to use move (really needed???)
466 }
virtual bool preFilter(const TrajectoryStateOnSurface &, OpaquePayload const &) const
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0

◆ addProjected()

void TkGluedMeasurementDet::HitCollectorForSimpleHits::addProjected ( const TrackingRecHit hit,
const GlobalVector gdir 
)

Definition at line 468 of file TkGluedMeasurementDet.cc.

References runTheMatrix::const.

469  {
470  auto const& thit = reinterpret_cast<TrackerSingleRecHit const&>(hit);
471  if (!est_.preFilter(stateOnThisDet_, ClusterFilterPayload(hit.geographicalId(), &thit.stripCluster())))
472  return;
473 
474  // here we're ok with some extra casual new's and delete's
475  auto&& vl = projectedPos(hit, *geomDet_, gdir, cpe_);
476  std::unique_ptr<ProjectedSiStripRecHit2D> phit(
477  new ProjectedSiStripRecHit2D(vl.first, vl.second, *geomDet_, static_cast<SiStripRecHit2D const&>(hit)));
478  std::pair<bool, double> diffEst = est_.estimate(stateOnThisDet_, *phit);
479  if (diffEst.first) {
480  target_.emplace_back(phit.release());
481  }
482 }
const StripClusterParameterEstimator * cpe_
virtual bool preFilter(const TrajectoryStateOnSurface &, OpaquePayload const &) const
virtual HitReturnType estimate(const TrajectoryStateOnSurface &ts, const TrackingRecHit &hit) const =0

◆ clearNewMatchedHitsFlag()

void TkGluedMeasurementDet::HitCollectorForSimpleHits::clearNewMatchedHitsFlag ( )
inline

◆ collector()

SiStripRecHitMatcher::Collector& TkGluedMeasurementDet::HitCollectorForSimpleHits::collector ( void  )
inline

Definition at line 116 of file TkGluedMeasurementDet.h.

116 { return collector_; }

◆ estimator()

const MeasurementEstimator& TkGluedMeasurementDet::HitCollectorForSimpleHits::estimator ( void  )
inline

Definition at line 123 of file TkGluedMeasurementDet.h.

123 { return est_; }

◆ filter()

bool TkGluedMeasurementDet::HitCollectorForSimpleHits::filter ( ) const
inline

Definition at line 119 of file TkGluedMeasurementDet.h.

119  {
120  return matcher_->preFilter();
121  } // if true mono-colection will been filter using the estimator before matching

◆ hasNewMatchedHits()

bool TkGluedMeasurementDet::HitCollectorForSimpleHits::hasNewMatchedHits ( ) const
inline

◆ size()

size_t TkGluedMeasurementDet::HitCollectorForSimpleHits::size ( void  ) const
inline

Member Data Documentation

◆ collector_

SiStripRecHitMatcher::Collector TkGluedMeasurementDet::HitCollectorForSimpleHits::collector_
private

Definition at line 132 of file TkGluedMeasurementDet.h.

◆ cpe_

const StripClusterParameterEstimator* TkGluedMeasurementDet::HitCollectorForSimpleHits::cpe_
private

Definition at line 128 of file TkGluedMeasurementDet.h.

◆ est_

const MeasurementEstimator& TkGluedMeasurementDet::HitCollectorForSimpleHits::est_
private

Definition at line 130 of file TkGluedMeasurementDet.h.

◆ geomDet_

const GeomDet* TkGluedMeasurementDet::HitCollectorForSimpleHits::geomDet_
private

Definition at line 126 of file TkGluedMeasurementDet.h.

◆ hasNewHits_

bool TkGluedMeasurementDet::HitCollectorForSimpleHits::hasNewHits_
private

Definition at line 133 of file TkGluedMeasurementDet.h.

◆ matcher_

const SiStripRecHitMatcher* TkGluedMeasurementDet::HitCollectorForSimpleHits::matcher_
private

Definition at line 127 of file TkGluedMeasurementDet.h.

◆ stateOnThisDet_

const TrajectoryStateOnSurface& TkGluedMeasurementDet::HitCollectorForSimpleHits::stateOnThisDet_
private

Definition at line 129 of file TkGluedMeasurementDet.h.

◆ target_

SimpleHitContainer& TkGluedMeasurementDet::HitCollectorForSimpleHits::target_
private

Definition at line 131 of file TkGluedMeasurementDet.h.