#include <DetLayer.h>
Public Types | |
typedef GeomDetEnumerators::Location | Location |
typedef GeomDetEnumerators::SubDetector | SubDetector |
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) | |
NavigableLayer * | navigableLayer () const |
Return the NavigableLayer associated with this DetLayer. | |
virtual std::vector< const DetLayer * > | nextLayers (const FreeTrajectoryState &fts, PropagationDirection timeDirection) const |
virtual std::vector< const DetLayer * > | nextLayers (NavigationDirection direction) const |
virtual void | setNavigableLayer (NavigableLayer *nlp) |
Set the NavigableLayer associated with this DetLayer. | |
virtual SubDetector | subDetector () const =0 |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap) | |
virtual | ~DetLayer () |
Private Attributes | |
NavigableLayer * | theNavigableLayer |
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.
Definition at line 30 of file DetLayer.h.
Definition at line 29 of file DetLayer.h.
DetLayer::DetLayer | ( | ) | [inline] |
Definition at line 32 of file DetLayer.h.
: theNavigableLayer(0){};
DetLayer::~DetLayer | ( | ) | [virtual] |
Definition at line 7 of file DetLayer.cc.
{ delete theNavigableLayer;}
vector< const DetLayer * > DetLayer::compatibleLayers | ( | NavigationDirection | direction | ) | const |
Return all layers that can be reached from this one along the specified PropagationDirection
Reimplemented in GCC11_FINAL< T >, and GCC11_FINAL< T >.
Definition at line 60 of file DetLayer.cc.
Referenced by FixTrackHitPattern::analyze(), DTChamberEfficiency::compatibleLayers(), StandAloneMuonFilter::compatibleLayers(), MuonNavigationPrinter::printLayer(), and StandAloneMuonTrajectoryBuilder::propagateTheSeedTSOS().
{ return theNavigableLayer ? theNavigableLayer->compatibleLayers( direction) : vector<const DetLayer*>(); }
vector< const DetLayer * > DetLayer::compatibleLayers | ( | const FreeTrajectoryState & | fts, |
PropagationDirection | timeDirection | ||
) | const |
Returns all layers compatible with the specified FreeTrajectoryState and PropagationDirection
Reimplemented in GCC11_FINAL< T >, and GCC11_FINAL< T >.
Definition at line 42 of file DetLayer.cc.
{ return theNavigableLayer ? theNavigableLayer->compatibleLayers( fts, timeDirection) : vector<const DetLayer*>(); }
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.
{ return theNavigableLayer ? theNavigableLayer->compatibleLayers( fts, timeDirection,counter) : vector<const DetLayer*>(); }
virtual Location DetLayer::location | ( | ) | const [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(), InOutConversionSeedFinder::completeSeed(), OutInConversionSeedFinder::completeSeed(), HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckRZCompatibility(), InOutConversionSeedFinder::findSeeds(), OutInConversionSeedFinder::fixPointRadius(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerRadius(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerZ(), HitPairGeneratorFromLayerPairForPhotonConversion::getPhiRange(), HitPairGeneratorFromLayerPair::hitPairs(), HitPairGeneratorFromLayerPairForPhotonConversion::hitPairs(), RectangularEtaPhiTrackingRegion::hits(), PixelTripletNoTipGenerator::hitTriplets(), PixelTripletLowPtGenerator::hitTriplets(), PixelTripletHLTGenerator::hitTriplets(), PixelTripletLargeTipGenerator::hitTriplets(), ThirdHitCorrection::init(), ThirdHitRZPredictionBase::initLayer(), ThirdHitPrediction::initLayer(), InnerDeltaPhi::InnerDeltaPhi(), OutInConversionSeedFinder::makeEstimator(), CfgNavigationSchool::makeFwdLinks(), PixelMatchNextLayers::PixelMatchNextLayers(), ConversionSeedFinder::printLayer(), MuonNavigationPrinter::printLayer(), and StartingLayerFinder::startingLayers().
NavigableLayer* DetLayer::navigableLayer | ( | ) | const [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().
{ return theNavigableLayer;}
vector< const DetLayer * > DetLayer::nextLayers | ( | NavigationDirection | direction | ) | const [virtual] |
Return the next (closest) layer(s) that can be reached in the specified NavigationDirection
Reimplemented in GCC11_FINAL< T >, and GCC11_FINAL< T >.
Definition at line 35 of file DetLayer.cc.
Referenced by CkfDebugger::analyseRecHitNotFound(), TrackEfficiencyMonitor::compatibleLayers(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), BaseCkfTrajectoryBuilder::findStateAndLayers(), PixelMatchNextLayers::PixelMatchNextLayers(), and MuonNavigationPrinter::printLayer().
{ return theNavigableLayer ? theNavigableLayer->nextLayers( direction) : vector<const DetLayer*>(); }
vector< const DetLayer * > DetLayer::nextLayers | ( | const FreeTrajectoryState & | fts, |
PropagationDirection | timeDirection | ||
) | const [virtual] |
Return the next (closest) layer(s) compatible with the specified FreeTrajectoryState and PropagationDirection
Reimplemented in GCC11_FINAL< T >, and GCC11_FINAL< T >.
Definition at line 27 of file DetLayer.cc.
{ return theNavigableLayer ? theNavigableLayer->nextLayers( fts, timeDirection) : vector<const DetLayer*>(); }
void DetLayer::setNavigableLayer | ( | NavigableLayer * | nlp | ) | [virtual] |
Set the NavigableLayer associated with this DetLayer.
delete theNavigableLayer; // bad idea!
Definition at line 10 of file DetLayer.cc.
References NavigableLayer::detLayer().
{ theNavigableLayer = nlp; //nlp=0 amount to cleaning the link. do nothing further if (nlp){ if (nlp->detLayer() != this) { if (nlp->detLayer() != 0) { edm::LogWarning("DetLayers") << "DetLayer Warning: my navigable layer does not point to me. " << " Correcting..." ; } theNavigableLayer->setDetLayer( this); } }//nlp!=0 }
virtual SubDetector DetLayer::subDetector | ( | ) | const [pure virtual] |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap)
Implemented in MuRingForwardDoubleLayer, MuRingForwardLayer, MuRodBarrelLayer, GCC11_FINAL< T >, GCC11_FINAL< T >, GCC11_FINAL< T >, TECLayer, GCC11_FINAL< T >, GCC11_FINAL< T >, and GCC11_FINAL< T >.
Referenced by GlobalTrackingRegion::checkRZ(), RectangularEtaPhiTrackingRegion::hits(), ctfseeding::HitExtractorSTRP::hits(), PixelTripletLowPtGenerator::hitTriplets(), SETFilter::incrementChamberCounters(), CosmicMuonTrajectoryBuilder::incrementChamberCounters(), StandAloneMuonFilter::incrementChamberCounters(), StandAloneMuonFilter::incrementCompatibleChamberCounters(), SeedingLayerSetsBuilder::layers(), MuonTkNavigationSchool::linkBarrelLayers(), MuonTkNavigationSchool::linkEndcapLayers(), MuonDetLayerGeometry::makeDetLayerId(), TSGForRoadSearch::makeSeeds_0(), TSGForRoadSearch::makeSeeds_3(), MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending(), MuonNavigationPrinter::printLayer(), ConvBremSeedProducer::produce(), MuonTrajectoryUpdator::sort(), and BaseCkfTrajectoryBuilder::toBeContinued().
NavigableLayer* DetLayer::theNavigableLayer [private] |
Definition at line 83 of file DetLayer.h.
Referenced by navigableLayer().