#include <GeomDetCompatibilityChecker.h>
Static Public Member Functions | |
static std::pair< bool, TrajectoryStateOnSurface > | isCompatible (const GeomDet *theDet, const TrajectoryStateOnSurface &ts, const Propagator &prop, const MeasurementEstimator &est) |
helper class which checks if a GeomDet is geometrically compatible with a TrajectoryState
Definition at line 13 of file GeomDetCompatibilityChecker.h.
|
static |
tests the geometrical compatibility of the GeomDet with the predicted state. The TrajectoryState argument is propagated to the GeomDet surface using the Propagator argument. The resulting TrajectoryStateOnSurface is tested for compatibility with the surface bounds. If compatible, a std::pair< true, propagatedState> is returned. If the propagation fails, or if the state is not compatible, a std::pair< false, propagatedState> is returned.
Definition at line 53 of file GeomDetCompatibilityChecker.cc.
References funct::abs(), PV3DBase< T, PVType, FrameType >::basicVector(), MeasurementEstimator::estimate(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalParameters(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), LIKELY, LogDebug, SiStripPI::max, MeasurementEstimator::maxSagitta(), MeasurementEstimator::minTolerance2(), eostools::move(), callgraph::path, perp2(), Propagator::propagate(), Propagator::propagationDirection(), GeomDet::specificSurface(), GlobalTrajectoryParameters::transverseCurvature(), and UNLIKELY.
Referenced by ForwardDetRingOneZ::add(), CompatibleDetToGroupAdder::add(), DetRodOneR::add(), SimpleTECWedge::compatible(), PixelRod::compatibleDetsV(), and TrajectorySegmentBuilder::redoMeasurements().