#include <CompositeTECPetal.h>
Classes | |
struct | WedgePar |
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... | |
CompositeTECPetal (std::vector< const TECWedge * > &innerWedges, std::vector< const TECWedge * > &outerWedges) __attribute__((cold)) | |
void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot)) |
virtual const BoundDiskSector & | specificSurface () const final |
const BoundSurface & | surface () const final |
The surface of the GeometricSearchDet. More... | |
~CompositeTECPetal () 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)) |
int | findBin (float R, int layer) const |
WedgePar const & | findPar (int index, int diskSectorType) 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 TECWedge * > & | subLayer (int ind) const |
Static Private Member Functions | |
static float | computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) __attribute__((hot)) |
Private Attributes | |
std::vector< float > | theBackBoundaries |
std::vector< const TECWedge * > | theBackComps |
std::vector< WedgePar > | theBackPars |
ReferenceCountingPointer< BoundDiskSector > | theBackSector |
std::vector< const GeomDet * > | theBasicComps |
std::vector< const GeometricSearchDet * > | theComps |
ReferenceCountingPointer< BoundDiskSector > | theDiskSector |
std::vector< float > | theFrontBoundaries |
std::vector< const TECWedge * > | theFrontComps |
std::vector< WedgePar > | theFrontPars |
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 GeometricSearchDet | |
bool | haveGroups |
GeomDetCompatibilityChecker | theCompatibilityChecker |
A concrete implementation for TEC petals
Definition at line 20 of file CompositeTECPetal.h.
CompositeTECPetal::CompositeTECPetal | ( | std::vector< const TECWedge * > & | innerWedges, |
std::vector< const TECWedge * > & | outerWedges | ||
) |
Definition at line 94 of file CompositeTECPetal.cc.
References LogDebug, theBackBoundaries, theBackComps, theBackPars, theBackSector, theBasicComps, theComps, theDiskSector, theFrontBoundaries, theFrontComps, theFrontPars, and theFrontSector.
|
override |
Definition at line 152 of file CompositeTECPetal.cc.
References mps_fire::i, and theComps.
|
private |
Definition at line 266 of file CompositeTECPetal.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), LogDebug, subLayer(), and SubLayerCrossing::subLayerIndex().
Referenced by groupedCompatibleDetsV().
|
inlineoverridevirtual |
Implements GeometricSearchDet.
Definition at line 37 of file CompositeTECPetal.h.
References theBasicComps.
|
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 161 of file CompositeTECPetal.cc.
Referenced by components().
|
inlineoverridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 39 of file CompositeTECPetal.h.
References compatible(), groupedCompatibleDetsV(), mps_fire::result, and theComps.
|
private |
Definition at line 211 of file CompositeTECPetal.cc.
References funct::abs(), findBin(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), LogDebug, HelixForwardPlaneCrossing::pathLength(), HelixForwardPlaneCrossing::position(), rho, theBackPars, theBackSector, theFrontPars, theFrontSector, and TrajectoryStateOnSurface::transverseCurvature().
Referenced by groupedCompatibleDetsV().
|
staticprivate |
Definition at line 345 of file CompositeTECPetal.cc.
References MeasurementEstimator::maximalLocalDisplacement(), GeomDet::surface(), and y.
Referenced by groupedCompatibleDetsV().
|
private |
Definition at line 353 of file CompositeTECPetal.cc.
References theBackBoundaries, and theFrontBoundaries.
Referenced by computeCrossings().
|
inlineprivate |
Definition at line 85 of file CompositeTECPetal.h.
References diffTreeTool::index, theBackPars, and theFrontPars.
Referenced by searchNeighbors().
|
overridevirtual |
Reimplemented from GeometricSearchDet.
Definition at line 169 of file CompositeTECPetal.cc.
References addClosest(), SubLayerCrossings::closest(), SubLayerCrossings::closestIndex(), computeCrossings(), computeWindowSize(), LayerCrossingSide::endcapSide(), SubLayerCrossings::isValid(), LogDebug, eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), SubLayerCrossings::other(), Propagator::propagationDirection(), searchNeighbors(), and svgfig::window().
Referenced by components().
|
private |
Definition at line 290 of file CompositeTECPetal.cc.
References PVValHelper::add(), SubLayerCrossing::closestDetIndex(), findPar(), muon::overlap(), PV3DBase< T, PVType, FrameType >::perp2(), SubLayerCrossing::position(), subLayer(), SubLayerCrossing::subLayerIndex(), theBackComps, and theFrontComps.
Referenced by groupedCompatibleDetsV().
|
inlinefinalvirtual |
Definition at line 32 of file CompositeTECPetal.h.
References theDiskSector.
Referenced by TECLayer::addClosest().
|
inlineprivate |
Definition at line 89 of file CompositeTECPetal.h.
References theBackComps, and theFrontComps.
Referenced by addClosest(), and searchNeighbors().
|
inlinefinalvirtual |
The surface of the GeometricSearchDet.
Implements GeometricSearchDet.
Definition at line 30 of file CompositeTECPetal.h.
References theDiskSector.
|
private |
Definition at line 102 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), and findBin().
|
private |
Definition at line 99 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), searchNeighbors(), and subLayer().
|
private |
Definition at line 104 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), computeCrossings(), and findPar().
|
private |
Definition at line 107 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), and computeCrossings().
|
private |
Definition at line 95 of file CompositeTECPetal.h.
Referenced by basicComponents(), and CompositeTECPetal().
|
private |
Definition at line 96 of file CompositeTECPetal.h.
Referenced by components(), CompositeTECPetal(), and ~CompositeTECPetal().
|
private |
Definition at line 54 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), specificSurface(), and surface().
|
private |
Definition at line 101 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), and findBin().
|
private |
Definition at line 98 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), searchNeighbors(), and subLayer().
|
private |
Definition at line 103 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), computeCrossings(), and findPar().
|
private |
Definition at line 106 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), and computeCrossings().