#include <TIBRing.h>
Classes | |
struct | SubRingCrossings |
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 &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const override __attribute__((hot)) |
virtual const BoundCylinder & | specificSurface () const |
Return the ring surface as a. More... | |
const BoundSurface & | surface () const override |
The surface of the GeometricSearchDet. More... | |
TIBRing (std::vector< const GeomDet *> &theGeomDets) __attribute__((cold)) | |
~TIBRing () 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 Types | |
typedef PeriodicBinFinderInPhi< float > | BinFinderType |
Private Member Functions | |
void | checkPeriodicity (std::vector< const GeomDet *>::const_iterator first, std::vector< const GeomDet *>::const_iterator last) __attribute__((cold)) |
void | checkRadius (std::vector< const GeomDet *>::const_iterator first, std::vector< const GeomDet *>::const_iterator last) __attribute__((cold)) |
std::optional< SubRingCrossings > | computeCrossings (const TrajectoryStateOnSurface &startingState, PropagationDirection propDir) const __attribute__((hot)) |
void | computeHelicity () __attribute__((cold)) |
float | computeWindowSize (const GeomDet *det, const TrajectoryStateOnSurface &tsos, const MeasurementEstimator &est) const __attribute__((hot)) |
void | searchNeighbors (const TrajectoryStateOnSurface &tsos, const Propagator &prop, const MeasurementEstimator &est, const SubRingCrossings &crossings, float window, std::vector< DetGroup > &result) const __attribute__((hot)) |
Private Attributes | |
BinFinderType | theBinFinder |
ReferenceCountingPointer< BoundCylinder > | theCylinder |
std::vector< const GeomDet * > | theDets |
int | theHelicity |
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 |
|
private |
TIBRing::TIBRing | ( | std::vector< const GeomDet *> & | theGeomDets | ) |
Definition at line 21 of file TIBRing.cc.
References computeHelicity(), mps_fire::i, LogDebug, theBinFinder, theCylinder, and theDets.
|
override |
Definition at line 100 of file TIBRing.cc.
|
inlineoverridevirtual |
|
private |
Definition at line 64 of file TIBRing.cc.
References funct::abs(), dqmdumpme::first, mps_fire::i, dqmiolumiharvest::j, dqmdumpme::last, Geom::pi(), stat_mean(), and theDets.
|
private |
Definition at line 49 of file TIBRing.cc.
References dqmdumpme::first, mps_fire::i, dqmdumpme::last, alignCSCRings::r, photonAnalyzer_cfi::rMax, and photonAnalyzer_cfi::rMin.
|
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 102 of file TIBRing.cc.
|
overridevirtual |
Returns basic components, if any.
Returns direct components, if any
Implements GeometricSearchDet.
Definition at line 45 of file TIBRing.cc.
|
private |
Definition at line 196 of file TIBRing.cc.
References funct::abs(), PV3DBase< T, PVType, FrameType >::barePhi(), HelixBarrelCylinderCrossing::bestSol, PeriodicBinFinderInPhi< T >::binIndex(), HelixBarrelCylinderCrossing::direction(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalPosition(), HelixBarrelCylinderCrossing::hasSolution(), Geom::phiLess(), GloballyPositioned< T >::position(), HelixBarrelCylinderCrossing::position(), rho, specificSurface(), surface(), theBinFinder, theDets, TrajectoryStateOnSurface::transverseCurvature(), and PV3DBase< T, PVType, FrameType >::x().
Referenced by groupedCompatibleDetsV().
|
private |
Definition at line 85 of file TIBRing.cc.
References normal, PV3DBase< T, PVType, FrameType >::phi(), Geom::phiLess(), GloballyPositioned< T >::position(), GeomDet::surface(), theDets, theHelicity, and Surface::toGlobal().
Referenced by TIBRing().
|
private |
Definition at line 235 of file TIBRing.cc.
References MeasurementEstimator::maximalLocalDisplacement(), GeomDet::surface(), and x.
Referenced by groupedCompatibleDetsV().
|
overridevirtual |
Reimplemented from GeometricSearchDet.
Definition at line 109 of file TIBRing.cc.
References PVValHelper::add(), LayerCrossingSide::barrelSide(), PeriodicBinFinderInPhi< T >::binIndex(), computeCrossings(), computeWindowSize(), f, eostools::move(), DetGroupMerger::orderAndMergeTwoLevels(), Propagator::propagationDirection(), mps_fire::result, searchNeighbors(), theBinFinder, theDets, theHelicity, and svgfig::window().
|
private |
Definition at line 154 of file TIBRing.cc.
References PVValHelper::add(), LayerCrossingSide::barrelSide(), PeriodicBinFinderInPhi< T >::binIndex(), TIBRing::SubRingCrossings::closestIndex, SiStripPI::max, HLT_2024v10_cff::Merger, SiStripPI::min, eostools::move(), TIBRing::SubRingCrossings::nextIndex, mps_fire::result, theBinFinder, theDets, and theHelicity.
Referenced by groupedCompatibleDetsV().
|
inlinevirtual |
Return the ring surface as a.
Definition at line 39 of file TIBRing.h.
References theCylinder.
Referenced by computeCrossings().
|
inlineoverridevirtual |
The surface of the GeometricSearchDet.
Implements GeometricSearchDet.
Definition at line 20 of file TIBRing.h.
References theCylinder.
Referenced by computeCrossings().
|
private |
Definition at line 77 of file TIBRing.h.
Referenced by computeCrossings(), groupedCompatibleDetsV(), searchNeighbors(), and TIBRing().
|
private |
Definition at line 80 of file TIBRing.h.
Referenced by specificSurface(), surface(), and TIBRing().
|
private |
Definition at line 79 of file TIBRing.h.
Referenced by basicComponents(), checkPeriodicity(), computeCrossings(), computeHelicity(), groupedCompatibleDetsV(), searchNeighbors(), and TIBRing().
|
private |
Definition at line 81 of file TIBRing.h.
Referenced by computeHelicity(), groupedCompatibleDetsV(), and searchNeighbors().