#include <DetLayer.h>
Public Types | |
typedef GeomDetEnumerators::Location | Location |
typedef GeomDetEnumerators::SubDetector | SubDetector |
Public Types inherited from GeometricSearchDet | |
typedef std::pair< const GeomDet *, TrajectoryStateOnSurface > | DetWithState |
typedef BoundSurface::PositionType | PositionType |
typedef BoundSurface::RotationType | RotationType |
typedef TrajectoryStateOnSurface | TrajectoryState |
Public Member Functions | |
std::vector< const DetLayer * > | compatibleLayers (NavigationDirection direction) const |
std::vector< const DetLayer * > | compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const |
std::vector< const DetLayer * > | compatibleLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection, int &counter) const |
DetLayer () | |
virtual Location | location () const =0 |
Which part of the detector (barrel, endcap) More... | |
NavigableLayer * | navigableLayer () const |
Return the NavigableLayer associated with this DetLayer. More... | |
virtual std::vector< const DetLayer * > | nextLayers (NavigationDirection direction) const |
virtual std::vector< const DetLayer * > | nextLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const |
virtual void | setNavigableLayer (NavigableLayer *nlp) |
Set the NavigableLayer associated with this DetLayer. More... | |
virtual SubDetector | subDetector () const =0 |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap) More... | |
virtual | ~DetLayer () |
Public Member Functions inherited from GeometricSearchDet | |
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 () | |
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 |
virtual bool | hasGroups () const =0 |
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 () |
Private Attributes | |
NavigableLayer * | theNavigableLayer |
Additional Inherited Members | |
Protected Attributes inherited from GeometricSearchDet | |
GeomDetCompatibilityChecker | theCompatibilityChecker |
The DetLayer is the detector abstraction used for track reconstruction. It inherits from GeometricSearchDet the interface for accessing components and compatible components. It extends the interface by providing navigation capability from one layer to another. The Navigation links must be created in a NavigationSchool and activated with a NavigationSetter before they can be used.
Definition at line 26 of file DetLayer.h.
typedef GeomDetEnumerators::Location DetLayer::Location |
Definition at line 30 of file DetLayer.h.
typedef GeomDetEnumerators::SubDetector DetLayer::SubDetector |
Definition at line 29 of file DetLayer.h.
|
inline |
Definition at line 32 of file DetLayer.h.
|
virtual |
Definition at line 7 of file DetLayer.cc.
vector< const DetLayer * > DetLayer::compatibleLayers | ( | NavigationDirection | direction | ) | const |
Return all layers that can be reached from this one along the specified PropagationDirection
Definition at line 60 of file DetLayer.cc.
Referenced by FixTrackHitPattern::analyze(), DTChamberEfficiency::compatibleLayers(), StandAloneMuonFilter::compatibleLayers(), MuonNavigationPrinter::printLayer(), and StandAloneMuonTrajectoryBuilder::propagateTheSeedTSOS().
vector< const DetLayer * > DetLayer::compatibleLayers | ( | const FreeTrajectoryState & | fts, |
PropagationDirection | timeDirection | ||
) | const |
Returns all layers compatible with the specified FreeTrajectoryState and PropagationDirection
Definition at line 42 of file DetLayer.cc.
vector< const DetLayer * > DetLayer::compatibleLayers | ( | const FreeTrajectoryState & | fts, |
PropagationDirection | timeDirection, | ||
int & | counter | ||
) | const |
Returns all layers compatible with the specified FreeTrajectoryState and PropagationDirection. the counter is used to count how many levels the recursive call was depth; counter = -1 is returned in case of error.
Definition at line 51 of file DetLayer.cc.
|
pure virtual |
Which part of the detector (barrel, endcap)
Implemented in BarrelDetLayer, and ForwardDetLayer.
Referenced by CfgNavigationSchool::addLayer(), GroupedCkfTrajectoryBuilder::advanceOneLayer(), HitPairGeneratorFromLayerPairForPhotonConversion::checkBoundaries(), GlobalTrackingRegion::checkRZ(), HitPairGeneratorFromLayerPairForPhotonConversion::checkRZCompatibilityWithSeedTrack(), RectangularEtaPhiTrackingRegion::checkRZOld(), OutInConversionSeedFinder::completeSeed(), InOutConversionSeedFinder::completeSeed(), HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckRZCompatibility(), HICTrajectoryBuilder::findCompatibleMeasurements(), InOutConversionSeedFinder::findSeeds(), OutInConversionSeedFinder::fixPointRadius(), HICMeasurementEstimator::getDetectorCode(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerRadius(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerZ(), HitPairGeneratorFromLayerPairForPhotonConversion::getPhiRange(), HitPairGeneratorFromLayerPair::hitPairs(), HitPairGeneratorFromLayerPairForPhotonConversion::hitPairs(), RectangularEtaPhiTrackingRegion::hits(), PixelTripletNoTipGenerator::hitTriplets(), PixelTripletLargeTipGenerator::hitTriplets(), PixelTripletHLTGenerator::hitTriplets(), PixelTripletLowPtGenerator::hitTriplets(), ThirdHitCorrection::init(), ThirdHitRZPredictionBase::initLayer(), ThirdHitPrediction::initLayer(), InnerDeltaPhi::InnerDeltaPhi(), OutInConversionSeedFinder::makeEstimator(), CfgNavigationSchool::makeFwdLinks(), PixelMatchNextLayers::PixelMatchNextLayers(), MuonNavigationPrinter::printLayer(), ConversionSeedFinder::printLayer(), HICMeasurementEstimator::setCuts(), StartingLayerFinder::startingLayers(), and HICMuonUpdator::update().
|
inline |
Return the NavigableLayer associated with this DetLayer.
Definition at line 45 of file DetLayer.h.
References theNavigableLayer.
Referenced by CosmicNavigationSchool::buildAdditionalForwardLinks(), and CfgNavigationSchool::makeBwdLinks().
|
virtual |
Return the next (closest) layer(s) that can be reached in the specified NavigationDirection
Definition at line 35 of file DetLayer.cc.
Referenced by CkfDebugger::analyseRecHitNotFound(), TrackEfficiencyMonitor::compatibleLayers(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), HICTrajectoryBuilder::findCompatibleMeasurements(), NuclearInteractionFinder::findMeasurementsFromTSOS(), BaseCkfTrajectoryBuilder::findStateAndLayers(), PixelMatchNextLayers::PixelMatchNextLayers(), and MuonNavigationPrinter::printLayer().
|
virtual |
Return the next (closest) layer(s) compatible with the specified FreeTrajectoryState and PropagationDirection
Definition at line 27 of file DetLayer.cc.
|
virtual |
Set the NavigableLayer associated with this DetLayer.
delete theNavigableLayer; // bad idea!
Definition at line 10 of file DetLayer.cc.
References NavigableLayer::detLayer().
|
pure virtual |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Implemented in MuRingForwardDoubleLayer, MuRingForwardLayer, MuRodBarrelLayer, PixelBarrelLayer, TOBLayer, TIBLayer, TECLayer, PixelForwardLayer, and TIDLayer.
Referenced by GlobalTrackingRegion::checkRZ(), ctfseeding::HitExtractorSTRP::hits(), RectangularEtaPhiTrackingRegion::hits(), PixelTripletLowPtGenerator::hitTriplets(), CosmicMuonTrajectoryBuilder::incrementChamberCounters(), StandAloneMuonFilter::incrementChamberCounters(), SETFilter::incrementChamberCounters(), StandAloneMuonFilter::incrementCompatibleChamberCounters(), SeedingLayerSetsBuilder::layers(), MuonTkNavigationSchool::linkBarrelLayers(), MuonTkNavigationSchool::linkEndcapLayers(), MuonDetLayerGeometry::makeDetLayerId(), TSGForRoadSearch::makeSeeds_0(), TSGForRoadSearch::makeSeeds_3(), MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending(), MuonNavigationPrinter::printLayer(), ConvBremSeedProducer::produce(), HICMeasurementEstimator::setCuts(), MuonTrajectoryUpdator::sort(), and BaseCkfTrajectoryBuilder::toBeContinued().
|
private |
Definition at line 83 of file DetLayer.h.
Referenced by navigableLayer().