#include <TransientTrackingRecHit.h>
Public Types | |
typedef std::vector < ConstRecHitPointer > | ConstRecHitContainer |
typedef ConstReferenceCountingPointer < TransientTrackingRecHit > | ConstRecHitPointer |
typedef std::vector < ConstRecHitPointer > | RecHitContainer |
typedef ReferenceCountingPointer < TransientTrackingRecHit > | RecHitPointer |
Public Member Functions | |
virtual bool | canImproveWithTrack () const |
virtual RecHitPointer | clone (const TrajectoryStateOnSurface &ts) const |
virtual float | clusterProbability () const |
cluster probability, overloaded by pixel rechits. | |
const GeomDet * | det () const |
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds. | |
virtual const GeomDetUnit * | detUnit () const |
float | errorGlobalR () const |
float | errorGlobalRPhi () const |
float | errorGlobalZ () const |
virtual GlobalPoint | globalPosition () const |
virtual GlobalError | globalPositionError () const |
virtual const TrackingRecHit * | hit () const =0 |
virtual const Surface * | surface () const |
virtual ConstRecHitContainer | transientHits () const |
Composite interface: returns the component hits, if any. | |
TransientTrackingRecHit (const GeomDet *geom=0) | |
TransientTrackingRecHit (const GeomDet *geom, DetId id, Type type=valid) | |
TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit::id_type id, Type type=valid) | |
TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit const &rh) | |
Private Member Functions | |
virtual TransientTrackingRecHit * | clone () const =0 |
void | setPositionErrors () const |
Private Attributes | |
float | errorR_ |
float | errorRPhi_ |
float | errorZ_ |
const GeomDet * | geom_ |
GlobalPoint | globalPosition_ |
bool | hasGlobalError_ |
bool | hasGlobalPosition_ |
Definition at line 19 of file TransientTrackingRecHit.h.
typedef std::vector<ConstRecHitPointer> TransientTrackingRecHit::ConstRecHitContainer |
Definition at line 28 of file TransientTrackingRecHit.h.
typedef ConstReferenceCountingPointer< TransientTrackingRecHit> TransientTrackingRecHit::ConstRecHitPointer |
Definition at line 26 of file TransientTrackingRecHit.h.
typedef std::vector<ConstRecHitPointer> TransientTrackingRecHit::RecHitContainer |
Definition at line 27 of file TransientTrackingRecHit.h.
Definition at line 25 of file TransientTrackingRecHit.h.
TransientTrackingRecHit::TransientTrackingRecHit | ( | const GeomDet * | geom = 0 | ) | [inline, explicit] |
Definition at line 30 of file TransientTrackingRecHit.h.
: TrackingRecHit(geom ? geom->geographicalId().rawId() : 0), globalPosition_(0,0,0), geom_(geom), errorR_(0),errorZ_(0),errorRPhi_(0), hasGlobalPosition_(false), hasGlobalError_(false){}
TransientTrackingRecHit::TransientTrackingRecHit | ( | const GeomDet * | geom, |
DetId | id, | ||
Type | type = valid |
||
) | [inline, explicit] |
Definition at line 37 of file TransientTrackingRecHit.h.
: TrackingRecHit(id, type), globalPosition_(0,0,0), geom_(geom), errorR_(0),errorZ_(0),errorRPhi_(0), hasGlobalPosition_(false),hasGlobalError_(false){}
TransientTrackingRecHit::TransientTrackingRecHit | ( | const GeomDet * | geom, |
TrackingRecHit::id_type | id, | ||
Type | type = valid |
||
) | [inline, explicit] |
Definition at line 44 of file TransientTrackingRecHit.h.
: TrackingRecHit(id, type), globalPosition_(0,0,0), geom_(geom), errorR_(0),errorZ_(0),errorRPhi_(0), hasGlobalPosition_(false),hasGlobalError_(false){}
TransientTrackingRecHit::TransientTrackingRecHit | ( | const GeomDet * | geom, |
TrackingRecHit const & | rh | ||
) | [inline, explicit] |
Definition at line 51 of file TransientTrackingRecHit.h.
: TrackingRecHit(rh.geographicalId(), rh.type()), globalPosition_(0,0,0), geom_(geom), errorR_(0),errorZ_(0),errorRPhi_(0), hasGlobalPosition_(false),hasGlobalError_(false){}
virtual bool TransientTrackingRecHit::canImproveWithTrack | ( | ) | const [inline, virtual] |
Returns true if the clone( const TrajectoryStateOnSurface&) method returns an improved hit, false if it returns an identical copy. In order to avoid redundent copies one should call canImproveWithTrack() before calling clone( const TrajectoryStateOnSurface&).
Reimplemented in TRecHit1DMomConstraint, TRecHit2DPosConstraint, TRecHit5DParamConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit1D, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.
Definition at line 88 of file TransientTrackingRecHit.h.
{return false;}
TransientTrackingRecHit::RecHitPointer TransientTrackingRecHit::clone | ( | const TrajectoryStateOnSurface & | ts | ) | const [virtual] |
Returns a copy of the hit with parameters and errors computed with respect to the TrajectoryStateOnSurface given as argument. For concrete hits not capable to improve their parameters and errors this method returns an exact copy, and is equivalent to clone() without arguments.
Reimplemented in ProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TRecHit5DParamConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit1D, TSiStripRecHit2DLocalPos, and TSiTrackerMultiRecHit.
Definition at line 91 of file TransientTrackingRecHit.cc.
Referenced by KFTrajectoryFitter::fit().
{ return RecHitPointer(const_cast<TransientTrackingRecHit*>(this)); }
virtual TransientTrackingRecHit* TransientTrackingRecHit::clone | ( | ) | const [private, pure virtual] |
Implements TrackingRecHit.
Implemented in BeamSpotTransientTrackingRecHit, MuonTransientTrackingRecHit, KFBasedPixelFitter::MyBeamSpotHit, ProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TRecHit5DParamConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit1D, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, InvalidTransientRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.
virtual float TransientTrackingRecHit::clusterProbability | ( | ) | const [inline, virtual] |
cluster probability, overloaded by pixel rechits.
Reimplemented in TSiPixelRecHit.
Definition at line 97 of file TransientTrackingRecHit.h.
{ return 1; }
const GeomDet* TransientTrackingRecHit::det | ( | ) | const [inline] |
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
Reimplemented in TRecHit1DMomConstraint, TRecHit2DPosConstraint, and TRecHit5DParamConstraint.
Definition at line 63 of file TransientTrackingRecHit.h.
References geom_.
Referenced by BeamSpotTransientTrackingRecHit::BeamSpotTransientTrackingRecHit(), TSiStripMatchedRecHit::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), TSiStripRecHit1D::clone(), ProjectedRecHit2D::clone(), TSiStripMatchedRecHit::ComputeCoarseLocalPosition(), TSiPixelRecHit::detUnit(), TSiTrackerMultiRecHit::detUnit(), detUnit(), TSiStripRecHit1D::detUnit(), TSiStripRecHit2DLocalPos::detUnit(), ForwardMeasurementEstimator::estimate(), InsideBoundsMeasurementEstimator::estimate(), BarrelMeasurementEstimator::estimate(), GlobalTrajectoryBuilderBase::fixTEC(), TSiStripMatchedRecHit::getKfComponents(), TSiPixelRecHit::getKfComponents(), ProjectedRecHit2D::getKfComponents(), TSiStripRecHit2DLocalPos::getKfComponents(), TSiTrackerMultiRecHit::getKfComponents(), TSiStripRecHit1D::getKfComponents(), MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), CurrentAlignmentKFUpdator::includeCurrentAlignmentEstimate(), TSiStripRecHit1D::parametersError(), TSiStripMatchedRecHit::parametersError(), TSiStripRecHit2DLocalPos::parametersError(), MuonTransientTrackingRecHit::parametersError(), TSiTrackerMultiRecHit::parametersError(), TSiPixelRecHit::parametersError(), ProjectedRecHit2D::parametersError(), TrackingRecHitProjector< ResultingHit >::project(), ProjectedRecHit2D::ProjectedRecHit2D(), RecHitPropagator::propagate(), MuonDTLocalMillepedeAlgorithm::run(), InvalidTransientRecHit::surface(), MatchedHitRZCorrectionFromBending::tibMatchedHitZFixup(), ClusterShapeTrajectoryFilter::toBeContinued(), MuonTransientTrackingRecHit::transientHits(), TSiStripMatchedRecHit::transientHits(), and TSiStripRecHit2DLocalPos::transientHits().
{return geom_;}
const GeomDetUnit * TransientTrackingRecHit::detUnit | ( | ) | const [virtual] |
CAUTION: the GeomDetUnit* is zero for composite hits (matched hits in the tracker, segments in the muon). Always check this pointer before using it!
Reimplemented in ProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TRecHit5DParamConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit1D, TSiStripRecHit2DLocalPos, and TSiTrackerMultiRecHit.
Definition at line 9 of file TransientTrackingRecHit.cc.
References det().
Referenced by Chi2Strip1DEstimator::estimate(), Chi2StripEstimator::estimate(), Chi2Switching1DEstimator::estimate(), Chi2SwitchingEstimator::estimate(), StripMeasurementTransformator::init(), Strip1DMeasurementTransformator::init(), KFSwitching1DUpdator::update(), and KFSwitchingUpdator::update().
{ return dynamic_cast<const GeomDetUnit*>(det()); }
float TransientTrackingRecHit::errorGlobalR | ( | ) | const |
Definition at line 43 of file TransientTrackingRecHit.cc.
References errorR_, hasGlobalError_, setPositionErrors(), and unlikely.
{ if unlikely(!hasGlobalError_){ setPositionErrors(); return errorR_; }else{ return errorR_; } }
float TransientTrackingRecHit::errorGlobalRPhi | ( | ) | const |
Definition at line 63 of file TransientTrackingRecHit.cc.
References errorRPhi_, hasGlobalError_, setPositionErrors(), and unlikely.
{ if unlikely(!hasGlobalError_){ setPositionErrors(); return errorRPhi_; }else{ return errorRPhi_; } }
float TransientTrackingRecHit::errorGlobalZ | ( | ) | const |
Definition at line 53 of file TransientTrackingRecHit.cc.
References errorZ_, hasGlobalError_, setPositionErrors(), and unlikely.
{ if unlikely(!hasGlobalError_){ setPositionErrors(); return errorZ_; }else{ return errorZ_; } }
GlobalPoint TransientTrackingRecHit::globalPosition | ( | ) | const [virtual] |
Definition at line 15 of file TransientTrackingRecHit.cc.
References globalPosition_, hasGlobalPosition_, TrackingRecHit::localPosition(), surface(), Surface::toGlobal(), and unlikely.
Referenced by CSCPairResidualsConstraint::calculatePhi(), PixelClusterShapeSeedComparitor::compatible(), ConversionBarrelEstimator::estimate(), cms::HICSeedMeasurementEstimator::estimate(), EtaPhiMeasurementEstimator::estimate(), EtaPhiEstimator::estimate(), ConversionForwardEstimator::estimate(), KFTrajectoryFitter::fit(), OuterHitCompatibility::operator()(), TrackingRecHitProjector< ResultingHit >::project(), and setPositionErrors().
{ if unlikely(! hasGlobalPosition_){ globalPosition_ = surface()->toGlobal(localPosition()); hasGlobalPosition_ = true; return globalPosition_; }else{ return globalPosition_; } }
GlobalError TransientTrackingRecHit::globalPositionError | ( | ) | const [virtual] |
Definition at line 31 of file TransientTrackingRecHit.cc.
References hasGlobalError_, setPositionErrors(), and unlikely.
{ if unlikely(! hasGlobalError_){ setPositionErrors(); return globalError_; }else{ return globalError_; } }
virtual const TrackingRecHit* TransientTrackingRecHit::hit | ( | ) | const [pure virtual] |
Implemented in BeamSpotTransientTrackingRecHit, KFBasedPixelFitter::MyBeamSpotHit, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TRecHit5DParamConstraint, TSiPixelRecHit, TSiStripRecHit1D, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.
Referenced by TrajectoryCleanerBySharedHits::clean(), PixelClusterShapeSeedComparitor::compatibleHit(), EqualsBySharesInput::operator()(), HitComparator::operator()(), HIPAlignmentAlgorithm::run(), ClusterShapeTrajectoryFilter::toBeContinued(), and KFUpdator::update().
void TransientTrackingRecHit::setPositionErrors | ( | ) | const [private] |
Definition at line 73 of file TransientTrackingRecHit.cc.
References GlobalErrorBase< T, ErrorWeightType >::czz(), errorR_, errorRPhi_, errorZ_, globalPosition(), hasGlobalError_, TrackingRecHit::localPositionError(), PV3DBase< T, PVType, FrameType >::perp(), GlobalErrorBase< T, ErrorWeightType >::phierr(), GlobalErrorBase< T, ErrorWeightType >::rerr(), mathSSE::sqrt(), surface(), and ErrorFrameTransformer::transform().
Referenced by errorGlobalR(), errorGlobalRPhi(), errorGlobalZ(), and globalPositionError().
{ #ifdef TTRH_NOGE GlobalError #endif globalError_ = ErrorFrameTransformer::transform( localPositionError(), *surface() ); errorRPhi_ = globalPosition().perp()*sqrt(globalError_.phierr(globalPosition())); errorR_ = sqrt(globalError_.rerr(globalPosition())); errorZ_ = sqrt(globalError_.czz()); hasGlobalError_ = true; }
virtual const Surface* TransientTrackingRecHit::surface | ( | ) | const [inline, virtual] |
Reimplemented in BeamSpotTransientTrackingRecHit, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TRecHit5DParamConstraint, and InvalidTransientRecHit.
Definition at line 64 of file TransientTrackingRecHit.h.
References geom_, and GeomDet::surface().
Referenced by AlignmentMonitorMuonResiduals::event(), KFTrajectoryFitter::fit(), MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), globalPosition(), and setPositionErrors().
TransientTrackingRecHit::ConstRecHitContainer TransientTrackingRecHit::transientHits | ( | ) | const [virtual] |
Composite interface: returns the component hits, if any.
Reimplemented in MuonTransientTrackingRecHit, ProjectedRecHit2D, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, and TSiTrackerMultiRecHit.
Definition at line 84 of file TransientTrackingRecHit.cc.
Referenced by MRHChi2MeasurementEstimator::estimate().
{ // no components by default return ConstRecHitContainer(); }
float TransientTrackingRecHit::errorR_ [mutable, private] |
Definition at line 110 of file TransientTrackingRecHit.h.
Referenced by errorGlobalR(), and setPositionErrors().
float TransientTrackingRecHit::errorRPhi_ [mutable, private] |
Definition at line 110 of file TransientTrackingRecHit.h.
Referenced by errorGlobalRPhi(), and setPositionErrors().
float TransientTrackingRecHit::errorZ_ [mutable, private] |
Definition at line 110 of file TransientTrackingRecHit.h.
Referenced by errorGlobalZ(), and setPositionErrors().
const GeomDet* TransientTrackingRecHit::geom_ [private] |
Definition at line 108 of file TransientTrackingRecHit.h.
GlobalPoint TransientTrackingRecHit::globalPosition_ [mutable, private] |
Definition at line 103 of file TransientTrackingRecHit.h.
Referenced by globalPosition().
bool TransientTrackingRecHit::hasGlobalError_ [mutable, private] |
Definition at line 112 of file TransientTrackingRecHit.h.
Referenced by errorGlobalR(), errorGlobalRPhi(), errorGlobalZ(), globalPositionError(), and setPositionErrors().
bool TransientTrackingRecHit::hasGlobalPosition_ [mutable, private] |
Definition at line 111 of file TransientTrackingRecHit.h.
Referenced by globalPosition().