CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
TransientTrackingRecHit Class Referenceabstract

#include <TransientTrackingRecHit.h>

Inheritance diagram for TransientTrackingRecHit:
TrackingRecHit ReferenceCountedPoolAllocated BlockWipedPoolAllocated BeamSpotTransientTrackingRecHit GenericTransientTrackingRecHit KFBasedPixelFitter::MyBeamSpotHit TransientTrackingRecHitByValue< RecHit > TransientTrackingRecHitByValue< InvalidTrackingRecHit > TRecHit1DMomConstraint TRecHit2DPosConstraint TRecHit5DParamConstraint TSiPixelRecHit TSiStripRecHit1D TSiStripRecHit2DLocalPos TSiTrackerMultiRecHit

Public Types

typedef std::vector
< ConstRecHitPointer
ConstRecHitContainer
 
typedef
ConstReferenceCountingPointer
< TransientTrackingRecHit
ConstRecHitPointer
 
typedef std::vector
< ConstRecHitPointer
RecHitContainer
 
typedef
ReferenceCountingPointer
< TransientTrackingRecHit
RecHitPointer
 
- Public Types inherited from TrackingRecHit
typedef unsigned int id_type
 
enum  SharedInputType { all, some }
 definition of equality via shared input More...
 
enum  Type { valid = 0, missing = 1, inactive = 2, bad = 3 }
 

Public Member Functions

virtual bool canImproveWithTrack () const
 
virtual RecHitPointer clone (const TrajectoryStateOnSurface &ts) const
 
virtual float clusterProbability () const
 cluster probability, overloaded by pixel rechits. More...
 
const GeomDetdet () const
 The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds. More...
 
virtual const GeomDetUnitdetUnit () const
 
float errorGlobalR () const
 
float errorGlobalRPhi () const
 
float errorGlobalZ () const
 
virtual GlobalPoint globalPosition () const
 
virtual GlobalError globalPositionError () const
 
virtual const TrackingRecHithit () const =0
 
virtual const Surfacesurface () const
 
virtual ConstRecHitContainer transientHits () const
 Composite interface: returns the component hits, if any. More...
 
 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)
 
- Public Member Functions inherited from TrackingRecHit
virtual int dimension () const =0
 
DetId geographicalId () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
unsigned int getRTTI () const
 
Type getType () const
 
virtual bool hasPositionAndError () const
 to be redefined by daughter class More...
 
bool isValid () const
 
virtual LocalPoint localPosition () const =0
 
virtual LocalError localPositionError () const =0
 
virtual AlgebraicVector parameters () const =0
 
virtual AlgebraicSymMatrix parametersError () const =0
 
virtual AlgebraicMatrix projectionMatrix () const =0
 
id_type rawId () const
 
virtual std::vector< const
TrackingRecHit * > 
recHits () const =0
 Access to component RecHits (if any) More...
 
virtual std::vector
< TrackingRecHit * > 
recHits ()=0
 Non-const access to component RecHits (if any) More...
 
virtual void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
virtual bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 
 TrackingRecHit (DetId id, Type type=valid)
 
 TrackingRecHit (id_type id=0, Type type=valid)
 
 TrackingRecHit (DetId id, unsigned int rt, Type type=valid)
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 
- Public Member Functions inherited from ReferenceCountedPoolAllocated
void addReference () const
 
const
ReferenceCountedPoolAllocated
operator= (const ReferenceCountedPoolAllocated &)
 
 ReferenceCountedPoolAllocated ()
 
 ReferenceCountedPoolAllocated (const ReferenceCountedPoolAllocated &iRHS)
 
unsigned int references () const
 
void removeReference () const
 
virtual ~ReferenceCountedPoolAllocated ()
 
- Public Member Functions inherited from BlockWipedPoolAllocated
virtual ~BlockWipedPoolAllocated ()
 

Private Member Functions

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

Private Attributes

float errorR_
 
float errorRPhi_
 
float errorZ_
 
const GeomDetgeom_
 
GlobalPoint globalPosition_
 
bool hasGlobalError_
 
bool hasGlobalPosition_
 

Additional Inherited Members

- Static Public Member Functions inherited from BlockWipedPoolAllocated
static BlockWipedAllocatorallocator (size_t s)
 
static void operator delete (void *p, size_t s)
 
static void * operator new (size_t s, void *p)
 
static void * operator new (size_t s)
 
static BlockWipedAllocator::Stat stat (size_t s)
 
static void usePool ()
 
- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 
- Static Public Attributes inherited from ReferenceCountedPoolAllocated
static int s_alive =0
 
static int s_referenced =0
 
- Static Public Attributes inherited from BlockWipedPoolAllocated
static int s_alive =0
 
static bool s_usePool =false
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 

Detailed Description

Definition at line 21 of file TransientTrackingRecHit.h.

Member Typedef Documentation

Definition at line 30 of file TransientTrackingRecHit.h.

Definition at line 28 of file TransientTrackingRecHit.h.

Definition at line 29 of file TransientTrackingRecHit.h.

Definition at line 27 of file TransientTrackingRecHit.h.

Constructor & Destructor Documentation

TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom = 0)
inlineexplicit

Definition at line 32 of file TransientTrackingRecHit.h.

32  :
33  TrackingRecHit(geom ? geom->geographicalId().rawId() : 0),
34  globalPosition_(0,0,0),
35  geom_(geom),
36  errorR_(0),errorZ_(0),errorRPhi_(0),
37  hasGlobalPosition_(false), hasGlobalError_(false){}
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:72
TrackingRecHit(DetId id, Type type=valid)
TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom,
DetId  id,
Type  type = valid 
)
inlineexplicit
TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom,
TrackingRecHit::id_type  id,
Type  type = valid 
)
inlineexplicit
TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom,
TrackingRecHit const &  rh 
)
inlineexplicit

Definition at line 53 of file TransientTrackingRecHit.h.

Member Function Documentation

virtual bool TransientTrackingRecHit::canImproveWithTrack ( ) const
inlinevirtual

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

Definition at line 90 of file TransientTrackingRecHit.h.

90 {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 TSiTrackerMultiRecHit, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiStripRecHit1D, TRecHit5DParamConstraint, TSiStripRecHit2DLocalPos, TSiPixelRecHit, ProjectedRecHit2D, and TSiStripMatchedRecHit.

Definition at line 91 of file TransientTrackingRecHit.cc.

Referenced by KFTrajectoryFitter::fit().

91  {
92  return RecHitPointer(const_cast<TransientTrackingRecHit*>(this));
93 }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
virtual TransientTrackingRecHit* TransientTrackingRecHit::clone ( ) const
privatepure virtual
virtual float TransientTrackingRecHit::clusterProbability ( ) const
inlinevirtual

cluster probability, overloaded by pixel rechits.

Reimplemented in TSiPixelRecHit.

Definition at line 99 of file TransientTrackingRecHit.h.

99 { return 1; }
const GeomDet* TransientTrackingRecHit::det ( ) const
inline

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

Definition at line 65 of file TransientTrackingRecHit.h.

References geom_.

Referenced by BeamSpotTransientTrackingRecHit::BeamSpotTransientTrackingRecHit(), TSiStripMatchedRecHit::clone(), ProjectedRecHit2D::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), TSiStripRecHit1D::clone(), TSiStripMatchedRecHit::ComputeCoarseLocalPosition(), TSiStripRecHit2DLocalPos::detUnit(), TSiStripRecHit1D::detUnit(), TSiPixelRecHit::detUnit(), TSiTrackerMultiRecHit::detUnit(), detUnit(), InsideBoundsMeasurementEstimator::estimate(), ForwardMeasurementEstimator::estimate(), BarrelMeasurementEstimator::estimate(), GlobalTrajectoryBuilderBase::fixTEC(), ProjectedRecHit2D::getKfComponents(), TSiStripMatchedRecHit::getKfComponents(), TSiStripRecHit1D::getKfComponents(), TSiStripRecHit2DLocalPos::getKfComponents(), TSiTrackerMultiRecHit::getKfComponents(), TSiPixelRecHit::getKfComponents(), MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), CurrentAlignmentKFUpdator::includeCurrentAlignmentEstimate(), ProjectedRecHit2D::parametersError(), TSiTrackerMultiRecHit::parametersError(), TSiStripMatchedRecHit::parametersError(), TSiPixelRecHit::parametersError(), TSiStripRecHit2DLocalPos::parametersError(), TSiStripRecHit1D::parametersError(), MuonTransientTrackingRecHit::parametersError(), TrackingRecHitProjector< ResultingHit >::project(), ProjectedRecHit2D::ProjectedRecHit2D(), RecHitPropagator::propagate(), MuonDTLocalMillepedeAlgorithm::run(), InvalidTransientRecHit::surface(), BeamSpotTransientTrackingRecHit::surface(), MatchedHitRZCorrectionFromBending::tibMatchedHitZFixup(), ClusterShapeTrajectoryFilter::toBeContinued(), TSiStripMatchedRecHit::transientHits(), MuonTransientTrackingRecHit::transientHits(), and TSiStripRecHit2DLocalPos::transientHits().

65 {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 TSiTrackerMultiRecHit, TRecHit1DMomConstraint, TRecHit2DPosConstraint, TSiPixelRecHit, TSiStripRecHit1D, TRecHit5DParamConstraint, TSiStripRecHit2DLocalPos, TSiStripMatchedRecHit, and ProjectedRecHit2D.

Definition at line 9 of file TransientTrackingRecHit.cc.

References det().

Referenced by Chi2StripEstimator::estimate(), Chi2Strip1DEstimator::estimate(), Chi2SwitchingEstimator::estimate(), Chi2Switching1DEstimator::estimate(), Strip1DMeasurementTransformator::init(), StripMeasurementTransformator::init(), KFSwitchingUpdator::update(), and KFSwitching1DUpdator::update().

10 {
11  return dynamic_cast<const GeomDetUnit*>(det());
12 }
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
float TransientTrackingRecHit::errorGlobalR ( ) const

Definition at line 43 of file TransientTrackingRecHit.cc.

References errorR_, hasGlobalError_, setPositionErrors(), and unlikely.

43  {
46  return errorR_;
47  }else{
48  return errorR_;
49  }
50 }
#define unlikely(x)
Definition: Likely.h:21
float TransientTrackingRecHit::errorGlobalRPhi ( ) const

Definition at line 63 of file TransientTrackingRecHit.cc.

References errorRPhi_, hasGlobalError_, setPositionErrors(), and unlikely.

63  {
66  return errorRPhi_;
67  }else{
68  return errorRPhi_;
69  }
70 }
#define unlikely(x)
Definition: Likely.h:21
float TransientTrackingRecHit::errorGlobalZ ( ) const

Definition at line 53 of file TransientTrackingRecHit.cc.

References errorZ_, hasGlobalError_, setPositionErrors(), and unlikely.

53  {
56  return errorZ_;
57  }else{
58  return errorZ_;
59  }
60 }
#define unlikely(x)
Definition: Likely.h:21
GlobalPoint TransientTrackingRecHit::globalPosition ( ) const
virtual
GlobalError TransientTrackingRecHit::globalPositionError ( ) const
virtual

Definition at line 27 of file TransientTrackingRecHit.cc.

References TrackingRecHit::localPositionError(), surface(), and ErrorFrameTransformer::transform().

27  {
29 }
static GlobalError transform(const LocalError &le, const Surface &surf)
virtual LocalError localPositionError() const =0
virtual const Surface * surface() const
virtual const TrackingRecHit* TransientTrackingRecHit::hit ( ) const
pure virtual
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(), and errorGlobalZ().

73  {
74 #ifdef TTRH_NOGE
76 #endif
78  errorRPhi_ = globalPosition().perp()*sqrt(globalError_.phierr(globalPosition()));
79  errorR_ = sqrt(globalError_.rerr(globalPosition()));
80  errorZ_ = sqrt(globalError_.czz());
81  hasGlobalError_ = true;
82 }
static GlobalError transform(const LocalError &le, const Surface &surf)
T perp() const
Definition: PV3DBase.h:71
T phierr(const GlobalPoint &aPoint) const
T sqrt(T t)
Definition: SSEVec.h:46
virtual LocalError localPositionError() const =0
T rerr(const GlobalPoint &aPoint) const
virtual GlobalPoint globalPosition() const
virtual const Surface * surface() const
virtual const Surface* TransientTrackingRecHit::surface ( ) const
inlinevirtual
TransientTrackingRecHit::ConstRecHitContainer TransientTrackingRecHit::transientHits ( ) const
virtual

Composite interface: returns the component hits, if any.

Reimplemented in TSiStripRecHit2DLocalPos, TSiTrackerMultiRecHit, MuonTransientTrackingRecHit, ProjectedRecHit2D, and TSiStripMatchedRecHit.

Definition at line 84 of file TransientTrackingRecHit.cc.

Referenced by MRHChi2MeasurementEstimator::estimate().

85 {
86  // no components by default
87  return ConstRecHitContainer();
88 }
std::vector< ConstRecHitPointer > ConstRecHitContainer

Member Data Documentation

float TransientTrackingRecHit::errorR_
mutableprivate

Definition at line 112 of file TransientTrackingRecHit.h.

Referenced by errorGlobalR(), and setPositionErrors().

float TransientTrackingRecHit::errorRPhi_
mutableprivate

Definition at line 112 of file TransientTrackingRecHit.h.

Referenced by errorGlobalRPhi(), and setPositionErrors().

float TransientTrackingRecHit::errorZ_
mutableprivate

Definition at line 112 of file TransientTrackingRecHit.h.

Referenced by errorGlobalZ(), and setPositionErrors().

const GeomDet* TransientTrackingRecHit::geom_
private

Definition at line 110 of file TransientTrackingRecHit.h.

Referenced by det(), and surface().

GlobalPoint TransientTrackingRecHit::globalPosition_
mutableprivate

Definition at line 105 of file TransientTrackingRecHit.h.

Referenced by globalPosition().

bool TransientTrackingRecHit::hasGlobalError_
mutableprivate
bool TransientTrackingRecHit::hasGlobalPosition_
mutableprivate

Definition at line 113 of file TransientTrackingRecHit.h.

Referenced by globalPosition().