#include <GeometricSearchDet.h>
Public Types | |
typedef std::pair< const GeomDet *, TrajectoryStateOnSurface > | DetWithState |
typedef BoundSurface::PositionType | PositionType |
typedef BoundSurface::RotationType | RotationType |
typedef TrajectoryStateOnSurface | TrajectoryState |
Public Member Functions | |
virtual const std::vector< const GeomDet * > & | basicComponents () const =0 |
virtual std::pair< bool, TrajectoryStateOnSurface > | compatible (const TrajectoryStateOnSurface &ts, const Propagator &, const MeasurementEstimator &) const =0 |
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 |
virtual const std::vector< const GeometricSearchDet * > & | components () const =0 |
Returns basic components, if any. More... | |
GeometricSearchDet (bool doHaveGroups) | |
virtual std::vector< DetGroup > | groupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const |
virtual void | groupedCompatibleDetsV (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est, std::vector< DetGroup > &result) const |
bool | hasGroups () const |
virtual const Surface::PositionType & | position () const |
Returns position of the surface. More... | |
virtual const BoundSurface & | surface () const =0 |
The surface of the GeometricSearchDet. More... | |
virtual | ~GeometricSearchDet () |
Protected Attributes | |
bool | haveGroups |
GeomDetCompatibilityChecker | theCompatibilityChecker |
Definition at line 19 of file GeometricSearchDet.h.
typedef std::pair<const GeomDet*,TrajectoryStateOnSurface> GeometricSearchDet::DetWithState |
Definition at line 21 of file GeometricSearchDet.h.
Definition at line 22 of file GeometricSearchDet.h.
Definition at line 23 of file GeometricSearchDet.h.
Definition at line 24 of file GeometricSearchDet.h.
|
inline |
Definition at line 26 of file GeometricSearchDet.h.
References surface(), and ~GeometricSearchDet().
|
virtual |
|
pure virtual |
Implemented in CompositeTECPetal, Phase2OTBarrelRod, TBLayer, DetRodOneR, Phase1PixelBlade, PixelBlade, TOBRod, Phase2EndcapRing, TECLayer, PixelForwardLayerPhase1, TIDRing, ForwardDetRingOneZ, CompositeTECWedge, PixelForwardLayer, TIBRing, and SimpleTECWedge.
Referenced by MuonDetLayerGeometry::makeDetLayerId(), MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending(), position(), and MuonDetLayerMeasurements::recHits().
|
pure virtual |
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.
Implemented in CompositeTECPetal, MuDetRod, BarrelDetLayer, MuDetRing, Phase2OTBarrelRod, ForwardDetLayer, Phase1PixelBlade, TOBRod, PixelBlade, Phase2EndcapRing, TIDRing, CompositeTECWedge, TIBRing, SimpleTECWedge, and PixelRod.
Referenced by LayerMeasurements::groupedMeasurements(), LayerMeasurements::measurements(), and position().
|
virtual |
Returns all Dets compatible with a trajectory state according to the estimator est. The startingState should be propagated to the surface of each compatible Det using the Propagator passed as an argument. The default implementation should be overridden in dets with specific surface types to avoid propagation to a generic Surface
Reimplemented in MuDetRod, and MuDetRing.
Definition at line 39 of file GeometricSearchDet.cc.
References compatibleDetsV(), and mps_fire::result.
Referenced by CkfDebugger::analyseRecHitNotFound(), MuRodBarrelLayer::compatibleDets(), MuRingForwardLayer::compatibleDets(), TrajectoryManager::createPSimHits(), TSGFromPropagation::findMeasurements_new(), FastTSGFromPropagation::findMeasurements_new(), PropagateToMuon::getBestDet(), CosmicTrackingRegion::hits_(), fastsim::TrackerSimHitProducer::interact(), TrajSeedMatcher::layerHasValidHits(), LayerMeasurements::measurements(), MuonDetLayerMeasurements::measurements(), position(), ConvBremSeedProducer::produce(), L2MuonSeedGeneratorFromL1T::produce(), L2MuonSeedGenerator::produce(), TkMSParameterizationBuilder::produce(), LayerMeasurements::recHits(), and PropagateToMuon::startingState().
|
virtual |
Reimplemented in PixelRod, and ForwardDetRing.
Definition at line 9 of file GeometricSearchDet.cc.
References groupedCompatibleDetsV(), hasGroups(), and UNLIKELY.
Referenced by CompatibleDetToGroupAdder::add(), compatibleDets(), OutsideInMuonSeeder::doLayer(), TSGForOI::findSeedsOnLayer(), TSGForRoadSearch::makeSeeds_0(), TSGForRoadSearch::makeSeeds_3(), TSGForRoadSearch::makeSeeds_4(), TSGForOI::makeSeedsFromHits(), TSGForOIFromL2::makeSeedsFromHits(), TSGForOIFromL2::makeSeedsWithoutHits(), and position().
|
pure virtual |
Returns basic components, if any.
Returns direct components, if any
Implemented in CompositeTECPetal, MuDetRod, MuDetRing, Phase2OTBarrelRod, TBLayer, Phase1PixelBlade, PixelBlade, TOBRod, Phase2EndcapRing, TECLayer, PixelForwardLayerPhase1, TIDRing, CompositeTECWedge, PixelForwardLayer, TIBRing, SimpleTECWedge, and PixelRod.
Referenced by position().
|
virtual |
Similar to compatibleDets(), but the compatible Dets are grouped in one or more groups. Dets are put in the same group if they are mutually exclusive for track crossing, i.e. a reconstructible track cannot cross more than one Det from a group. Pathological tracks (spirals etc.) can of course violate this rule.
The DetGroups are sorted in the sequence of crossing by a track. In order to define the direction of crossing the Propagator used in this method should have a defined direction() : either "alongMomentum" or "oppositeToMomentum" but not "anyDirection".
The three signatures of this method differ by the input trajectory state arguments: the starting state can be a TrajectoryStateOnSurface or a FreeTrajectoryState, and the state on this CompositeDet may be already known or not. The last two arguments are as for the method compatibleDets().
First signature: The first argument is a TrajectoryStateOnSurface, usually not on the surface of this CompositeDet.
Reimplemented in MuDetRod, and MuDetRing.
Definition at line 48 of file GeometricSearchDet.cc.
References groupedCompatibleDetsV(), and mps_fire::result.
Referenced by LayerMeasurements::groupedMeasurements(), MuonDetLayerMeasurements::groupedMeasurements(), and position().
|
virtual |
Reimplemented in CompositeTECPetal, Phase2OTBarrelRod, Phase1PixelBlade, PixelBlade, TOBRod, PixelRod, Phase2EndcapRing, TBLayer, TIBRing, CompositeTECWedge, TIDRing, SimpleTECWedge, TECLayer, Phase2OTtiltedBarrelLayer, PixelForwardLayerPhase1, and PixelForwardLayer.
Definition at line 30 of file GeometricSearchDet.cc.
Referenced by CompatibleDetToGroupAdder::add(), compatibleDetsV(), groupedCompatibleDets(), and position().
|
inline |
Definition at line 107 of file GeometricSearchDet.h.
References haveGroups.
Referenced by CompatibleDetToGroupAdder::add(), compatibleDetsV(), CosmicMuonTrajectoryBuilder::findBestMeasurements(), and StandAloneMuonFilter::findBestMeasurements().
|
inlinevirtual |
Returns position of the surface.
Definition at line 33 of file GeometricSearchDet.h.
References basicComponents(), compatible(), compatibleDets(), compatibleDetsV(), components(), groupedCompatibleDets(), groupedCompatibleDetsV(), GloballyPositioned< T >::position(), mps_fire::result, and surface().
Referenced by TkLayerLess::barrelForwardLess(), MuDetRing::compatibleDets(), CompositeTECWedge::CompositeTECWedge(), PixelForwardLayer::computeHelicity(), PixelForwardLayerPhase1::computeHelicity(), fastsim::SimplifiedGeometryFactory::createSimplifiedGeometry(), MultipleScatteringGeometry::detLayers(), RectangularEtaPhiTrackingRegion::estimator(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerZ(), MultiHitGeneratorFromChi2::hitSets(), PixelTripletNoTipGenerator::hitTriplets(), PixelTripletLargeTipGenerator::hitTriplets(), PixelTripletHLTGenerator::hitTriplets(), ThirdHitCorrection::init(), MuDetRing::init(), InnerDeltaPhi::initForwardLayer(), InnerDeltaPhi::initForwardMS(), ThirdHitRZPredictionBase::initLayer(), ThirdHitPrediction::initLayer(), TkLayerLess::insideOutLess(), TkLayerLess::insideOutLessSigned(), SimpleNavigationSchool::linkNextBarrelLayer(), SimpleNavigationSchool::linkOuterGroup(), SymmetricLayerFinder::mirrorPartner(), MSLayer::MSLayer(), DetBelowR::operator()(), DetLessZ::operator()(), DetBelowZ::operator()(), TIBLayer::overlap(), Phase1PixelBlade::Phase1PixelBlade(), PixelBlade::PixelBlade(), PixelForwardLayerPhase1::PixelForwardLayerPhase1(), L2MuonSeedGeneratorFromL1T::produce(), L2MuonSeedGenerator::produce(), SimpleBarrelNavigableLayer::setAdditionalLink(), SimpleTECWedge::SimpleTECWedge(), and TECLayer::TECLayer().
|
pure virtual |
The surface of the GeometricSearchDet.
Implemented in BarrelDetLayer, ForwardDetLayer, CompositeTECPetal, ForwardDetRing, Phase1PixelBlade, PixelBlade, Phase2EndcapRing, TIDRing, DetRod, TECWedge, and TIBRing.
Referenced by TrackEfficiencyMonitor::compatibleLayers(), OutInConversionSeedFinder::completeSeed(), InOutConversionSeedFinder::completeSeed(), TIBLayer::computeIndexes(), MuonPatternRecoDumper::dumpLayer(), InOutConversionSeedFinder::fillClusterSeeds(), InOutConversionSeedFinder::findSeeds(), GeometricSearchDet(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerRadius(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerZ(), MuonTrackAnalyzer::getSeedTSOS(), LayerMeasurements::groupedMeasurements(), CosmicTrackingRegion::hits_(), ThirdHitCorrection::init(), PropagateToMuon::init(), InnerDeltaPhi::initBarrelLayer(), InnerDeltaPhi::initBarrelMS(), InnerDeltaPhi::initForwardLayer(), fastsim::TrackerSimHitProducer::interact(), TSGForRoadSearch::makeSeeds_3(), ConvBremSeedProducer::makeTrajectoryState(), TrajectoryManager::makeTrajectoryState(), LayerMeasurements::measurements(), MSLayer::MSLayer(), TIBLayer::overlap(), barrelUtil::overlap(), PixelMatchNextLayers::PixelMatchNextLayers(), position(), MuonNavigationPrinter::printLayer(), L2MuonSeedGeneratorFromL1T::produce(), L2MuonSeedGenerator::produce(), StandAloneMuonTrajectoryBuilder::propagateTheSeedTSOS(), and OutInConversionSeedFinder::startSeed().
|
protected |
Definition at line 111 of file GeometricSearchDet.h.
Referenced by hasGroups().
|
protected |
Definition at line 110 of file GeometricSearchDet.h.
Referenced by ForwardDetRingOneZ::add(), DetRodOneR::add(), and PixelRod::compatibleDetsV().