#include <TIDRing.h>
Public Member Functions | |
const std::vector< const GeomDet * > & | basicComponents () const override |
std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const override |
const std::vector< const GeometricSearchDet * > & | components () const override __attribute__((cold)) |
Returns basic components, if any. More... | |
void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot)) |
virtual const BoundDisk & | specificSurface () const |
const BoundSurface & | surface () const override |
The surface of the GeometricSearchDet. More... | |
TIDRing (std::vector< const GeomDet *> &innerDets, std::vector< const GeomDet *> &outerDets) | |
~TIDRing () override | |
Public Member Functions inherited from GeometricSearchDet | |
virtual std::vector< DetWithState > | compatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const |
virtual void | compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const |
GeometricSearchDet (bool doHaveGroups) | |
virtual std::vector< DetGroup > | groupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const |
bool | hasGroups () const |
virtual const Surface::PositionType & | position () const |
Returns position of the surface. More... | |
virtual | ~GeometricSearchDet () |
Private Types | |
typedef PeriodicBinFinderInPhi< float > | BinFinderType |
Private Member Functions | |
bool | addClosest (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, std::vector< DetGroup > &result) const __attribute__((hot)) |
SubLayerCrossings | computeCrossings (const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const __attribute__((hot)) |
void | searchNeighbors (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const __attribute__((hot)) |
const std::vector< const GeomDet * > & | subLayer (int ind) const |
Private Attributes | |
BinFinderType | theBackBinFinder |
std::vector< const GeomDet * > | theBackDets |
ReferenceCountingPointer< BoundDisk > | theBackDisk |
std::vector< const GeomDet * > | theDets |
ReferenceCountingPointer< BoundDisk > | theDisk |
BinFinderType | theFrontBinFinder |
std::vector< const GeomDet * > | theFrontDets |
ReferenceCountingPointer< BoundDisk > | theFrontDisk |
Additional Inherited Members | |
Public Types inherited from GeometricSearchDet | |
typedef std::pair< const GeomDet *, TrajectoryStateOnSurface > | DetWithState |
typedef BoundSurface::PositionType | PositionType |
typedef BoundSurface::RotationType | RotationType |
typedef TrajectoryStateOnSurface | TrajectoryState |
Protected Attributes inherited from GeometricSearchDet | |
bool | haveGroups |
GeomDetCompatibilityChecker | theCompatibilityChecker |
|
private |
TIDRing::TIDRing | ( | std::vector< const GeomDet *> & | innerDets, |
std::vector< const GeomDet *> & | outerDets | ||
) |
Definition at line 23 of file TIDRing.cc.
References LogDebug, theBackBinFinder, theBackDets, theBackDisk, theDets, theDisk, theFrontBinFinder, theFrontDets, and theFrontDisk.
|
override |
Definition at line 54 of file TIDRing.cc.
|
private |
Definition at line 131 of file TIDRing.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), mps_fire::result, subLayer(), and SubLayerCrossing::subLayerIndex().
Referenced by groupedCompatibleDetsV().
|
inlineoverridevirtual |
|
overridevirtual |
tests the geometrical compatibility of the Det with the predicted state. The FreeTrajectoryState argument is propagated to the Det 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.
Implements GeometricSearchDet.
Definition at line 60 of file TIDRing.cc.
|
overridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 56 of file TIDRing.cc.
|
private |
Definition at line 94 of file TIDRing.cc.
References funct::abs(), PeriodicBinFinderInPhi< T >::binIndex(), SiPixelRawToDigiRegional_cfi::deltaPhi, TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), HelixForwardPlaneCrossing::pathLength(), HelixForwardPlaneCrossing::position(), rho, theBackBinFinder, theBackDets, theBackDisk, theFrontBinFinder, theFrontDets, theFrontDisk, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by groupedCompatibleDetsV().
|
overridevirtual |
Reimplemented from GeometricSearchDet.
Definition at line 67 of file TIDRing.cc.
References addClosest(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), tkDetUtil::computeWindowSize(), LayerCrossingSide::endcapSide(), SubLayerCrossings::isValid(), eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), trackingPOGFilters_cfi::phiWindow, Propagator::propagationDirection(), mps_fire::result, and searchNeighbors().
Referenced by TIDLayer::groupedCompatibleDetsV().
|
private |
Definition at line 141 of file TIDRing.cc.
References PVValHelper::add(), PV3DBase< T, PVType, FrameType >::barePhi(), PeriodicBinFinderInPhi< T >::binIndex(), SubLayerCrossing::closestDetIndex(), tkDetUtil::overlapInPhi(), Geom::phiLess(), SubLayerCrossing::position(), mps_fire::result, subLayer(), SubLayerCrossing::subLayerIndex(), theBackBinFinder, theFrontBinFinder, and svgfig::window().
Referenced by groupedCompatibleDetsV().
|
inlinevirtual |
|
inlineprivate |
Definition at line 57 of file TIDRing.h.
References theBackDets, and theFrontDets.
Referenced by addClosest(), and searchNeighbors().
|
inlineoverridevirtual |
The surface of the GeometricSearchDet.
Implements GeometricSearchDet.
Definition at line 19 of file TIDRing.h.
References theDisk.
Referenced by TIDLayer::ringIndicesByCrossingProximity().
|
private |
Definition at line 71 of file TIDRing.h.
Referenced by computeCrossings(), searchNeighbors(), and TIDRing().
|
private |
Definition at line 62 of file TIDRing.h.
Referenced by computeCrossings(), subLayer(), and TIDRing().
|
private |
Definition at line 66 of file TIDRing.h.
Referenced by computeCrossings(), and TIDRing().
|
private |
Definition at line 60 of file TIDRing.h.
Referenced by basicComponents(), and TIDRing().
|
private |
Definition at line 64 of file TIDRing.h.
Referenced by specificSurface(), surface(), and TIDRing().
|
private |
Definition at line 70 of file TIDRing.h.
Referenced by computeCrossings(), searchNeighbors(), and TIDRing().
|
private |
Definition at line 61 of file TIDRing.h.
Referenced by computeCrossings(), subLayer(), and TIDRing().
|
private |
Definition at line 65 of file TIDRing.h.
Referenced by computeCrossings(), and TIDRing().