1 #ifndef TkGluedMeasurementDet_H
2 #define TkGluedMeasurementDet_H
25 virtual std::vector<TrajectoryMeasurement>
48 template<
typename Collector>
51 template<
typename Collector>
89 std::vector<TrajectoryMeasurement> &
target) ;
112 template<
typename HitCollector>
bool testStrips(const TrajectoryStateOnSurface &tsos, const BoundPlane &gluedPlane, const TkStripMeasurementDet &mdet) const
Test the strips on one of the two dets with projection.
const TkStripMeasurementDet * theMonoDet
void addProjected(const TransientTrackingRecHit &hit, const GlobalVector &gdir)
const GluedGeomDet * theGeomDet
virtual SiStripMatchedRecHit2D * clone() const
void checkProjection(const TrajectoryStateOnSurface &ts, const RecHitContainer &monoHits, const RecHitContainer &stereoHits) const
void collectRecHits(const TrajectoryStateOnSurface &, Collector &coll) const
std::vector< TrajectoryMeasurement > & target_
TransientTrackingRecHit::ConstRecHitContainer RecHitContainer
virtual const GeomDet & geomDet() const
SiStripRecHitMatcher::Collector & collector()
const TkStripMeasurementDet * monoDet() const
void addProjected(const TransientTrackingRecHit &hit, const GlobalVector &gdir)
bool hasBadComponents(const TrajectoryStateOnSurface &tsos) const
return TRUE if at least one of the mono and stereo components has badChannels
bool hasNewMatchedHits() const
TkGluedMeasurementDet(const GluedGeomDet *gdet, const SiStripRecHitMatcher *matcher, const MeasurementDet *monoDet, const MeasurementDet *stereoDet)
RecHitContainer & target_
const GluedGeomDet & specificGeomDet() const
TransientTrackingRecHit::RecHitPointer RecHitPointer
void checkHitProjection(const TransientTrackingRecHit &hit, const TrajectoryStateOnSurface &ts, const GeomDet &det) const
HitCollectorForFastMeasurements(const GeomDet *geomDet, const SiStripRecHitMatcher *matcher, const TrajectoryStateOnSurface &stateOnThisDet, const MeasurementEstimator &est, std::vector< TrajectoryMeasurement > &target)
void doubleMatch(const TrajectoryStateOnSurface &ts, Collector &collector) const
const SiStripRecHitMatcher * matcher_
void add(SiStripMatchedRecHit2D const &hit)
virtual RecHitContainer recHits(const TrajectoryStateOnSurface &) const
const SiStripRecHitMatcher * theMatcher
SiStripRecHitMatcher::Collector & collector()
SiStripRecHitMatcher::Collector Collector
bool hasNewMatchedHits() const
virtual std::vector< TrajectoryMeasurement > fastMeasurements(const TrajectoryStateOnSurface &stateOnThisDet, const TrajectoryStateOnSurface &startingState, const Propagator &, const MeasurementEstimator &) const
const TrajectoryStateOnSurface & stateOnThisDet_
static RecHitPointer build(const GeomDet *geom, const TrackingRecHit *rh, const SiStripRecHitMatcher *matcher, const StripClusterParameterEstimator *cpe=0, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
const TkStripMeasurementDet * theStereoDet
HitCollectorForRecHits(const GeomDet *geomDet, const SiStripRecHitMatcher *matcher, RecHitContainer &target)
SiStripRecHitMatcher::Collector Collector
void clearNewMatchedHitsFlag()
const SiStripRecHitMatcher * matcher_
void add(SiStripMatchedRecHit2D const &hit)
bool isActive() const
Is this module active in reconstruction? It must be both 'setActiveThisEvent' and 'setActive'...
RecHitContainer projectOnGluedDet(const RecHitContainer &hits, const TrajectoryStateOnSurface &ts) const
boost::function< void(SiStripMatchedRecHit2D const &)> Collector
const TkStripMeasurementDet * stereoDet() const
bool isActive() const
return TRUE if both mono and stereo components are active
SiStripRecHitMatcher::Collector collector_
const MeasurementEstimator & est_
void clearNewMatchedHitsFlag()
SiStripRecHitMatcher::Collector collector_