#include <Phase2EndcapSingleRing.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 |
Returns basic components, if any. More... | |
void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override |
Phase2EndcapSingleRing (std::vector< const GeomDet *> &allDets) | |
virtual const BoundDisk & | specificSurface () const |
const BoundSurface & | surface () const override |
The surface of the GeometricSearchDet. More... | |
~Phase2EndcapSingleRing () 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 |
SubLayerCrossing | computeCrossing (const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const |
void | searchNeighbors (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubLayerCrossing &crossing, float window, std::vector< DetGroup > &result, bool checkClosest) const |
const std::vector< const GeomDet * > & | subLayer (int ind) const |
Private Attributes | |
BinFinderType | theBinFinder |
std::vector< const GeomDet * > | theDets |
ReferenceCountingPointer< BoundDisk > | theDisk |
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 |
A concrete implementation for Phase2 SubDisk rings
Definition at line 13 of file Phase2EndcapSingleRing.h.
|
private |
Definition at line 63 of file Phase2EndcapSingleRing.h.
Phase2EndcapSingleRing::Phase2EndcapSingleRing | ( | std::vector< const GeomDet *> & | allDets | ) |
Definition at line 24 of file Phase2EndcapSingleRing.cc.
References ALPAKA_ACCELERATOR_NAMESPACE::vertexFinder::it, LogDebug, theBinFinder, theDets, and theDisk.
|
overridedefault |
|
private |
Definition at line 100 of file Phase2EndcapSingleRing.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), mps_fire::result, subLayer(), and SubLayerCrossing::subLayerIndex().
Referenced by groupedCompatibleDetsV().
|
inlineoverridevirtual |
Implements GeometricSearchDet.
Definition at line 21 of file Phase2EndcapSingleRing.h.
References theDets.
|
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 47 of file Phase2EndcapSingleRing.cc.
|
overridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 43 of file Phase2EndcapSingleRing.cc.
|
private |
Definition at line 80 of file Phase2EndcapSingleRing.cc.
References PeriodicBinFinderInPhi< T >::binIndex(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), rho, theBinFinder, theDisk, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by groupedCompatibleDetsV().
|
overridevirtual |
Reimplemented from GeometricSearchDet.
Definition at line 54 of file Phase2EndcapSingleRing.cc.
References addClosest(), DetGroupMerger::addSameLevel(), computeCrossing(), tkDetUtil::computeWindowSize(), SubLayerCrossing::isValid(), eostools::move(), trackingPOGFilters_cfi::phiWindow, Propagator::propagationDirection(), mps_fire::result, and searchNeighbors().
|
private |
Definition at line 114 of file Phase2EndcapSingleRing.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(), theBinFinder, and svgfig::window().
Referenced by groupedCompatibleDetsV().
|
inlinevirtual |
Definition at line 35 of file Phase2EndcapSingleRing.h.
References theDisk.
|
inlineprivate |
Definition at line 56 of file Phase2EndcapSingleRing.h.
References theDets.
Referenced by addClosest(), and searchNeighbors().
|
inlineoverridevirtual |
The surface of the GeometricSearchDet.
Implements GeometricSearchDet.
Definition at line 19 of file Phase2EndcapSingleRing.h.
References theDisk.
|
private |
Definition at line 65 of file Phase2EndcapSingleRing.h.
Referenced by computeCrossing(), Phase2EndcapSingleRing(), and searchNeighbors().
|
private |
Definition at line 59 of file Phase2EndcapSingleRing.h.
Referenced by basicComponents(), Phase2EndcapSingleRing(), and subLayer().
|
private |
Definition at line 61 of file Phase2EndcapSingleRing.h.
Referenced by computeCrossing(), Phase2EndcapSingleRing(), specificSurface(), and surface().