CMS 3D CMS Logo

Public Types | Public Member Functions | Private Attributes

DetLayer Class Reference

#include <DetLayer.h>

Inheritance diagram for DetLayer:
GeometricSearchDet BarrelDetLayer ForwardDetLayer GCC11_FINAL< T > RodBarrelLayer GCC11_FINAL< T > GCC11_FINAL< T > RingedForwardLayer TECLayer GCC11_FINAL< T > GCC11_FINAL< T > MuRodBarrelLayer GCC11_FINAL< T > MuRingForwardDoubleLayer MuRingForwardLayer

List of all members.

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)
NavigableLayernavigableLayer () 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

NavigableLayertheNavigableLayer

Detailed Description

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.

Date:
2009/07/07 14:57:32
Revision:
1.12

Definition at line 26 of file DetLayer.h.


Member Typedef Documentation

Definition at line 30 of file DetLayer.h.

Definition at line 29 of file DetLayer.h.


Constructor & Destructor Documentation

DetLayer::DetLayer ( ) [inline]

Definition at line 32 of file DetLayer.h.

DetLayer::~DetLayer ( ) [virtual]

Definition at line 7 of file DetLayer.cc.

{ delete theNavigableLayer;}

Member Function Documentation

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().

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.

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]
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]

Member Data Documentation

Definition at line 83 of file DetLayer.h.

Referenced by navigableLayer().