#include <PixelBlade.h>
Public Member Functions | |
virtual const std::vector < const GeomDet * > & | basicComponents () const |
std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const |
virtual const std::vector < const GeometricSearchDet * > & | components () const |
Returns basic components, if any. More... | |
virtual void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const |
PixelBlade (std::vector< const GeomDet * > &frontDets, std::vector< const GeomDet * > &backDets) | |
virtual const BoundDiskSector & | specificSurface () const |
virtual const BoundSurface & | surface () const |
The surface of the GeometricSearchDet. More... | |
~PixelBlade () | |
Public Member Functions inherited from GeometricSearchDetWithGroups | |
void | compatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetWithState > &result) const |
bool | hasGroups () const |
Public Member Functions inherited from GeometricSearchDet | |
virtual std::vector< DetWithState > | compatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const |
GeometricSearchDet () | |
virtual std::vector< DetGroup > | groupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) 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 |
SubLayerCrossings | computeCrossings (const TrajectoryStateOnSurface &tsos, PropagationDirection propDir) const |
float | computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const |
int | findBin (float R, int layer) const |
GlobalPoint | findPosition (int index, int diskSectorIndex) const |
bool | overlap (const GlobalPoint &gpos, const GeomDet &det, float phiWin) 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 * > & | subBlade (int ind) const |
Private Attributes | |
std::vector< const GeomDet * > | theBackDets |
ReferenceCountingPointer < BoundDiskSector > | theBackDiskSector |
std::vector< const GeomDet * > | theDets |
ReferenceCountingPointer < BoundDiskSector > | theDiskSector |
std::vector< const GeomDet * > | theFrontDets |
ReferenceCountingPointer < BoundDiskSector > | theFrontDiskSector |
Additional Inherited Members | |
Public Types inherited from GeometricSearchDetWithGroups | |
typedef GeometricSearchDet::DetWithState | DetWithState |
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 | |
GeomDetCompatibilityChecker | theCompatibilityChecker |
A concrete implementation for PixelBlade
Definition at line 15 of file PixelBlade.h.
PixelBlade::PixelBlade | ( | std::vector< const GeomDet * > & | frontDets, |
std::vector< const GeomDet * > & | backDets | ||
) |
Definition at line 20 of file PixelBlade.cc.
References LogDebug, PV3DBase< T, PVType, FrameType >::perp(), GeometricSearchDet::position(), theBackDets, theBackDiskSector, theDets, theDiskSector, theFrontDets, theFrontDiskSector, and PV3DBase< T, PVType, FrameType >::z().
PixelBlade::~PixelBlade | ( | ) |
Definition at line 18 of file PixelBlade.cc.
|
private |
Definition at line 158 of file PixelBlade.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), query::result, subBlade(), 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 66 of file PixelBlade.cc.
|
virtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 61 of file PixelBlade.cc.
|
private |
Definition at line 115 of file PixelBlade.cc.
References findBin(), findPosition(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), perp(), rho, theBackDiskSector, theFrontDiskSector, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by groupedCompatibleDetsV().
|
private |
Definition at line 171 of file PixelBlade.cc.
References MeasurementEstimator::maximalLocalDisplacement(), GeomDet::surface(), and vdt::x.
Referenced by groupedCompatibleDetsV().
|
private |
Definition at line 247 of file PixelBlade.cc.
References i, theBackDets, and theFrontDets.
Referenced by computeCrossings().
|
private |
Definition at line 266 of file PixelBlade.cc.
References theBackDets, and theFrontDets.
Referenced by computeCrossings().
|
virtual |
Reimplemented from GeometricSearchDet.
Definition at line 75 of file PixelBlade.cc.
References addClosest(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), computeWindowSize(), LayerCrossingSide::endcapSide(), SubLayerCrossings::isValid(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), searchNeighbors(), and svgfig::window().
|
private |
Definition at line 220 of file PixelBlade.cc.
References BoundSurface::bounds(), Bounds::length(), GeomDet::surface(), GloballyPositioned< T >::toLocal(), and PV3DBase< T, PVType, FrameType >::x().
Referenced by searchNeighbors().
|
private |
Definition at line 182 of file PixelBlade.cc.
References Clusterizer1DCommons::add(), SubLayerCrossing::closestDetIndex(), overlap(), PV3DBase< T, PVType, FrameType >::perp(), SubLayerCrossing::position(), subBlade(), and SubLayerCrossing::subLayerIndex().
Referenced by groupedCompatibleDetsV().
|
inlinevirtual |
Definition at line 41 of file PixelBlade.h.
References theDiskSector.
|
inlineprivate |
Definition at line 77 of file PixelBlade.h.
References theBackDets, and theFrontDets.
Referenced by addClosest(), and searchNeighbors().
|
inlinevirtual |
The surface of the GeometricSearchDet.
Implements GeometricSearchDet.
Definition at line 24 of file PixelBlade.h.
References theDiskSector.
|
private |
Definition at line 86 of file PixelBlade.h.
Referenced by findBin(), findPosition(), PixelBlade(), and subBlade().
|
private |
Definition at line 90 of file PixelBlade.h.
Referenced by computeCrossings(), and PixelBlade().
|
private |
Definition at line 84 of file PixelBlade.h.
Referenced by basicComponents(), and PixelBlade().
|
private |
Definition at line 88 of file PixelBlade.h.
Referenced by PixelBlade(), specificSurface(), and surface().
|
private |
Definition at line 85 of file PixelBlade.h.
Referenced by findBin(), findPosition(), PixelBlade(), and subBlade().
|
private |
Definition at line 89 of file PixelBlade.h.
Referenced by computeCrossings(), and PixelBlade().