#include <Phase2OTBarrelRod.h>
Public Types | |
typedef GenericBinFinderInZ < float, GeomDet > | 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 | |
virtual const std::vector < const GeomDet * > & | basicComponents () const |
virtual std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const __attribute__((cold)) |
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)) |
Phase2OTBarrelRod (std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets, std::vector< const GeomDet * > &innerDetBrothers, std::vector< const GeomDet * > &outerDetBrothers) __attribute__((cold)) | |
~Phase2OTBarrelRod () __attribute__((cold)) | |
Public Member Functions inherited from DetRod | |
virtual const Plane & | specificSurface () const final |
Return the rod surface as a Plane. More... | |
virtual const BoundSurface & | surface () const final |
The surface of the GeometricSearchDet. More... | |
virtual | ~DetRod () |
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, std::vector< DetGroup > &brotherresult) 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, std::vector< DetGroup > &brotherresult, bool checkClosest) const __attribute__((hot)) |
const std::vector< const GeomDet * > & | subRod (int ind) const |
const std::vector< const GeomDet * > & | subRodBrothers (int ind) const |
Private Attributes | |
std::vector< const GeomDet * > | theDets |
BinFinderType | theInnerBinFinder |
std::vector< const GeomDet * > | theInnerDetBrothers |
std::vector< const GeomDet * > | theInnerDets |
ReferenceCountingPointer< Plane > | theInnerPlane |
BinFinderType | theOuterBinFinder |
std::vector< const GeomDet * > | theOuterDetBrothers |
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 |
A concrete implementation for TOB Rod
Definition at line 16 of file Phase2OTBarrelRod.h.
typedef GenericBinFinderInZ<float,GeomDet> Phase2OTBarrelRod::BinFinderType |
Definition at line 18 of file Phase2OTBarrelRod.h.
Phase2OTBarrelRod::Phase2OTBarrelRod | ( | std::vector< const GeomDet * > & | innerDets, |
std::vector< const GeomDet * > & | outerDets, | ||
std::vector< const GeomDet * > & | innerDetBrothers, | ||
std::vector< const GeomDet * > & | outerDetBrothers | ||
) |
Definition at line 30 of file Phase2OTBarrelRod.cc.
References i, LogDebug, DetRod::setPlane(), theDets, theInnerBinFinder, theInnerDetBrothers, theInnerDets, theInnerPlane, theOuterBinFinder, theOuterDetBrothers, theOuterDets, and theOuterPlane.
Phase2OTBarrelRod::~Phase2OTBarrelRod | ( | ) |
Definition at line 97 of file Phase2OTBarrelRod.cc.
|
private |
Definition at line 228 of file Phase2OTBarrelRod.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), mps_fire::result, SubLayerCrossing::subLayerIndex(), subRod(), and subRodBrothers().
Referenced by groupedCompatibleDetsV().
|
inlinevirtual |
Implements GeometricSearchDet.
Definition at line 28 of file Phase2OTBarrelRod.h.
References theDets.
|
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 108 of file Phase2OTBarrelRod.cc.
|
virtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 103 of file Phase2OTBarrelRod.cc.
|
private |
Definition at line 189 of file Phase2OTBarrelRod.cc.
References funct::abs(), GenericBinFinderInZ< T, G >::binIndex(), GenericBinFinderInZ< T, G >::binPosition(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), rho, theInnerBinFinder, theInnerPlane, theOuterBinFinder, theOuterPlane, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by groupedCompatibleDetsV().
|
private |
Definition at line 248 of file Phase2OTBarrelRod.cc.
References MeasurementEstimator::maximalLocalDisplacement(), GeomDet::surface(), and y.
Referenced by groupedCompatibleDetsV().
|
virtual |
Reimplemented from GeometricSearchDet.
Definition at line 119 of file Phase2OTBarrelRod.cc.
References addClosest(), LayerCrossingSide::barrelSide(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), computeWindowSize(), SubLayerCrossings::isValid(), LogTrace, eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), searchNeighbors(), and svgfig::window().
|
private |
Definition at line 288 of file Phase2OTBarrelRod.cc.
References Clusterizer1DCommons::add(), SubLayerCrossing::closestDetIndex(), muon::overlap(), SubLayerCrossing::position(), SubLayerCrossing::subLayerIndex(), subRod(), subRodBrothers(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by groupedCompatibleDetsV().
|
inlineprivate |
Definition at line 70 of file Phase2OTBarrelRod.h.
References theInnerDets, and theOuterDets.
Referenced by addClosest(), and searchNeighbors().
|
inlineprivate |
Definition at line 74 of file Phase2OTBarrelRod.h.
References theInnerDetBrothers, and theOuterDetBrothers.
Referenced by addClosest(), and searchNeighbors().
|
private |
Definition at line 80 of file Phase2OTBarrelRod.h.
Referenced by basicComponents(), and Phase2OTBarrelRod().
|
private |
Definition at line 89 of file Phase2OTBarrelRod.h.
Referenced by computeCrossings(), and Phase2OTBarrelRod().
|
private |
Definition at line 83 of file Phase2OTBarrelRod.h.
Referenced by Phase2OTBarrelRod(), and subRodBrothers().
|
private |
Definition at line 81 of file Phase2OTBarrelRod.h.
Referenced by Phase2OTBarrelRod(), and subRod().
|
private |
Definition at line 86 of file Phase2OTBarrelRod.h.
Referenced by computeCrossings(), and Phase2OTBarrelRod().
|
private |
Definition at line 90 of file Phase2OTBarrelRod.h.
Referenced by computeCrossings(), and Phase2OTBarrelRod().
|
private |
Definition at line 84 of file Phase2OTBarrelRod.h.
Referenced by Phase2OTBarrelRod(), and subRodBrothers().
|
private |
Definition at line 82 of file Phase2OTBarrelRod.h.
Referenced by Phase2OTBarrelRod(), and subRod().
|
private |
Definition at line 87 of file Phase2OTBarrelRod.h.
Referenced by computeCrossings(), and Phase2OTBarrelRod().