#include <TOBRod.h>
Public Types | |
typedef PeriodicBinFinderInZ< float > | BinFinderType |
Public Types inherited from GeometricSearchDet | |
typedef std::pair< const GeomDet *, TrajectoryStateOnSurface > | DetWithState |
typedef BoundSurface::PositionType | PositionType |
typedef BoundSurface::RotationType | RotationType |
typedef TrajectoryStateOnSurface | TrajectoryState |
Public Member Functions | |
const std::vector< const GeomDet * > & | basicComponents () const override |
std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const override __attribute__((cold)) |
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)) |
TOBRod (std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets) __attribute__((cold)) | |
~TOBRod () override __attribute__((cold)) | |
Public Member Functions inherited from DetRod | |
virtual const Plane & | specificSurface () const final |
Return the rod surface as a Plane. More... | |
const BoundSurface & | surface () const final |
The surface of the GeometricSearchDet. More... | |
~DetRod () 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 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)) |
float | computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) 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 * > & | subRod (int ind) const |
Private Attributes | |
std::vector< const GeomDet * > | theDets |
BinFinderType | theInnerBinFinder |
std::vector< const GeomDet * > | theInnerDets |
ReferenceCountingPointer< Plane > | theInnerPlane |
BinFinderType | theOuterBinFinder |
std::vector< const GeomDet * > | theOuterDets |
ReferenceCountingPointer< Plane > | theOuterPlane |
Additional Inherited Members | |
Protected Member Functions inherited from DetRod | |
void | setPlane (Plane *plane) |
Set the rod's plane. More... | |
Protected Attributes inherited from GeometricSearchDet | |
bool | haveGroups |
GeomDetCompatibilityChecker | theCompatibilityChecker |
typedef PeriodicBinFinderInZ<float> TOBRod::BinFinderType |
TOBRod::TOBRod | ( | std::vector< const GeomDet * > & | innerDets, |
std::vector< const GeomDet * > & | outerDets | ||
) |
Definition at line 29 of file TOBRod.cc.
References mps_fire::i, LogDebug, DetRod::setPlane(), theDets, theInnerBinFinder, theInnerDets, theInnerPlane, theOuterBinFinder, theOuterDets, and theOuterPlane.
|
private |
Definition at line 177 of file TOBRod.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), mps_fire::result, SubLayerCrossing::subLayerIndex(), and subRod().
Referenced by basicComponents(), and groupedCompatibleDetsV().
|
inlineoverridevirtual |
Implements GeometricSearchDet.
Definition at line 26 of file TOBRod.h.
References addClosest(), compatible(), components(), computeCrossings(), computeWindowSize(), groupedCompatibleDetsV(), mps_fire::result, searchNeighbors(), theDets, and svgfig::window().
|
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 87 of file TOBRod.cc.
Referenced by basicComponents().
|
overridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 82 of file TOBRod.cc.
Referenced by basicComponents().
|
private |
Definition at line 138 of file TOBRod.cc.
References funct::abs(), PeriodicBinFinderInZ< T >::binIndex(), PeriodicBinFinderInZ< T >::binPosition(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), rho, theInnerBinFinder, theInnerPlane, theOuterBinFinder, theOuterPlane, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by basicComponents(), and groupedCompatibleDetsV().
|
private |
Definition at line 190 of file TOBRod.cc.
References funct::abs(), Surface::bounds(), constexpr, Bounds::length(), MeasurementEstimator::maximalLocalDisplacement(), muon::overlap(), GeomDet::surface(), GloballyPositioned< T >::toLocal(), svgfig::window(), y, and PV3DBase< T, PVType, FrameType >::y().
Referenced by basicComponents(), and groupedCompatibleDetsV().
|
overridevirtual |
Reimplemented from GeometricSearchDet.
Definition at line 98 of file TOBRod.cc.
References addClosest(), LayerCrossingSide::barrelSide(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), computeWindowSize(), SubLayerCrossings::isValid(), eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), searchNeighbors(), and svgfig::window().
Referenced by basicComponents().
|
private |
Definition at line 228 of file TOBRod.cc.
References PVValHelper::add(), SubLayerCrossing::closestDetIndex(), muon::overlap(), SubLayerCrossing::position(), SubLayerCrossing::subLayerIndex(), subRod(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by basicComponents(), and groupedCompatibleDetsV().
|
inlineprivate |
Definition at line 67 of file TOBRod.h.
References theInnerDets, and theOuterDets.
Referenced by addClosest(), and searchNeighbors().
|
private |
Definition at line 73 of file TOBRod.h.
Referenced by basicComponents(), and TOBRod().
|
private |
Definition at line 80 of file TOBRod.h.
Referenced by computeCrossings(), and TOBRod().
|
private |
|
private |
Definition at line 77 of file TOBRod.h.
Referenced by computeCrossings(), and TOBRod().
|
private |
Definition at line 81 of file TOBRod.h.
Referenced by computeCrossings(), and TOBRod().
|
private |
|
private |
Definition at line 78 of file TOBRod.h.
Referenced by computeCrossings(), and TOBRod().