#include <DetLayer.h>
Public Types | |
typedef GeomDetEnumerators::Location | Location |
typedef GeomDetEnumerators::SubDetector | SubDetector |
Public Member Functions | |
template<typename... Args> | |
std::vector< const DetLayer * > | compatibleLayers (Args &&...args) const |
Returns all layers compatible. | |
DetLayer (bool ibar) | |
bool | isBarrel () const |
bool | isForward () const |
virtual Location | location () const =0 |
Which part of the detector (barrel, endcap) | |
NavigableLayer * | navigableLayer () const |
Return the NavigableLayer associated with this DetLayer. | |
template<typename... Args> | |
std::vector< const DetLayer * > | nextLayers (Args &&...args) const |
int | seqNum () const |
void | setNavigableLayer (NavigableLayer *nlp) |
Set the NavigableLayer associated with this DetLayer. | |
void | setSeqNum (int sq) |
virtual SubDetector | subDetector () const =0 |
The type of detector (PixelBarrel, PixelEndcap, TIB, TOB, TID, TEC, CSC, DT, RPCBarrel, RPCEndcap) | |
virtual | ~DetLayer () |
Private Attributes | |
bool | iAmBarrel |
NavigableLayer * | theNavigableLayer |
int | theSeqNum |
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 24 of file DetLayer.h.
Definition at line 28 of file DetLayer.h.
Definition at line 27 of file DetLayer.h.
DetLayer::DetLayer | ( | bool | ibar | ) | [inline] |
Definition at line 30 of file DetLayer.h.
: theNavigableLayer(0), theSeqNum(-1), iAmBarrel(ibar) {}
DetLayer::~DetLayer | ( | ) | [virtual] |
Definition at line 4 of file DetLayer.cc.
References theNavigableLayer.
{ delete theNavigableLayer;}
std::vector<const DetLayer*> DetLayer::compatibleLayers | ( | Args &&... | args | ) | const [inline] |
Returns all layers compatible.
Definition at line 69 of file DetLayer.h.
References harvestRelVal::args, NavigableLayer::compatibleLayers(), and theNavigableLayer.
Referenced by FixTrackHitPattern::analyze(), DTChamberEfficiency::compatibleLayers(), StandAloneMuonFilter::compatibleLayers(), MuonNavigationPrinter::printLayer(), and StandAloneMuonTrajectoryBuilder::propagateTheSeedTSOS().
{ return theNavigableLayer ? theNavigableLayer->compatibleLayers(std::forward<Args>(args)...) : std::vector<const DetLayer*>(); }
bool DetLayer::isBarrel | ( | ) | const [inline] |
Definition at line 35 of file DetLayer.h.
References iAmBarrel.
Referenced by PixelTripletHLTGenerator::hitTriplets(), PixelTripletLargeTipGenerator::hitTriplets(), ThirdHitCorrection::init(), InnerDeltaPhi::InnerDeltaPhi(), and isForward().
{ return iAmBarrel;}
bool DetLayer::isForward | ( | ) | const [inline] |
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(), HitPairGeneratorFromLayerPairForPhotonConversion::checkRZCompatibilityWithSeedTrack(), InOutConversionSeedFinder::completeSeed(), OutInConversionSeedFinder::completeSeed(), HitQuadrupletGeneratorFromLayerPairForPhotonConversion::failCheckRZCompatibility(), InOutConversionSeedFinder::findSeeds(), OutInConversionSeedFinder::fixPointRadius(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerRadius(), HitPairGeneratorFromLayerPairForPhotonConversion::getLayerZ(), HitPairGeneratorFromLayerPairForPhotonConversion::getPhiRange(), HitPairGeneratorFromLayerPairForPhotonConversion::hitPairs(), PixelTripletNoTipGenerator::hitTriplets(), PixelTripletLowPtGenerator::hitTriplets(), ThirdHitRZPredictionBase::initLayer(), ThirdHitPrediction::initLayer(), 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 51 of file DetLayer.h.
References theNavigableLayer.
Referenced by CosmicNavigationSchool::buildAdditionalForwardLinks(), and CfgNavigationSchool::makeBwdLinks().
{ return theNavigableLayer;}
std::vector<const DetLayer*> DetLayer::nextLayers | ( | Args &&... | args | ) | const [inline] |
Return the next (closest) layer(s) that can be reached in the specified NavigationDirection
Definition at line 60 of file DetLayer.h.
References harvestRelVal::args, NavigableLayer::nextLayers(), and theNavigableLayer.
Referenced by CkfDebugger::analyseRecHitNotFound(), TrackEfficiencyMonitor::compatibleLayers(), MuonCkfTrajectoryBuilder::findCompatibleMeasurements(), BaseCkfTrajectoryBuilder::findStateAndLayers(), PixelMatchNextLayers::PixelMatchNextLayers(), and MuonNavigationPrinter::printLayer().
{ return theNavigableLayer ? theNavigableLayer->nextLayers(std::forward<Args>(args)...) : std::vector<const DetLayer*>(); }
int DetLayer::seqNum | ( | ) | const [inline] |
Definition at line 39 of file DetLayer.h.
References theSeqNum.
Referenced by PixelTripletHLTGenerator::hitTriplets(), PixelTripletLargeTipGenerator::hitTriplets(), and LayerHitMapCache::operator()().
{ return theSeqNum;}
void DetLayer::setNavigableLayer | ( | NavigableLayer * | nlp | ) |
Set the NavigableLayer associated with this DetLayer.
delete theNavigableLayer; // bad idea!
Definition at line 7 of file DetLayer.cc.
References NavigableLayer::detLayer(), NavigableLayer::setDetLayer(), and theNavigableLayer.
{ 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 }
void DetLayer::setSeqNum | ( | int | sq | ) | [inline] |
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, TOPO >, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, TECLayer, GCC11_FINAL< T, TOPO >, GCC11_FINAL< T, TOPO >, and GCC11_FINAL< T, TOPO >.
Referenced by ctfseeding::HitExtractorSTRP::hits(), PixelTripletLowPtGenerator::hitTriplets(), SETFilter::incrementChamberCounters(), CosmicMuonTrajectoryBuilder::incrementChamberCounters(), StandAloneMuonFilter::incrementChamberCounters(), StandAloneMuonFilter::incrementCompatibleChamberCounters(), SeedingLayerSetsBuilder::layers(), MuonDetLayerGeometry::makeDetLayerId(), TSGForRoadSearch::makeSeeds_0(), TSGForRoadSearch::makeSeeds_3(), MatchedHitRZCorrectionFromBending::MatchedHitRZCorrectionFromBending(), MuonNavigationPrinter::printLayer(), ConvBremSeedProducer::produce(), MuonTrajectoryUpdator::sort(), and BaseCkfTrajectoryBuilder::toBeContinued().
bool DetLayer::iAmBarrel [private] |
Definition at line 79 of file DetLayer.h.
Referenced by isBarrel().
NavigableLayer* DetLayer::theNavigableLayer [private] |
Definition at line 77 of file DetLayer.h.
Referenced by compatibleLayers(), navigableLayer(), nextLayers(), setNavigableLayer(), and ~DetLayer().
int DetLayer::theSeqNum [private] |
Definition at line 78 of file DetLayer.h.
Referenced by seqNum(), and setSeqNum().