#include <Phase2OTECRing.h>
Public Member Functions | |
virtual const std::vector < const GeomDet * > & | basicComponents () const |
virtual std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &, const Propagator &, const MeasurementEstimator &) const |
virtual const std::vector < const GeometricSearchDet * > & | components () const __attribute__((cold)) |
Returns basic components, if any. More... | |
void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const __attribute__((hot)) |
Phase2OTECRing (std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets, std::vector< const GeomDet * > &innerDetBrothers, std::vector< const GeomDet * > &outerDetBrothers) | |
virtual const BoundDisk & | specificSurface () const |
virtual const BoundSurface & | surface () const |
The surface of the GeometricSearchDet. More... | |
~Phase2OTECRing () | |
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, std::vector< DetGroup > &brotherresult) 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, std::vector< DetGroup > &brotherresult, bool checkClosest) const __attribute__((hot)) |
const std::vector< const GeomDet * > & | subLayer (int ind) const |
const std::vector< const GeomDet * > & | subLayerBrothers (int ind) const |
Private Attributes | |
BinFinderType | theBackBinFinder |
std::vector< const GeomDet * > | theBackDetBrothers |
std::vector< const GeomDet * > | theBackDets |
ReferenceCountingPointer < BoundDisk > | theBackDisk |
std::vector< const GeomDet * > | theDets |
ReferenceCountingPointer < BoundDisk > | theDisk |
BinFinderType | theFrontBinFinder |
std::vector< const GeomDet * > | theFrontDetBrothers |
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 |
A concrete implementation for TID rings
Definition at line 14 of file Phase2OTECRing.h.
|
private |
Definition at line 85 of file Phase2OTECRing.h.
Phase2OTECRing::Phase2OTECRing | ( | std::vector< const GeomDet * > & | innerDets, |
std::vector< const GeomDet * > & | outerDets, | ||
std::vector< const GeomDet * > & | innerDetBrothers, | ||
std::vector< const GeomDet * > & | outerDetBrothers | ||
) |
Definition at line 25 of file Phase2OTECRing.cc.
References LogDebug, theBackBinFinder, theBackDetBrothers, theBackDets, theBackDisk, theDets, theDisk, theFrontBinFinder, theFrontDetBrothers, theFrontDets, and theFrontDisk.
Phase2OTECRing::~Phase2OTECRing | ( | ) |
Definition at line 77 of file Phase2OTECRing.cc.
|
private |
Definition at line 178 of file Phase2OTECRing.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), subLayer(), subLayerBrothers(), and SubLayerCrossing::subLayerIndex().
Referenced by groupedCompatibleDetsV().
|
inlinevirtual |
|
virtual |
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 89 of file Phase2OTECRing.cc.
|
virtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 82 of file Phase2OTECRing.cc.
|
private |
Definition at line 138 of file Phase2OTECRing.cc.
References funct::abs(), PeriodicBinFinderInPhi< T >::binIndex(), SiPixelRawToDigiRegional_cfi::deltaPhi, TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), rho, theBackBinFinder, theBackDets, theBackDisk, theFrontBinFinder, theFrontDets, theFrontDisk, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by groupedCompatibleDetsV().
|
virtual |
Reimplemented from GeometricSearchDet.
Definition at line 98 of file Phase2OTECRing.cc.
References addClosest(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), tkDetUtil::computeWindowSize(), LayerCrossingSide::endcapSide(), SubLayerCrossings::isValid(), eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), and searchNeighbors().
Referenced by Phase2OTECRingedLayer::groupedCompatibleDetsV().
|
private |
Definition at line 197 of file Phase2OTECRing.cc.
References Clusterizer1DCommons::add(), PV3DBase< T, PVType, FrameType >::barePhi(), PeriodicBinFinderInPhi< T >::binIndex(), SubLayerCrossing::closestDetIndex(), tkDetUtil::overlapInPhi(), Geom::phiLess(), SubLayerCrossing::position(), subLayer(), subLayerBrothers(), SubLayerCrossing::subLayerIndex(), theBackBinFinder, and theFrontBinFinder.
Referenced by groupedCompatibleDetsV().
|
inlinevirtual |
|
inlineprivate |
Definition at line 65 of file Phase2OTECRing.h.
References theBackDets, and theFrontDets.
Referenced by addClosest(), and searchNeighbors().
|
inlineprivate |
Definition at line 69 of file Phase2OTECRing.h.
References theBackDetBrothers, and theFrontDetBrothers.
Referenced by addClosest(), and searchNeighbors().
|
inlinevirtual |
The surface of the GeometricSearchDet.
Implements GeometricSearchDet.
Definition at line 23 of file Phase2OTECRing.h.
References theDisk.
Referenced by Phase2OTECRingedLayer::ringIndicesByCrossingProximity().
|
private |
Definition at line 88 of file Phase2OTECRing.h.
Referenced by computeCrossings(), Phase2OTECRing(), and searchNeighbors().
|
private |
Definition at line 79 of file Phase2OTECRing.h.
Referenced by Phase2OTECRing(), and subLayerBrothers().
|
private |
Definition at line 77 of file Phase2OTECRing.h.
Referenced by computeCrossings(), Phase2OTECRing(), and subLayer().
|
private |
Definition at line 83 of file Phase2OTECRing.h.
Referenced by computeCrossings(), and Phase2OTECRing().
|
private |
Definition at line 75 of file Phase2OTECRing.h.
Referenced by basicComponents(), and Phase2OTECRing().
|
private |
Definition at line 81 of file Phase2OTECRing.h.
Referenced by Phase2OTECRing(), specificSurface(), and surface().
|
private |
Definition at line 87 of file Phase2OTECRing.h.
Referenced by computeCrossings(), Phase2OTECRing(), and searchNeighbors().
|
private |
Definition at line 78 of file Phase2OTECRing.h.
Referenced by Phase2OTECRing(), and subLayerBrothers().
|
private |
Definition at line 76 of file Phase2OTECRing.h.
Referenced by computeCrossings(), Phase2OTECRing(), and subLayer().
|
private |
Definition at line 82 of file Phase2OTECRing.h.
Referenced by computeCrossings(), and Phase2OTECRing().