#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 18 of file CompositeTECPetal.h.
CompositeTECPetal::CompositeTECPetal | ( | std::vector< const TECWedge * > & | innerWedges, |
std::vector< const TECWedge * > & | outerWedges | ||
) |
Definition at line 80 of file CompositeTECPetal.cc.
References LogDebug, theBackBoundaries, theBackComps, theBackPars, theBackSector, theBasicComps, theComps, theDiskSector, theFrontBoundaries, theFrontComps, theFrontPars, and theFrontSector.
|
override |
|
private |
Definition at line 217 of file CompositeTECPetal.cc.
References CompatibleDetToGroupAdder::add(), SubLayerCrossing::closestDetIndex(), LogDebug, mps_fire::result, subLayer(), and SubLayerCrossing::subLayerIndex().
Referenced by groupedCompatibleDetsV().
|
inlineoverridevirtual |
Implements GeometricSearchDet.
Definition at line 35 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 128 of file CompositeTECPetal.cc.
|
inlineoverridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 37 of file CompositeTECPetal.h.
References theComps.
|
private |
Definition at line 174 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 282 of file CompositeTECPetal.cc.
References MeasurementEstimator::maximalLocalDisplacement(), GeomDet::surface(), and y.
Referenced by groupedCompatibleDetsV().
|
private |
Definition at line 288 of file CompositeTECPetal.cc.
References dttmaxenums::R, theBackBoundaries, and theFrontBoundaries.
Referenced by computeCrossings().
|
inlineprivate |
Definition at line 76 of file CompositeTECPetal.h.
References theBackPars, and theFrontPars.
Referenced by searchNeighbors().
|
overridevirtual |
Reimplemented from GeometricSearchDet.
Definition at line 135 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(), mps_fire::result, searchNeighbors(), and svgfig::window().
|
private |
Definition at line 231 of file CompositeTECPetal.cc.
References PVValHelper::add(), SubLayerCrossing::closestDetIndex(), findPar(), muon::overlap(), PV3DBase< T, PVType, FrameType >::perp2(), SubLayerCrossing::position(), mps_fire::result, subLayer(), SubLayerCrossing::subLayerIndex(), theBackComps, theFrontComps, and svgfig::window().
Referenced by groupedCompatibleDetsV().
|
inlinefinalvirtual |
|
inlineprivate |
Definition at line 80 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 92 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), and findBin().
|
private |
Definition at line 89 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), searchNeighbors(), and subLayer().
|
private |
Definition at line 94 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), computeCrossings(), and findPar().
|
private |
Definition at line 97 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), and computeCrossings().
|
private |
Definition at line 85 of file CompositeTECPetal.h.
Referenced by basicComponents(), and CompositeTECPetal().
|
private |
Definition at line 86 of file CompositeTECPetal.h.
Referenced by components(), CompositeTECPetal(), and ~CompositeTECPetal().
|
private |
Definition at line 50 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), specificSurface(), and surface().
|
private |
Definition at line 91 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), and findBin().
|
private |
Definition at line 88 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), searchNeighbors(), and subLayer().
|
private |
Definition at line 93 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), computeCrossings(), and findPar().
|
private |
Definition at line 96 of file CompositeTECPetal.h.
Referenced by CompositeTECPetal(), and computeCrossings().