#include <CompositeTECWedge.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... | |
CompositeTECWedge (std::vector< const GeomDet * > &innerDets, std::vector< const GeomDet * > &outerDets) __attribute__((cold)) | |
void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot)) |
~CompositeTECWedge () override __attribute__((cold)) | |
Public Member Functions inherited from TECWedge | |
virtual const BoundDiskSector & | specificSurface () const final |
const BoundSurface & | surface () const final |
The surface of the GeometricSearchDet. More... | |
TECWedge () | |
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)) |
int | findClosestDet (const GlobalPoint &startPos, int sectorId) 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 * > & | subWedge (int ind) const |
Private Attributes | |
std::vector< const GeomDet * > | theBackDets |
ReferenceCountingPointer< BoundDiskSector > | theBackSector |
std::vector< const GeomDet * > | theDets |
std::vector< const GeomDet * > | theFrontDets |
ReferenceCountingPointer< BoundDiskSector > | theFrontSector |
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 TECWedge | |
ReferenceCountingPointer< BoundDiskSector > | theDiskSector |
Protected Attributes inherited from GeometricSearchDet | |
bool | haveGroups |
GeomDetCompatibilityChecker | theCompatibilityChecker |
A concrete implementation for TEC layer built out of TECPetals
Definition at line 12 of file CompositeTECWedge.h.
CompositeTECWedge::CompositeTECWedge | ( | std::vector< const GeomDet * > & | innerDets, |
std::vector< const GeomDet * > & | outerDets | ||
) |
Definition at line 33 of file CompositeTECWedge.cc.
References LogDebug, PV3DBase< T, PVType, FrameType >::perp(), GeometricSearchDet::position(), theBackDets, theBackSector, theDets, TECWedge::theDiskSector, theFrontDets, theFrontSector, and PV3DBase< T, PVType, FrameType >::z().
|
override |
Definition at line 65 of file CompositeTECWedge.cc.
|
private |
Definition at line 162 of file CompositeTECWedge.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), LogDebug, mps_fire::result, SubLayerCrossing::subLayerIndex(), and subWedge().
Referenced by basicComponents(), and groupedCompatibleDetsV().
|
inlineoverridevirtual |
Implements GeometricSearchDet.
Definition at line 20 of file CompositeTECWedge.h.
References addClosest(), compatible(), components(), computeCrossings(), findClosestDet(), 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 71 of file CompositeTECWedge.cc.
Referenced by basicComponents().
|
overridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 67 of file CompositeTECWedge.cc.
Referenced by basicComponents().
|
private |
Definition at line 110 of file CompositeTECWedge.cc.
References funct::abs(), SiPixelRawToDigiRegional_cfi::deltaPhi, findClosestDet(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), LogDebug, HelixForwardPlaneCrossing::pathLength(), HelixForwardPlaneCrossing::position(), rho, theBackDets, theBackSector, theFrontDets, theFrontSector, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by basicComponents(), and groupedCompatibleDetsV().
|
private |
Definition at line 217 of file CompositeTECWedge.cc.
References funct::abs(), mps_fire::i, theBackDets, theFrontDets, toLocal(), and x.
Referenced by basicComponents(), and computeCrossings().
|
overridevirtual |
Reimplemented from GeometricSearchDet.
Definition at line 78 of file CompositeTECWedge.cc.
References addClosest(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), tkDetUtil::computeWindowSize(), LayerCrossingSide::endcapSide(), SubLayerCrossings::isValid(), LogDebug, eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), searchNeighbors(), and svgfig::window().
Referenced by basicComponents().
|
private |
Definition at line 177 of file CompositeTECWedge.cc.
References PVValHelper::add(), PV3DBase< T, PVType, FrameType >::barePhi(), SubLayerCrossing::closestDetIndex(), tkDetUtil::overlapInPhi(), Geom::phiLess(), SubLayerCrossing::position(), SubLayerCrossing::subLayerIndex(), and subWedge().
Referenced by basicComponents(), and groupedCompatibleDetsV().
|
inlineprivate |
Definition at line 55 of file CompositeTECWedge.h.
References theBackDets, and theFrontDets.
Referenced by addClosest(), and searchNeighbors().
|
private |
Definition at line 59 of file CompositeTECWedge.h.
Referenced by CompositeTECWedge(), computeCrossings(), findClosestDet(), and subWedge().
|
private |
Definition at line 63 of file CompositeTECWedge.h.
Referenced by CompositeTECWedge(), and computeCrossings().
|
private |
Definition at line 60 of file CompositeTECWedge.h.
Referenced by basicComponents(), and CompositeTECWedge().
|
private |
Definition at line 58 of file CompositeTECWedge.h.
Referenced by CompositeTECWedge(), computeCrossings(), findClosestDet(), and subWedge().
|
private |
Definition at line 62 of file CompositeTECWedge.h.
Referenced by CompositeTECWedge(), and computeCrossings().