#include <Topology.h>
Classes | |
class | LocalTrackAngles |
class | LocalTrackPred |
Public Types | |
typedef Point2DBase< double, LocalTag > | Local2DPoint |
typedef Vector2D::MathVector | MathVector2D |
typedef Basic2DVector< double > | Vector2D |
Public Member Functions | |
virtual int | channel (const LocalPoint &lp, const LocalTrackAngles &) const |
conversion taking also the angle from the track state More... | |
virtual int | channel (const LocalPoint &p) const =0 |
virtual LocalError | localError (const MeasurementPoint &, const MeasurementError &) const =0 |
virtual LocalError | localError (const MeasurementPoint &mp, const MeasurementError &me, const LocalTrackPred &) const |
conversion taking also the angle from the predicted track state More... | |
virtual LocalPoint | localPosition (const MeasurementPoint &) const =0 |
virtual LocalPoint | localPosition (const MeasurementPoint &mp, const LocalTrackPred &) const |
conversion taking also the angle from the predicted track state More... | |
virtual MeasurementError | measurementError (const LocalPoint &, const LocalError &) const =0 |
virtual MeasurementError | measurementError (const LocalPoint &lp, const LocalError &le, const LocalTrackAngles &) const |
conversion taking also the angle from the track state More... | |
virtual MeasurementPoint | measurementPosition (const LocalPoint &) const =0 |
virtual MeasurementPoint | measurementPosition (const LocalPoint &lp, const LocalTrackAngles &) const |
conversion taking also the angle from the track state More... | |
virtual | ~Topology () |
Abstract component defining the conversion between the local frame of a detector and the frame defined by the readout channels , the so called measurement frame. For example, in a strip detector the strips define a coordinate frame (from 0 to Nstrips in one direction and from 0 to 1 in the other), and each local point can be mapped to a point in this frame. The mapping may be non-linear (for example for trapezoidal strips).
The topology should be the ONLY place where this mapping is defined. The Digitizer uses the Topology to transform energy deposits in the local frame into signals on the readout channels, and the clusterizer (or the RecHit) uses the Topology for the inverse transformation, from channel numbers to local coordinates.
If the surface of a Topology deviates from its perfect shape, e.g. a bowed instead of a flat surface (bowed silicon sensors) or if built from two surfaces that might be misaligned with respect to each other (double sensor silicon modules), conversion might depend on a track prediction. Conversions from local to measurement frame therefore need the 'LocalTrackAngles', conversions the other way round need also track position predictions, bound together with the angles to a 'LocalTrackPred'. Default implementation of methods requiring more arguments is to call the simple method, ignoring the track state. Concrete implementations should overwrite this where appropiate.
Definition at line 39 of file Topology.h.
typedef Point2DBase<double, LocalTag> Topology::Local2DPoint |
Definition at line 53 of file Topology.h.
Definition at line 42 of file Topology.h.
typedef Basic2DVector<double> Topology::Vector2D |
Definition at line 41 of file Topology.h.
|
inlinevirtual |
Definition at line 72 of file Topology.h.
|
inlinevirtual |
conversion taking also the angle from the track state
Reimplemented in ProxyStripTopology, ProxyPixelTopology, and ProxyMTDTopology.
Definition at line 113 of file Topology.h.
References channel().
Referenced by channel().
|
pure virtual |
Implemented in DTTopology, CSCWireTopology, OffsetRadialStripTopology, RectangularPixelTopology, RectangularMTDTopology, ProxyStripTopology, RectangularStripTopology, CSCUngangedStripTopology, CSCGangedStripTopology, RadialStripTopology, TkRadialStripTopology, CSCRadialStripTopology, ProxyPixelTopology, TrapezoidalStripTopology, ProxyMTDTopology, and GEMStripTopology.
Referenced by ProxyPixelTopology::channel(), ProxyMTDTopology::channel(), ProxyStripTopology::channel(), Pixel3DDigitizerAlgorithm::induce_signal(), Phase2TrackerDigitizerAlgorithm::induce_signal(), SiPixelDigitizerAlgorithm::induce_signal(), RPCSimAverageNoiseEffCls::simulate(), RPCSimAverageNoiseEff::simulate(), RPCSimModelTiming::simulate(), RPCSimAsymmetricCls::simulate(), and ME0SimpleModel::simulateClustering().
|
pure virtual |
Implemented in ProxyStripTopology, RadialStripTopology, RectangularPixelTopology, CSCRadialStripTopology, TkRadialStripTopology, RectangularMTDTopology, TrapezoidalStripTopology, CSCWireTopology, DTTopology, ProxyPixelTopology, ProxyMTDTopology, GEMStripTopology, and RectangularStripTopology.
Referenced by ProxyPixelTopology::localError(), ProxyMTDTopology::localError(), and localError().
|
inlinevirtual |
conversion taking also the angle from the predicted track state
Reimplemented in ProxyStripTopology, ProxyPixelTopology, and ProxyMTDTopology.
Definition at line 94 of file Topology.h.
References localError(), and hlt_dqm_clientPB-live_cfg::me.
|
pure virtual |
Implemented in RectangularPixelTopology, RectangularMTDTopology, ProxyStripTopology, RadialStripTopology, CSCRadialStripTopology, TkRadialStripTopology, OffsetRadialStripTopology, CSCWireTopology, TrapezoidalStripTopology, DTTopology, ProxyPixelTopology, ProxyMTDTopology, GEMStripTopology, and RectangularStripTopology.
Referenced by OuterTrackerMonitorTTCluster::analyze(), SiPixelTrackResidualSource::analyze(), OuterTrackerMonitorTTStub::analyze(), TrackerDpgAnalysis::analyze(), SiPixelErrorEstimation::computeAnglesFromDetPosition(), PixelCPEBase::computeAnglesFromDetPosition(), Pixel3DDigitizerAlgorithm::drift(), Phase2TrackerMonitorDigi::fillITPixelDigiHistos(), Phase2TrackerMonitorDigi::fillOTDigiHistos(), analyzer::SiPixelLorentzAngle::fillPix(), StubPtConsistency::getConsistency(), SiPixelClusterSource::getrococcupancye(), SiPixelChargeReweightingAlgorithm::hitSignalReweight(), Phase2TrackerDigitizerAlgorithm::induce_signal(), SiPixelDigitizerAlgorithm::induce_signal(), tmtt::StubKiller::killStub(), ProxyPixelTopology::localPosition(), ProxyMTDTopology::localPosition(), PixelCPEClusterRepair::localPosition(), PixelCPETemplateReco::localPosition(), localPosition(), PixelCPEGeneric::localPosition(), L1FPGATrackProducer::produce(), pTFrom2Stubs::rInvFrom2(), tmtt::Stub::Stub(), trackerDTC::Setup::stubPos(), and MeasurementTrackerEventProducer::updatePixels().
|
inlinevirtual |
conversion taking also the angle from the predicted track state
Reimplemented in ProxyStripTopology, ProxyPixelTopology, and ProxyMTDTopology.
Definition at line 89 of file Topology.h.
References localPosition().
|
pure virtual |
Implemented in ProxyStripTopology, ProxyPixelTopology, ProxyMTDTopology, RadialStripTopology, TkRadialStripTopology, CSCRadialStripTopology, RectangularPixelTopology, RectangularMTDTopology, DTTopology, TrapezoidalStripTopology, CSCWireTopology, GEMStripTopology, and RectangularStripTopology.
Referenced by Chi2Strip1DEstimator::estimate(), Strip1DMeasurementTransformator::hitError(), FastTrackerRecHitMatcher::match(), ProxyPixelTopology::measurementError(), ProxyMTDTopology::measurementError(), ProxyStripTopology::measurementError(), measurementError(), ShallowRechitClustersProducer::produce(), ShallowTrackClustersProducer::produce(), Strip1DMeasurementTransformator::projectedTrajectoryError(), SiStripRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis_matched(), SiStripRecHitMatcher::sigmaPitch(), and TkGluedMeasurementDet::testStrips().
|
inlinevirtual |
conversion taking also the angle from the track state
Reimplemented in ProxyStripTopology, ProxyPixelTopology, and ProxyMTDTopology.
Definition at line 106 of file Topology.h.
References measurementError().
|
pure virtual |
Implemented in RectangularPixelTopology, RectangularMTDTopology, ProxyStripTopology, RadialStripTopology, TkRadialStripTopology, CSCRadialStripTopology, OffsetRadialStripTopology, DTTopology, TrapezoidalStripTopology, CSCWireTopology, ProxyPixelTopology, ProxyMTDTopology, GEMStripTopology, and RectangularStripTopology.
Referenced by TrackerDpgAnalysis::analyze(), SiStripFineDelayHit::closestCluster(), TkPixelMeasurementDet::compHits(), StripTopology::coveredStrips(), Chi2Strip1DEstimator::estimate(), ApeEstimator::fillHitVariables(), Strip1DMeasurementTransformator::hitParameters(), SiPixelChargeReweightingAlgorithm::hitSignalReweight(), Phase2TrackerDigitizerAlgorithm::induce_signal(), SiPixelDigitizerAlgorithm::induce_signal(), FastTrackerRecHitMatcher::match(), SiStripRecHitMatcher::match(), ProxyPixelTopology::measurementPosition(), ProxyMTDTopology::measurementPosition(), ProxyStripTopology::measurementPosition(), measurementPosition(), TkStripMeasurementDet::measurements(), TrackerDpgAnalysis::onTrackAngles(), Strip1DMeasurementTransformator::projectedTrajectoryParameters(), SiStripRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis(), SiStripTrackingRecHitsValid::rechitanalysis_matched(), TkPhase2OTMeasurementDet::recHits(), TkStripMeasurementDet::recHits(), TkStripMeasurementDet::simpleRecHits(), and TkGluedMeasurementDet::testStrips().
|
inlinevirtual |
conversion taking also the angle from the track state
Reimplemented in ProxyStripTopology, ProxyPixelTopology, and ProxyMTDTopology.
Definition at line 101 of file Topology.h.
References measurementPosition().