CMS 3D CMS Logo

TransientTrackingRecHit Class Reference

#include <TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h>

Inheritance diagram for TransientTrackingRecHit:

TrackingRecHit ReferenceCounted GenericProjectedRecHit2D GenericTransientTrackingRecHit TransientTrackingRecHitByValue< RecHit > TransientTrackingRecHitByValue< InvalidTrackingRecHit > TRecHit1DMomConstraint TRecHit2DPosConstraint TSiPixelRecHit TSiStripRecHit2DLocalPos TSiTrackerMultiRecHit

List of all members.

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
 Returns true if the clone( const TrajectoryStateOnSurface&) method returns an improved hit, false if it returns an identical copy.
virtual RecHitPointer clone (const TrajectoryStateOnSurface &ts) const
 Returns a copy of the hit with parameters and errors computed with respect to the TrajectoryStateOnSurface given as argument.
const GeomDetdet () const
 The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
virtual const GeomDetUnitdetUnit () const
 CAUTION: the GeomDetUnit* is zero for composite hits (matched hits in the tracker, segments in the muon).
float errorGlobalR () const
float errorGlobalRPhi () const
float errorGlobalZ () const
float getAnnealingFactor () const
virtual GlobalPoint globalPosition () const
virtual GlobalError globalPositionError () const
virtual const TrackingRecHithit () const =0
void setAnnealingFactor (float annealing)
 interface needed to set and read back an annealing value that has been applied to the current hit error matrix when using it as a component for a composite rec hit (useful for the DAF)
void setWeight (float weight)
 interface needed to set the transient hit weight and to read it back
virtual const Surfacesurface () const
virtual ConstRecHitContainer transientHits () const
 Composite interface: returns the component hits, if any.
 TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit const &rh, float weight=1., float annealing=1.)
 TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit::id_type id, Type type=valid, float weight=1., float annealing=1.)
 TransientTrackingRecHit (const GeomDet *geom, DetId id, Type type=valid, float weight=1., float annealing=1.)
 TransientTrackingRecHit (const GeomDet *geom=0, float weight=1., float annealing=1.)
float weight () const

Private Member Functions

virtual TransientTrackingRecHitclone () const =0
void setPositionErrors () const

Private Attributes

float annealing_
float errorR_
float errorRPhi_
float errorZ_
const GeomDetgeom_
GlobalError globalError_
GlobalPoint globalPosition_
bool hasGlobalError_
bool hasGlobalPosition_
float weight_


Detailed Description

Definition at line 13 of file TransientTrackingRecHit.h.


Member Typedef Documentation

typedef std::vector<ConstRecHitPointer> TransientTrackingRecHit::ConstRecHitContainer

Definition at line 22 of file TransientTrackingRecHit.h.

typedef ConstReferenceCountingPointer< TransientTrackingRecHit> TransientTrackingRecHit::ConstRecHitPointer

Definition at line 20 of file TransientTrackingRecHit.h.

typedef std::vector<ConstRecHitPointer> TransientTrackingRecHit::RecHitContainer

Definition at line 21 of file TransientTrackingRecHit.h.

typedef ReferenceCountingPointer< TransientTrackingRecHit> TransientTrackingRecHit::RecHitPointer

Definition at line 19 of file TransientTrackingRecHit.h.


Constructor & Destructor Documentation

TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom = 0,
float  weight = 1.,
float  annealing = 1. 
) [inline, explicit]

Definition at line 24 of file TransientTrackingRecHit.h.

00024                                                                                                 : 
00025     TrackingRecHit(geom ? geom->geographicalId().rawId() : 0), 
00026     geom_(geom), weight_(weight), annealing_(annealing),
00027     globalPosition_(0,0,0),hasGlobalPosition_(false),
00028     globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),hasGlobalError_(false){}

TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom,
DetId  id,
Type  type = valid,
float  weight = 1.,
float  annealing = 1. 
) [inline, explicit]

Definition at line 30 of file TransientTrackingRecHit.h.

00030                                                                                                                           : 
00031     TrackingRecHit(id, type), 
00032     geom_(geom), weight_(weight), annealing_(annealing),
00033     globalPosition_(0,0,0),hasGlobalPosition_(false),
00034     globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),hasGlobalError_(false){}

TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom,
TrackingRecHit::id_type  id,
Type  type = valid,
float  weight = 1.,
float  annealing = 1. 
) [inline, explicit]

Definition at line 36 of file TransientTrackingRecHit.h.

00036                                                                                                                                           : 
00037     TrackingRecHit(id, type),
00038     geom_(geom),  weight_(weight), annealing_(annealing),
00039     globalPosition_(0,0,0),hasGlobalPosition_(false),
00040     globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),hasGlobalError_(false){}

TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom,
TrackingRecHit const &  rh,
float  weight = 1.,
float  annealing = 1. 
) [inline, explicit]

Definition at line 42 of file TransientTrackingRecHit.h.

00042                                                                                                                           : 
00043     TrackingRecHit(rh.geographicalId(), rh.type()),
00044     geom_(geom), weight_(weight), annealing_(annealing),
00045     globalPosition_(0,0,0),hasGlobalPosition_(false),
00046     globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),hasGlobalError_(false){}


Member Function Documentation

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 GenericProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.

Definition at line 78 of file TransientTrackingRecHit.h.

00078 {return false;}

virtual TransientTrackingRecHit* TransientTrackingRecHit::clone (  )  const [private, pure virtual]

Implements TrackingRecHit.

Implemented in MuonTransientTrackingRecHit, GenericProjectedRecHit2D, ProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, InvalidTransientRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.

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 GenericProjectedRecHit2D, ProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, and TSiTrackerMultiRecHit.

Definition at line 78 of file TransientTrackingRecHit.cc.

Referenced by KFTrajectoryFitter::fit().

00078                                                                         {
00079   return RecHitPointer(const_cast<TransientTrackingRecHit*>(this));
00080 }

const GeomDet* TransientTrackingRecHit::det (  )  const [inline]

The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.

Reimplemented in TRecHit1DMomConstraint, and TRecHit2DPosConstraint.

Definition at line 53 of file TransientTrackingRecHit.h.

References geom_.

Referenced by TSiStripMatchedRecHit::clone(), GenericProjectedRecHit2D::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), ProjectedRecHit2D::clone(), TSiPixelRecHit::detUnit(), TSiTrackerMultiRecHit::detUnit(), detUnit(), TSiStripRecHit2DLocalPos::detUnit(), ForwardMeasurementEstimator::estimate(), InsideBoundsMeasurementEstimator::estimate(), BarrelMeasurementEstimator::estimate(), GenericProjectedRecHit2D::geographicalId(), TSiStripMatchedRecHit::getKfComponents(), TSiPixelRecHit::getKfComponents(), ProjectedRecHit2D::getKfComponents(), TSiTrackerMultiRecHit::getKfComponents(), TSiStripRecHit2DLocalPos::getKfComponents(), MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), CurrentAlignmentKFUpdator::includeCurrentAlignmentEstimate(), TSiStripMatchedRecHit::parametersError(), TSiStripRecHit2DLocalPos::parametersError(), MuonTransientTrackingRecHit::parametersError(), TSiTrackerMultiRecHit::parametersError(), TSiPixelRecHit::parametersError(), GenericProjectedRecHit2D::parametersError(), ProjectedRecHit2D::parametersError(), TrackingRecHitProjector< ResultingHit >::project(), RecHitPropagator::propagate(), InvalidTransientRecHit::surface(), ClusterShapeTrajectoryFilter::toBeContinued(), MuonTransientTrackingRecHit::transientHits(), and TSiStripMatchedRecHit::transientHits().

00053 {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, TSiPixelRecHit, TSiStripMatchedRecHit, TSiStripRecHit2DLocalPos, and TSiTrackerMultiRecHit.

Definition at line 6 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().

00007 {
00008   return dynamic_cast<const GeomDetUnit*>(det());
00009 }

float TransientTrackingRecHit::errorGlobalR (  )  const

Definition at line 33 of file TransientTrackingRecHit.cc.

References errorR_, hasGlobalError_, and setPositionErrors().

00033                                             {
00034   if(!hasGlobalError_){
00035     setPositionErrors();
00036     return errorR_;
00037   }else{
00038     return errorR_;
00039   }
00040 }

float TransientTrackingRecHit::errorGlobalRPhi (  )  const

Definition at line 53 of file TransientTrackingRecHit.cc.

References errorRPhi_, hasGlobalError_, and setPositionErrors().

00053                                                {
00054   if(!hasGlobalError_){
00055     setPositionErrors();
00056     return errorRPhi_;
00057   }else{
00058     return errorRPhi_;
00059   }
00060 }

float TransientTrackingRecHit::errorGlobalZ (  )  const

Definition at line 43 of file TransientTrackingRecHit.cc.

References errorZ_, hasGlobalError_, and setPositionErrors().

00043                                             {
00044   if(!hasGlobalError_){
00045     setPositionErrors();
00046     return errorZ_;
00047   }else{
00048     return errorZ_;
00049   }
00050 }

float TransientTrackingRecHit::getAnnealingFactor (  )  const [inline]

Definition at line 95 of file TransientTrackingRecHit.h.

References annealing_.

Referenced by TSiStripMatchedRecHit::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), ProjectedRecHit2D::clone(), and MRHChi2MeasurementEstimator::estimate().

00095 {return annealing_;} 

GlobalPoint TransientTrackingRecHit::globalPosition (  )  const [virtual]

Definition at line 12 of file TransientTrackingRecHit.cc.

References globalPosition_, hasGlobalPosition_, TrackingRecHit::localPosition(), surface(), and Surface::toGlobal().

Referenced by ConversionBarrelEstimator::estimate(), cms::HICSeedMeasurementEstimator::estimate(), ConversionForwardEstimator::estimate(), KFTrajectoryFitter::fit(), OuterHitCompatibility::operator()(), TrackingRecHitProjector< ResultingHit >::project(), and setPositionErrors().

00012                                                           {
00013   if(! hasGlobalPosition_){
00014     globalPosition_ = surface()->toGlobal(localPosition());
00015     hasGlobalPosition_ = true;
00016     return globalPosition_;
00017   }else{
00018     return globalPosition_;
00019   }
00020 }

GlobalError TransientTrackingRecHit::globalPositionError (  )  const [virtual]

Definition at line 22 of file TransientTrackingRecHit.cc.

References globalError_, hasGlobalError_, and setPositionErrors().

00022                                                                {
00023   if(! hasGlobalError_){
00024     setPositionErrors();
00025     return globalError_;
00026   }else{
00027     return globalError_;
00028   }
00029 
00030 }   

virtual const TrackingRecHit* TransientTrackingRecHit::hit (  )  const [pure virtual]

Implemented in GenericProjectedRecHit2D, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, GenericTransientTrackingRecHit, TransientTrackingRecHitByValue< RecHit >, and TransientTrackingRecHitByValue< InvalidTrackingRecHit >.

Referenced by HitComparator::operator()(), ClusterShapeTrajectoryFilter::toBeContinued(), and KFUpdator::update().

void TransientTrackingRecHit::setAnnealingFactor ( float  annealing  )  [inline]

interface needed to set and read back an annealing value that has been applied to the current hit error matrix when using it as a component for a composite rec hit (useful for the DAF)

Definition at line 93 of file TransientTrackingRecHit.h.

References annealing_.

00093 {annealing_ = annealing;} 

void TransientTrackingRecHit::setPositionErrors (  )  const [private]

Definition at line 63 of file TransientTrackingRecHit.cc.

References GlobalErrorBase< T, ErrorWeightType >::czz(), errorR_, errorRPhi_, errorZ_, globalError_, globalPosition(), hasGlobalError_, TrackingRecHit::localPositionError(), PV3DBase< T, PVType, FrameType >::perp(), GlobalErrorBase< T, ErrorWeightType >::phierr(), GlobalErrorBase< T, ErrorWeightType >::rerr(), funct::sqrt(), and surface().

Referenced by errorGlobalR(), errorGlobalRPhi(), errorGlobalZ(), and globalPositionError().

void TransientTrackingRecHit::setWeight ( float  weight  )  [inline]

interface needed to set the transient hit weight and to read it back

Definition at line 86 of file TransientTrackingRecHit.h.

References weight_.

00086 {weight_ = weight;}

virtual const Surface* TransientTrackingRecHit::surface (  )  const [inline, virtual]

Reimplemented in TRecHit1DMomConstraint, TRecHit2DPosConstraint, and InvalidTransientRecHit.

Definition at line 54 of file TransientTrackingRecHit.h.

References geom_, and GeomDet::surface().

Referenced by AlignmentMonitorMuonResiduals::event(), KFTrajectoryFitter::fit(), MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), globalPosition(), MuonTransientTrackingRecHit::parametersError(), and setPositionErrors().

00054 {return &(geom_->surface());}

TransientTrackingRecHit::ConstRecHitContainer TransientTrackingRecHit::transientHits (  )  const [virtual]

Composite interface: returns the component hits, if any.

Reimplemented in MuonTransientTrackingRecHit, ProjectedRecHit2D, TSiStripMatchedRecHit, and TSiTrackerMultiRecHit.

Definition at line 71 of file TransientTrackingRecHit.cc.

Referenced by MRHChi2MeasurementEstimator::estimate().

00072 {
00073   // no components by default
00074   return ConstRecHitContainer();
00075 }

float TransientTrackingRecHit::weight (  )  const [inline, virtual]

Reimplemented from TrackingRecHit.

Definition at line 88 of file TransientTrackingRecHit.h.

References weight_.

Referenced by TSiStripRecHit2DLocalPos::build(), ProjectedRecHit2D::build(), TSiPixelRecHit::build(), TSiStripMatchedRecHit::build(), TSiStripMatchedRecHit::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), and ProjectedRecHit2D::clone().

00088 {return weight_;}


Member Data Documentation

float TransientTrackingRecHit::annealing_ [private]

Definition at line 103 of file TransientTrackingRecHit.h.

Referenced by getAnnealingFactor(), and setAnnealingFactor().

float TransientTrackingRecHit::errorR_ [mutable, private]

Definition at line 109 of file TransientTrackingRecHit.h.

Referenced by errorGlobalR(), and setPositionErrors().

float TransientTrackingRecHit::errorRPhi_ [mutable, private]

Definition at line 109 of file TransientTrackingRecHit.h.

Referenced by errorGlobalRPhi(), and setPositionErrors().

float TransientTrackingRecHit::errorZ_ [mutable, private]

Definition at line 109 of file TransientTrackingRecHit.h.

Referenced by errorGlobalZ(), and setPositionErrors().

const GeomDet* TransientTrackingRecHit::geom_ [private]

Definition at line 100 of file TransientTrackingRecHit.h.

Referenced by det(), and surface().

GlobalError TransientTrackingRecHit::globalError_ [mutable, private]

Definition at line 108 of file TransientTrackingRecHit.h.

Referenced by globalPositionError(), and setPositionErrors().

GlobalPoint TransientTrackingRecHit::globalPosition_ [mutable, private]

Definition at line 106 of file TransientTrackingRecHit.h.

Referenced by globalPosition().

bool TransientTrackingRecHit::hasGlobalError_ [mutable, private]

Definition at line 110 of file TransientTrackingRecHit.h.

Referenced by errorGlobalR(), errorGlobalRPhi(), errorGlobalZ(), globalPositionError(), and setPositionErrors().

bool TransientTrackingRecHit::hasGlobalPosition_ [mutable, private]

Definition at line 107 of file TransientTrackingRecHit.h.

Referenced by globalPosition().

float TransientTrackingRecHit::weight_ [private]

Definition at line 102 of file TransientTrackingRecHit.h.

Referenced by setWeight(), and weight().


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