#include <Phase1PixelBlade.h>
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)) |
Phase1PixelBlade (std::vector< const GeomDet * > &frontDets, std::vector< const GeomDet * > &backDets) __attribute__((cold)) | |
virtual const BoundDiskSector & | specificSurface () const |
const BoundSurface & | surface () const override |
The surface of the GeometricSearchDet. More... | |
~Phase1PixelBlade () override __attribute__((cold)) | |
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)) |
std::pair< float, float > | computeRadiusRanges (const std::vector< const GeomDet * > &) |
float | computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const |
int | findBin (float R, int layer) const |
int | findBin2 (GlobalPoint thispoint, 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 __attribute__((hot)) |
const std::vector< const GeomDet * > & | subBlade (int ind) const |
Private Attributes | |
std::pair< float, float > | back_radius_range_ |
std::pair< float, float > | front_radius_range_ |
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 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 Phase1PixelBlade
Definition at line 16 of file Phase1PixelBlade.h.
Phase1PixelBlade::Phase1PixelBlade | ( | std::vector< const GeomDet * > & | frontDets, |
std::vector< const GeomDet * > & | backDets | ||
) |
Definition at line 21 of file Phase1PixelBlade.cc.
References BladeShapeBuilderFromDet::build(), LogDebug, PV3DBase< T, PVType, FrameType >::perp(), GeometricSearchDet::position(), theBackDets, theBackDiskSector, theDets, theDiskSector, theFrontDets, theFrontDiskSector, and PV3DBase< T, PVType, FrameType >::z().
|
override |
Definition at line 19 of file Phase1PixelBlade.cc.
|
private |
Definition at line 183 of file Phase1PixelBlade.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), mps_fire::result, subBlade(), and SubLayerCrossing::subLayerIndex().
Referenced by groupedCompatibleDetsV(), and specificSurface().
|
inlineoverridevirtual |
Implements GeometricSearchDet.
Definition at line 27 of file Phase1PixelBlade.h.
References compatible(), components(), groupedCompatibleDetsV(), mps_fire::result, and 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 79 of file Phase1PixelBlade.cc.
Referenced by basicComponents().
|
overridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 74 of file Phase1PixelBlade.cc.
Referenced by basicComponents().
|
private |
Definition at line 133 of file Phase1PixelBlade.cc.
References findBin2(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), mag(), rho, theBackDiskSector, theFrontDiskSector, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by groupedCompatibleDetsV(), and specificSurface().
|
private |
Definition at line 319 of file Phase1PixelBlade.cc.
References BoundingBox::corners(), Vector3DBase< T, FrameTag >::cross(), objects.autophobj::float, mps_fire::i, SiStripPI::max, min(), PV3DBase< T, PVType, FrameType >::perp(), GloballyPositioned< T >::position(), alignCSCRings::r, idealTransformation::rotation, Surface::toGlobal(), GloballyPositioned< T >::toLocal(), PV3DBase< T, PVType, FrameType >::x(), MuonErrorMatrixValues_cff::xAxis, PV3DBase< T, PVType, FrameType >::y(), MuonErrorMatrixValues_cff::yAxis, PV3DBase< T, PVType, FrameType >::z(), and MetAnalyzer::zAxis.
Referenced by subBlade().
|
private |
Definition at line 197 of file Phase1PixelBlade.cc.
References MeasurementEstimator::maximalLocalDisplacement(), GeomDet::surface(), and x.
Referenced by groupedCompatibleDetsV(), and specificSurface().
|
private |
Definition at line 272 of file Phase1PixelBlade.cc.
References funct::abs(), mps_fire::i, theBackDets, and theFrontDets.
Referenced by specificSurface().
|
private |
Definition at line 290 of file Phase1PixelBlade.cc.
References mps_fire::i, mag(), theBackDets, and theFrontDets.
Referenced by computeCrossings(), and specificSurface().
|
private |
Definition at line 312 of file Phase1PixelBlade.cc.
References theBackDets, and theFrontDets.
Referenced by specificSurface().
|
overridevirtual |
Reimplemented from GeometricSearchDet.
Definition at line 88 of file Phase1PixelBlade.cc.
References addClosest(), SubLayerCrossings::closest(), computeCrossings(), computeWindowSize(), SubLayerCrossings::isValid(), eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), searchNeighbors(), and svgfig::window().
Referenced by basicComponents().
|
private |
Definition at line 245 of file Phase1PixelBlade.cc.
References funct::abs(), Surface::bounds(), Bounds::length(), GeomDet::surface(), GloballyPositioned< T >::toLocal(), and PV3DBase< T, PVType, FrameType >::x().
Referenced by searchNeighbors(), and specificSurface().
|
private |
Definition at line 208 of file Phase1PixelBlade.cc.
References PVValHelper::add(), SubLayerCrossing::closestDetIndex(), overlap(), PV3DBase< T, PVType, FrameType >::perp(), SubLayerCrossing::position(), subBlade(), and SubLayerCrossing::subLayerIndex().
Referenced by groupedCompatibleDetsV(), and specificSurface().
|
inlinevirtual |
Definition at line 42 of file Phase1PixelBlade.h.
References addClosest(), computeCrossings(), computeWindowSize(), findBin(), findBin2(), findPosition(), overlap(), dttmaxenums::R, searchNeighbors(), theDiskSector, and svgfig::window().
|
inlineprivate |
Definition at line 79 of file Phase1PixelBlade.h.
References computeRadiusRanges(), theBackDets, and theFrontDets.
Referenced by addClosest(), and searchNeighbors().
|
inlineoverridevirtual |
The surface of the GeometricSearchDet.
Implements GeometricSearchDet.
Definition at line 25 of file Phase1PixelBlade.h.
References theDiskSector.
|
private |
Definition at line 90 of file Phase1PixelBlade.h.
|
private |
Definition at line 89 of file Phase1PixelBlade.h.
|
private |
Definition at line 88 of file Phase1PixelBlade.h.
Referenced by findBin(), findBin2(), findPosition(), Phase1PixelBlade(), and subBlade().
|
private |
Definition at line 94 of file Phase1PixelBlade.h.
Referenced by computeCrossings(), and Phase1PixelBlade().
|
private |
Definition at line 86 of file Phase1PixelBlade.h.
Referenced by basicComponents(), and Phase1PixelBlade().
|
private |
Definition at line 92 of file Phase1PixelBlade.h.
Referenced by Phase1PixelBlade(), specificSurface(), and surface().
|
private |
Definition at line 87 of file Phase1PixelBlade.h.
Referenced by findBin(), findBin2(), findPosition(), Phase1PixelBlade(), and subBlade().
|
private |
Definition at line 93 of file Phase1PixelBlade.h.
Referenced by computeCrossings(), and Phase1PixelBlade().