CMS 3D CMS Logo

GeometricSearchDet Class Reference

#include <TrackingTools/DetLayers/interface/GeometricSearchDet.h>

Inheritance diagram for GeometricSearchDet:

DetLayer DetRod ForwardDetRing GeometricSearchDetWithGroups BarrelDetLayer ForwardDetLayer DetRodOneR TOBRod ForwardDetRingOneZ PixelBarrelLayer PixelBlade PixelForwardLayer TECLayer TECPetal TECWedge TIBLayer TIBRing TIDLayer TIDRing TOBLayer TOBRod

List of all members.

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
 tests the geometrical compatibility of the Det with the predicted state.
virtual std::vector< DetWithStatecompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 Returns all Dets compatible with a trajectory state according to the estimator est.
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.
 GeometricSearchDet ()
virtual std::vector< DetGroupgroupedCompatibleDets (const TrajectoryStateOnSurface &startingState, const Propagator &prop, const MeasurementEstimator &est) const
 Similar to compatibleDets(), but the compatible Dets are grouped in one or more groups.
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.
virtual const BoundSurfacesurface () const =0
 The surface of the GeometricSearchDet.
virtual ~GeometricSearchDet ()

Protected Attributes

GeomDetCompatibilityChecker theCompatibilityChecker


Detailed Description

Definition at line 17 of file GeometricSearchDet.h.


Member Typedef Documentation

typedef std::pair<const GeomDet*,TrajectoryStateOnSurface> GeometricSearchDet::DetWithState

Reimplemented in GeometricSearchDetWithGroups.

Definition at line 19 of file GeometricSearchDet.h.

typedef BoundSurface::PositionType GeometricSearchDet::PositionType

Definition at line 20 of file GeometricSearchDet.h.

typedef BoundSurface::RotationType GeometricSearchDet::RotationType

Definition at line 21 of file GeometricSearchDet.h.

typedef TrajectoryStateOnSurface GeometricSearchDet::TrajectoryState

Definition at line 22 of file GeometricSearchDet.h.


Constructor & Destructor Documentation

GeometricSearchDet::GeometricSearchDet (  )  [inline]

Definition at line 24 of file GeometricSearchDet.h.

virtual GeometricSearchDet::~GeometricSearchDet (  )  [inline, virtual]

Definition at line 25 of file GeometricSearchDet.h.

00025 {};


Member Function Documentation

virtual const std::vector<const GeomDet*>& GeometricSearchDet::basicComponents (  )  const [pure virtual]

Implemented in MuRingForwardDoubleLayer, MuRingForwardLayer, MuRodBarrelLayer, CompositeTECPetal, CompositeTECWedge, PixelBarrelLayer, PixelBlade, PixelForwardLayer, SimpleTECWedge, TECLayer, TIBLayer, TIBRing, TIDLayer, TIDRing, TOBLayer, TOBRod, DetRodOneR, and ForwardDetRingOneZ.

Referenced by BarrelDetLayer::computeSurface(), ForwardDetLayer::computeSurface(), MuonDetLayerGeometry::makeDetLayerId(), and MuonDetLayerMeasurements::recHits().

virtual std::pair<bool, TrajectoryStateOnSurface> GeometricSearchDet::compatible ( const TrajectoryStateOnSurface ts,
const Propagator ,
const MeasurementEstimator  
) const [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 MuDetRing, MuDetRod, MuRingForwardDoubleLayer, CompositeTECPetal, CompositeTECWedge, PixelBlade, PixelRod, SimpleTECWedge, TIBRing, TIDRing, TOBRod, BarrelDetLayer, and ForwardDetLayer.

Referenced by LayerMeasurements::groupedMeasurements(), and LayerMeasurements::measurements().

std::vector< GeometricSearchDet::DetWithState > GeometricSearchDet::compatibleDets ( const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est 
) const [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 MuDetRing, MuDetRod, MuRingForwardDoubleLayer, MuRingForwardLayer, and MuRodBarrelLayer.

Definition at line 25 of file GeometricSearchDet.cc.

References compatibleDetsV(), and HLT_VtxMuL3::result.

Referenced by CkfDebugger::analyseRecHitNotFound(), MuRodBarrelLayer::compatibleDets(), MuRingForwardLayer::compatibleDets(), TrajectoryManager::createPSimHits(), TSGFromPropagation::findMeasurements_new(), MuonRoadTrajectoryBuilder::GatherHits(), TSGForRoadSearch::makeSeeds_0(), TSGForRoadSearch::makeSeeds_3(), TSGForRoadSearch::makeSeeds_4(), MuonDetLayerMeasurements::measurements(), LayerMeasurements::measurements(), L2MuonSeedGenerator::produce(), and ConvBremSeedProducer::produce().

00027                                                                            {
00028   std::vector<DetWithState> result;
00029   compatibleDetsV( startingState, prop, est,result);
00030   return result;
00031 }

void GeometricSearchDet::compatibleDetsV ( const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetWithState > &  result 
) const [virtual]

Definition at line 8 of file GeometricSearchDet.cc.

Referenced by compatibleDets().

00011                                                                       {
00012    edm::LogError("DetLayers") << "At the moment not a real implementation" ;
00013  }

virtual const std::vector<const GeometricSearchDet*>& GeometricSearchDet::components (  )  const [pure virtual]

Returns basic components, if any.

Returns direct components, if any

Implemented in MuDetRing, MuDetRod, MuRingForwardDoubleLayer, MuRingForwardLayer, MuRodBarrelLayer, CompositeTECPetal, CompositeTECWedge, PixelBarrelLayer, PixelBlade, PixelForwardLayer, PixelRod, SimpleTECWedge, TECLayer, TIBLayer, TIBRing, TIDLayer, TIDRing, TOBLayer, and TOBRod.

Referenced by ForwardDetLayer::computeSurface().

std::vector< DetGroup > GeometricSearchDet::groupedCompatibleDets ( const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est 
) const [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 MuDetRing, MuDetRod, MuRingForwardDoubleLayer, MuRingForwardLayer, and MuRodBarrelLayer.

Definition at line 34 of file GeometricSearchDet.cc.

References groupedCompatibleDetsV(), and HLT_VtxMuL3::result.

Referenced by LayerMeasurements::groupedMeasurements(), and MuonDetLayerMeasurements::groupedMeasurements().

00036                                                                                   {
00037   std::vector<DetGroup> result;
00038   groupedCompatibleDetsV(startingState, prop, est,result);
00039   return result;
00040 }

void GeometricSearchDet::groupedCompatibleDetsV ( const TrajectoryStateOnSurface startingState,
const Propagator prop,
const MeasurementEstimator est,
std::vector< DetGroup > &  result 
) const [virtual]

Reimplemented in CompositeTECPetal, CompositeTECWedge, PixelBarrelLayer, PixelBlade, PixelForwardLayer, PixelRod, SimpleTECWedge, TECLayer, TIBLayer, TIBRing, TIDLayer, TIDRing, TOBLayer, and TOBRod.

Definition at line 16 of file GeometricSearchDet.cc.

Referenced by GeometricSearchDetWithGroups::compatibleDetsV(), and groupedCompatibleDets().

00019                                                                          {
00020    edm::LogError("DetLayers") << "At the moment not a real implementation" ;
00021 }

virtual bool GeometricSearchDet::hasGroups (  )  const [pure virtual]

Implemented in MuDetRing, MuDetRod, MuRingForwardDoubleLayer, MuRingForwardLayer, MuRodBarrelLayer, PixelRod, and GeometricSearchDetWithGroups.

Referenced by StandAloneMuonFilter::findBestMeasurements(), and CosmicMuonTrajectoryBuilder::findBestMeasurements().

virtual const Surface::PositionType& GeometricSearchDet::position ( void   )  const [inline, virtual]

Returns position of the surface.

Definition at line 31 of file GeometricSearchDet.h.

References GloballyPositioned< T >::position(), and surface().

Referenced by TkLayerLess::barrelForwardLess(), MuDetRing::compatibleDets(), PixelForwardLayer::computeHelicity(), MultipleScatteringGeometry::detLayers(), RectangularEtaPhiTrackingRegion::estimator(), details::fillBoundaries(), HitPairGeneratorFromLayerPair::hitPairs(), MuDetRing::init(), InnerDeltaPhi::initForwardLayer(), ThirdHitRZPrediction::initLayer(), ThirdHitPrediction::initLayer(), TkLayerLess::insideOutLess(), TkLayerLess::insideOutLessSigned(), HICSimpleNavigationSchool::linkNextBarrelLayer(), SimpleNavigationSchool::linkNextBarrelLayer(), HICSimpleNavigationSchool::linkOuterGroup(), SimpleNavigationSchool::linkOuterGroup(), MSLayer::MSLayer(), details::Mean::operator()(), DetLessZ::operator()(), ForwardLayerMirrorImage::operator()(), DetBelowR::operator()(), DetBelowZ::operator()(), TIBLayer::overlap(), L2MuonSeedGenerator::produce(), SimpleBarrelNavigableLayer::setAdditionalLink(), and SimpleTECWedge::SimpleTECWedge().

00031 {return surface().position();}

virtual const BoundSurface& GeometricSearchDet::surface (  )  const [pure virtual]

The surface of the GeometricSearchDet.

Implemented in PixelBlade, TECPetal, TECWedge, TIBRing, TIDRing, BarrelDetLayer, DetRod, ForwardDetLayer, and ForwardDetRing.

Referenced by cms::DiMuonSeedGeneratorHIC::barrelUpdateSeed(), PixelHitMatcher::compatibleHits(), TrackEfficiencyMonitor::compatibleLayers(), InOutConversionSeedFinder::completeSeed(), OutInConversionSeedFinder::completeSeed(), TIBLayer::computeCrossings(), MuonPatternRecoDumper::dumpLayer(), InOutConversionSeedFinder::fillClusterSeeds(), InOutConversionSeedFinder::findSeeds(), cms::DiMuonSeedGeneratorHIC::forwardUpdateSeed(), HICMeasurementEstimator::getDetectorCode(), MuonTrackAnalyzer::getSeedTSOS(), HitPairGeneratorFromLayerPair::hitPairs(), InnerDeltaPhi::initBarrelLayer(), InnerDeltaPhi::initForwardLayer(), ConvBremSeedProducer::makeTrajectoryState(), TrajectoryManager::makeTrajectoryState(), MSLayer::MSLayer(), TIBLayer::overlap(), PixelBarrelLayer::overlap(), TECLayer::overlap(), CompositeTECPetal::overlap(), TOBLayer::overlap(), PixelMatchNextLayers::PixelMatchNextLayers(), position(), MuonNavigationPrinter::printLayer(), L2MuonSeedGenerator::produce(), StandAloneMuonTrajectoryBuilder::propagateTheSeedTSOS(), HICMeasurementEstimator::setCuts(), OutInConversionSeedFinder::startSeed(), and InvalidTransientRecHit::surface().


Member Data Documentation

GeomDetCompatibilityChecker GeometricSearchDet::theCompatibilityChecker [protected]

Definition at line 108 of file GeometricSearchDet.h.

Referenced by PixelRod::compatibleDetsV().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:21:23 2009 for CMSSW by  doxygen 1.5.4