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 GenericProjectedRecHit2D GenericTransientTrackingRecHit TransientTrackingRecHitByValue< RecHit > TransientTrackingRecHitByValue< InvalidTrackingRecHit > TRecHit1DMomConstraint TRecHit2DPosConstraint 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
 
float getAnnealingFactor () const
 
virtual GlobalPoint globalPosition () const
 
virtual GlobalError globalPositionError () const
 
virtual const TrackingRecHithit () const =0
 
void setAnnealingFactor (float annealing)
 
void setWeight (float weight)
 interface needed to set the transient hit weight and to read it back More...
 
virtual const Surfacesurface () const
 
virtual ConstRecHitContainer transientHits () const
 Composite interface: returns the component hits, if any. More...
 
 TransientTrackingRecHit (const GeomDet *geom=0, 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, TrackingRecHit::id_type id, Type type=valid, float weight=1., float annealing=1.)
 
 TransientTrackingRecHit (const GeomDet *geom, TrackingRecHit const &rh, float weight=1., float annealing=1.)
 
float weight () const
 
- Public Member Functions inherited from TrackingRecHit
virtual int dimension () const =0
 
DetId geographicalId () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
Type getType () const
 
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
 
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)
 
Type type () 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 annealing_
 
float errorR_
 
float errorRPhi_
 
float errorZ_
 
const GeomDetgeom_
 
GlobalError globalError_
 
GlobalPoint globalPosition_
 
bool hasGlobalError_
 
bool hasGlobalPosition_
 
float weight_
 

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 ReferenceCountedPoolAllocated
static int s_alive =0
 
static int s_referenced =0
 
- Static Public Attributes inherited from BlockWipedPoolAllocated
static int s_alive =0
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setType (Type ttype)
 

Detailed Description

Definition at line 14 of file TransientTrackingRecHit.h.

Member Typedef Documentation

Definition at line 23 of file TransientTrackingRecHit.h.

Definition at line 21 of file TransientTrackingRecHit.h.

Definition at line 22 of file TransientTrackingRecHit.h.

Definition at line 20 of file TransientTrackingRecHit.h.

Constructor & Destructor Documentation

TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom = 0,
float  weight = 1.,
float  annealing = 1. 
)
inlineexplicit

Definition at line 25 of file TransientTrackingRecHit.h.

25  :
26  TrackingRecHit(geom ? geom->geographicalId().rawId() : 0),
27  geom_(geom), weight_(weight), annealing_(annealing),
28  globalPosition_(0,0,0),
29  globalError_(GlobalError::NullMatrix()),errorR_(0),errorZ_(0),errorRPhi_(0),
30  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:74
TrackingRecHit(DetId id, Type type=valid)
TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom,
DetId  id,
Type  type = valid,
float  weight = 1.,
float  annealing = 1. 
)
inlineexplicit

Definition at line 32 of file TransientTrackingRecHit.h.

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

Definition at line 39 of file TransientTrackingRecHit.h.

TransientTrackingRecHit::TransientTrackingRecHit ( const GeomDet geom,
TrackingRecHit const &  rh,
float  weight = 1.,
float  annealing = 1. 
)
inlineexplicit

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

Definition at line 83 of file TransientTrackingRecHit.h.

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

Definition at line 78 of file TransientTrackingRecHit.cc.

Referenced by KFTrajectoryFitter::fit().

78  {
79  return RecHitPointer(const_cast<TransientTrackingRecHit*>(this));
80 }
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 103 of file TransientTrackingRecHit.h.

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

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

Definition at line 58 of file TransientTrackingRecHit.h.

References geom_.

Referenced by BeamSpotTransientTrackingRecHit::BeamSpotTransientTrackingRecHit(), ProjectedRecHit2D::clone(), TSiStripMatchedRecHit::clone(), TSiPixelRecHit::clone(), TSiStripRecHit2DLocalPos::clone(), GenericProjectedRecHit2D::clone(), TSiStripRecHit1D::clone(), TSiStripMatchedRecHit::ComputeCoarseLocalPosition(), TSiTrackerMultiRecHit::detUnit(), TSiStripRecHit2DLocalPos::detUnit(), TSiStripRecHit1D::detUnit(), TSiPixelRecHit::detUnit(), detUnit(), InsideBoundsMeasurementEstimator::estimate(), ForwardMeasurementEstimator::estimate(), BarrelMeasurementEstimator::estimate(), GlobalTrajectoryBuilderBase::fixTEC(), GenericProjectedRecHit2D::geographicalId(), ProjectedRecHit2D::getKfComponents(), TSiStripMatchedRecHit::getKfComponents(), TSiStripRecHit2DLocalPos::getKfComponents(), TSiStripRecHit1D::getKfComponents(), TSiTrackerMultiRecHit::getKfComponents(), TSiPixelRecHit::getKfComponents(), MuonTransientTrackingRecHit::globalDirection(), MuonTransientTrackingRecHit::globalDirectionError(), CurrentAlignmentKFUpdator::includeCurrentAlignmentEstimate(), GenericProjectedRecHit2D::parametersError(), 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().

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

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

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

Definition at line 33 of file TransientTrackingRecHit.cc.

References errorR_, hasGlobalError_, and setPositionErrors().

33  {
34  if(!hasGlobalError_){
36  return errorR_;
37  }else{
38  return errorR_;
39  }
40 }
float TransientTrackingRecHit::errorGlobalRPhi ( ) const

Definition at line 53 of file TransientTrackingRecHit.cc.

References errorRPhi_, hasGlobalError_, and setPositionErrors().

53  {
54  if(!hasGlobalError_){
56  return errorRPhi_;
57  }else{
58  return errorRPhi_;
59  }
60 }
float TransientTrackingRecHit::errorGlobalZ ( ) const

Definition at line 43 of file TransientTrackingRecHit.cc.

References errorZ_, hasGlobalError_, and setPositionErrors().

43  {
44  if(!hasGlobalError_){
46  return errorZ_;
47  }else{
48  return errorZ_;
49  }
50 }
float TransientTrackingRecHit::getAnnealingFactor ( ) const
inline
GlobalPoint TransientTrackingRecHit::globalPosition ( ) const
virtual
GlobalError TransientTrackingRecHit::globalPositionError ( ) const
virtual

Reimplemented in BeamSpotTransientTrackingRecHit.

Definition at line 22 of file TransientTrackingRecHit.cc.

References globalError_, hasGlobalError_, and setPositionErrors().

22  {
23  if(! hasGlobalError_){
25  return globalError_;
26  }else{
27  return globalError_;
28  }
29 
30 }
virtual const TrackingRecHit* TransientTrackingRecHit::hit ( ) const
pure virtual
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 98 of file TransientTrackingRecHit.h.

References annealing_.

98 {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(), mathSSE::sqrt(), surface(), and ErrorFrameTransformer::transform().

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

63  {
68  hasGlobalError_ = true;
69 }
T perp() const
Definition: PV3DBase.h:66
GlobalError transform(const LocalError &le, const Surface &surf) const
T phierr(const GlobalPoint &aPoint) const
T sqrt(T t)
Definition: SSEVec.h:28
virtual LocalError localPositionError() const =0
T rerr(const GlobalPoint &aPoint) const
virtual GlobalPoint globalPosition() const
virtual const Surface * surface() const
void TransientTrackingRecHit::setWeight ( float  weight)
inline

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

Definition at line 91 of file TransientTrackingRecHit.h.

References weight(), and weight_.

virtual const Surface* TransientTrackingRecHit::surface ( ) const
inlinevirtual
TransientTrackingRecHit::ConstRecHitContainer TransientTrackingRecHit::transientHits ( ) const
virtual

Composite interface: returns the component hits, if any.

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

Definition at line 71 of file TransientTrackingRecHit.cc.

Referenced by MRHChi2MeasurementEstimator::estimate().

72 {
73  // no components by default
74  return ConstRecHitContainer();
75 }
std::vector< ConstRecHitPointer > ConstRecHitContainer
float TransientTrackingRecHit::weight ( ) const
inlinevirtual

Member Data Documentation

float TransientTrackingRecHit::annealing_
private

Definition at line 111 of file TransientTrackingRecHit.h.

Referenced by getAnnealingFactor(), and setAnnealingFactor().

float TransientTrackingRecHit::errorR_
mutableprivate

Definition at line 116 of file TransientTrackingRecHit.h.

Referenced by errorGlobalR(), and setPositionErrors().

float TransientTrackingRecHit::errorRPhi_
mutableprivate

Definition at line 116 of file TransientTrackingRecHit.h.

Referenced by errorGlobalRPhi(), and setPositionErrors().

float TransientTrackingRecHit::errorZ_
mutableprivate

Definition at line 116 of file TransientTrackingRecHit.h.

Referenced by errorGlobalZ(), and setPositionErrors().

const GeomDet* TransientTrackingRecHit::geom_
private

Definition at line 108 of file TransientTrackingRecHit.h.

Referenced by det(), and surface().

GlobalError TransientTrackingRecHit::globalError_
mutableprivate

Definition at line 115 of file TransientTrackingRecHit.h.

Referenced by globalPositionError(), and setPositionErrors().

GlobalPoint TransientTrackingRecHit::globalPosition_
mutableprivate

Definition at line 114 of file TransientTrackingRecHit.h.

Referenced by globalPosition().

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

Definition at line 117 of file TransientTrackingRecHit.h.

Referenced by globalPosition().

float TransientTrackingRecHit::weight_
private

Definition at line 110 of file TransientTrackingRecHit.h.

Referenced by setWeight(), and weight().