CMS 3D CMS Logo

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

#include <BaseTrackerRecHit.h>

Inheritance diagram for BaseTrackerRecHit:
TrackingRecHit FastTrackerRecHit SiStripMatchedRecHit2D SiTrackerMultiRecHit TrackerSingleRecHit FastMatchedTrackerRecHit FastProjectedTrackerRecHit FastSingleTrackerRecHit ProjectedSiStripRecHit2D SiPixelRecHit SiStripRecHit1D SiStripRecHit2D

Public Member Functions

 BaseTrackerRecHit ()
 
 BaseTrackerRecHit (DetId id, trackerHitRTTI::RTTI rt)
 
 BaseTrackerRecHit (const LocalPoint &p, const LocalError &e, GeomDet const &idet, trackerHitRTTI::RTTI rt)
 
virtual float clusterProbability () const
 cluster probability, overloaded by pixel rechits. More...
 
virtual int dimension () const =0
 
float errorGlobalR () const final
 
float errorGlobalRPhi () const final
 
float errorGlobalZ () const final
 
virtual OmniClusterRef const & firstClusterRef () const =0
 
virtual void getKfComponents (KfComponentsHolder &holder) const =0
 
void getKfComponents1D (KfComponentsHolder &holder) const
 
void getKfComponents2D (KfComponentsHolder &holder) const
 
virtual GlobalPoint globalPosition () const final
 
GlobalError globalPositionError () const final
 
TrackingRecHitGlobalState globalState () const
 
bool hasPositionAndError () const final
 to be redefined by daughter class More...
 
BaseTrackerRecHit const * hit () const final
 
bool isMatched () const
 
bool isMulti () const
 
virtual bool isPixel () const
 
bool isProjected () const
 
bool isProjMono () const
 
bool isProjSterep () const
 
bool isSingle () const
 
virtual LocalPoint localPosition () const final
 
virtual LocalError localPositionError () const final
 
const LocalErrorlocalPositionErrorFast () const
 
const LocalPointlocalPositionFast () const
 
virtual AlgebraicVector parameters () const
 
virtual AlgebraicSymMatrix parametersError () const
 
virtual AlgebraicMatrix projectionMatrix () const
 
trackerHitRTTI::RTTI rtti () const
 
bool sameDetModule (TrackingRecHit const &hit) const
 
virtual const Surfacesurface () const final
 
virtual ~BaseTrackerRecHit ()
 
- Public Member Functions inherited from TrackingRecHit
virtual bool canImproveWithTrack () const
 
virtual TrackingRecHitclone () const =0
 
RecHitPointer cloneForFit (const GeomDet &idet) const
 
virtual TrackingRecHitcloneHit () const
 
virtual RecHitPointer cloneSH () const
 
const GeomDetdet () const
 
virtual const GeomDetUnitdetUnit () const
 
DetId geographicalId () const
 
unsigned int getRTTI () const
 
Type getType () const
 
bool isValid () const
 
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 void setDet (const GeomDet &idet)
 
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)
 
 TrackingRecHit (const GeomDet &idet, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, unsigned int rt, Type type=valid)
 
 TrackingRecHit (const GeomDet &idet, TrackingRecHit const &rh)
 
virtual ConstRecHitContainer transientHits () const
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 

Protected Attributes

LocalError err_
 
LocalPoint pos_
 
unsigned int qualWord_
 

Static Private Member Functions

static void check ()
 

Additional Inherited Members

- Public Types inherited from TrackingRecHit
typedef std::vector
< ConstRecHitPointer
ConstRecHitContainer
 
using ConstRecHitPointer = std::shared_ptr< TrackingRecHit const >
 
typedef unsigned int id_type
 
typedef std::vector
< ConstRecHitPointer
RecHitContainer
 
using RecHitPointer = std::shared_ptr< TrackingRecHit const >
 
enum  SharedInputType { all, some }
 definition of equality via shared input More...
 
enum  Type {
  valid = 0, missing = 1, inactive = 2, bad = 3,
  missing_inner = 4, missing_outer = 5
}
 
- Static Public Attributes inherited from TrackingRecHit
static const int rttiShift = 24
 
static const int typeMask = 0xf
 
- 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 33 of file BaseTrackerRecHit.h.

Constructor & Destructor Documentation

BaseTrackerRecHit::BaseTrackerRecHit ( )
inline

Definition at line 35 of file BaseTrackerRecHit.h.

virtual BaseTrackerRecHit::~BaseTrackerRecHit ( )
inlinevirtual

Definition at line 40 of file BaseTrackerRecHit.h.

BaseTrackerRecHit::BaseTrackerRecHit ( DetId  id,
trackerHitRTTI::RTTI  rt 
)
inline

Definition at line 43 of file BaseTrackerRecHit.h.

BaseTrackerRecHit::BaseTrackerRecHit ( const LocalPoint p,
const LocalError e,
GeomDet const &  idet,
trackerHitRTTI::RTTI  rt 
)
inline

Definition at line 45 of file BaseTrackerRecHit.h.

Member Function Documentation

static void BaseTrackerRecHit::check ( )
inlinestaticprivate

Definition at line 139 of file BaseTrackerRecHit.h.

virtual float BaseTrackerRecHit::clusterProbability ( ) const
inlinevirtual

cluster probability, overloaded by pixel rechits.

Definition at line 123 of file BaseTrackerRecHit.h.

virtual int BaseTrackerRecHit::dimension ( ) const
pure virtual
float BaseTrackerRecHit::errorGlobalR ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 103 of file BaseTrackerRecHit.h.

float BaseTrackerRecHit::errorGlobalRPhi ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 105 of file BaseTrackerRecHit.h.

float BaseTrackerRecHit::errorGlobalZ ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 104 of file BaseTrackerRecHit.h.

virtual OmniClusterRef const& BaseTrackerRecHit::firstClusterRef ( ) const
pure virtual
virtual void BaseTrackerRecHit::getKfComponents ( KfComponentsHolder holder) const
pure virtual
void BaseTrackerRecHit::getKfComponents1D ( KfComponentsHolder holder) const

Definition at line 39 of file BaseTrackerRecHit.cc.

References err_, KfComponentsHolder::errors(), ProjectMatrix< T, N, D >::index, KfComponentsHolder::measuredErrors(), KfComponentsHolder::measuredParams(), KfComponentsHolder::params(), pos_, KfComponentsHolder::projFunc(), KfComponentsHolder::tsosLocalErrors(), KfComponentsHolder::tsosLocalParameters(), PV3DBase< T, PVType, FrameType >::x(), and LocalError::xx().

Referenced by SiTrackerMultiRecHit::getKfComponents(), and SiStripRecHit1D::getKfComponents().

40 {
41  // if (!hasPositionAndError()) throwExceptionUninitialized("getKfComponents");
42  AlgebraicVector1 & pars = holder.params<1>();
43  pars[0] = pos_.x();
44 
45  AlgebraicSymMatrix11 & errs = holder.errors<1>();
46  errs(0,0) = err_.xx();
47 
48  ProjectMatrix<double,5,1> & pf = holder.projFunc<1>();
49  pf.index[0] = 3;
50 
51  holder.measuredParams<1>() = AlgebraicVector1( holder.tsosLocalParameters().At(3) );
52  holder.measuredErrors<1>() = holder.tsosLocalErrors().Sub<AlgebraicSymMatrix11>( 3, 3 );
53 }
float xx() const
Definition: LocalError.h:24
AlgebraicROOTObject< D, D >::SymMatrix & measuredErrors()
ROOT::Math::SVector< double, 1 > AlgebraicVector1
AlgebraicROOTObject< D >::Vector & params()
const AlgebraicVector5 & tsosLocalParameters() const
AlgebraicROOTObject< D >::Vector & measuredParams()
unsigned int index[D]
Definition: ProjectMatrix.h:62
AlgebraicROOTObject< D, D >::SymMatrix & errors()
T x() const
Definition: PV3DBase.h:62
const AlgebraicSymMatrix55 & tsosLocalErrors() const
ProjectMatrix< double, 5, D > & projFunc()
ROOT::Math::SMatrix< double, 1, 1, ROOT::Math::MatRepSym< double, 1 > > AlgebraicSymMatrix11
void BaseTrackerRecHit::getKfComponents2D ( KfComponentsHolder holder) const

Definition at line 56 of file BaseTrackerRecHit.cc.

References err_, KfComponentsHolder::errors(), ProjectMatrix< T, N, D >::index, KfComponentsHolder::measuredErrors(), KfComponentsHolder::measuredParams(), KfComponentsHolder::params(), pos_, KfComponentsHolder::projFunc(), KfComponentsHolder::tsosLocalErrors(), KfComponentsHolder::tsosLocalParameters(), PV3DBase< T, PVType, FrameType >::x(), LocalError::xx(), LocalError::xy(), PV3DBase< T, PVType, FrameType >::y(), and LocalError::yy().

Referenced by SiTrackerMultiRecHit::getKfComponents(), SiStripRecHit2D::getKfComponents(), ProjectedSiStripRecHit2D::getKfComponents(), SiStripMatchedRecHit2D::getKfComponents(), and SiPixelRecHit::getKfComponents().

57 {
58  //if (!hasPositionAndError()) throwExceptionUninitialized("getKfComponents");
59  AlgebraicVector2 & pars = holder.params<2>();
60  pars[0] = pos_.x();
61  pars[1] = pos_.y();
62 
63  AlgebraicSymMatrix22 & errs = holder.errors<2>();
64  errs(0,0) = err_.xx();
65  errs(0,1) = err_.xy();
66  errs(1,1) = err_.yy();
67 
68  ProjectMatrix<double,5,2> & pf = holder.projFunc<2>();
69  pf.index[0] = 3;
70  pf.index[1] = 4;
71 
72  holder.measuredParams<2>() = AlgebraicVector2( & holder.tsosLocalParameters().At(3), 2 );
73  holder.measuredErrors<2>() = holder.tsosLocalErrors().Sub<AlgebraicSymMatrix22>( 3, 3 );
74 
75 }
float xx() const
Definition: LocalError.h:24
AlgebraicROOTObject< D, D >::SymMatrix & measuredErrors()
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > AlgebraicSymMatrix22
T y() const
Definition: PV3DBase.h:63
float xy() const
Definition: LocalError.h:25
float yy() const
Definition: LocalError.h:26
AlgebraicROOTObject< D >::Vector & params()
const AlgebraicVector5 & tsosLocalParameters() const
AlgebraicROOTObject< D >::Vector & measuredParams()
unsigned int index[D]
Definition: ProjectMatrix.h:62
AlgebraicROOTObject< D, D >::SymMatrix & errors()
T x() const
Definition: PV3DBase.h:62
const AlgebraicSymMatrix55 & tsosLocalErrors() const
ProjectMatrix< double, 5, D > & projFunc()
ROOT::Math::SVector< double, 2 > AlgebraicVector2
virtual GlobalPoint BaseTrackerRecHit::globalPosition ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 98 of file BaseTrackerRecHit.h.

GlobalError BaseTrackerRecHit::globalPositionError ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 102 of file BaseTrackerRecHit.h.

TrackingRecHitGlobalState BaseTrackerRecHit::globalState ( ) const
inline

Definition at line 108 of file BaseTrackerRecHit.h.

bool BaseTrackerRecHit::hasPositionAndError ( ) const
finalvirtual

to be redefined by daughter class

Reimplemented from TrackingRecHit.

Definition at line 29 of file BaseTrackerRecHit.cc.

References TrackingRecHit::det().

29  {
30  return det();
31 
32  // return (err_.xx() != 0) || (err_.yy() != 0) || (err_.xy() != 0) ||
33  // (pos_.x() != 0) || (pos_.y() != 0) || (pos_.z() != 0);
34 }
const GeomDet * det() const
BaseTrackerRecHit const* BaseTrackerRecHit::hit ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 38 of file BaseTrackerRecHit.h.

Referenced by SiTrackerMultiRecHit::sharesInput().

bool BaseTrackerRecHit::isMatched ( ) const
inline

Definition at line 58 of file BaseTrackerRecHit.h.

Referenced by FastTrackerRecHitSplitter::split().

bool BaseTrackerRecHit::isMulti ( ) const
inline

Definition at line 62 of file BaseTrackerRecHit.h.

virtual bool BaseTrackerRecHit::isPixel ( ) const
inlinevirtual

Reimplemented in FastTrackerRecHit, and SiPixelRecHit.

Definition at line 64 of file BaseTrackerRecHit.h.

bool BaseTrackerRecHit::isProjected ( ) const
inline

Definition at line 59 of file BaseTrackerRecHit.h.

Referenced by FastTrackerRecHitSplitter::split().

bool BaseTrackerRecHit::isProjMono ( ) const
inline

Definition at line 60 of file BaseTrackerRecHit.h.

bool BaseTrackerRecHit::isProjSterep ( ) const
inline

Definition at line 61 of file BaseTrackerRecHit.h.

bool BaseTrackerRecHit::isSingle ( ) const
inline

Definition at line 57 of file BaseTrackerRecHit.h.

virtual LocalPoint BaseTrackerRecHit::localPosition ( ) const
inlinefinalvirtual
virtual LocalError BaseTrackerRecHit::localPositionError ( ) const
inlinefinalvirtual
const LocalError& BaseTrackerRecHit::localPositionErrorFast ( ) const
inline

Definition at line 81 of file BaseTrackerRecHit.h.

const LocalPoint& BaseTrackerRecHit::localPositionFast ( ) const
inline

Definition at line 80 of file BaseTrackerRecHit.h.

AlgebraicVector BaseTrackerRecHit::parameters ( void  ) const
virtual

Implements TrackingRecHit.

Definition at line 78 of file BaseTrackerRecHit.cc.

78  {
79  obsolete();
80  return AlgebraicVector();
81 }
CLHEP::HepVector AlgebraicVector
AlgebraicSymMatrix BaseTrackerRecHit::parametersError ( ) const
virtual

Implements TrackingRecHit.

Definition at line 83 of file BaseTrackerRecHit.cc.

83  {
84  obsolete();
85  return AlgebraicSymMatrix();
86 }
CLHEP::HepSymMatrix AlgebraicSymMatrix
AlgebraicMatrix BaseTrackerRecHit::projectionMatrix ( ) const
virtual

Implements TrackingRecHit.

Definition at line 89 of file BaseTrackerRecHit.cc.

89  {
90  obsolete();
91  return AlgebraicMatrix();
92 }
CLHEP::HepMatrix AlgebraicMatrix
trackerHitRTTI::RTTI BaseTrackerRecHit::rtti ( ) const
inline

Definition at line 56 of file BaseTrackerRecHit.h.

bool BaseTrackerRecHit::sameDetModule ( TrackingRecHit const &  hit) const
inline
virtual const Surface* BaseTrackerRecHit::surface ( ) const
inlinefinalvirtual

Reimplemented from TrackingRecHit.

Definition at line 95 of file BaseTrackerRecHit.h.

Member Data Documentation

LocalError BaseTrackerRecHit::err_
protected

Definition at line 145 of file BaseTrackerRecHit.h.

Referenced by getKfComponents1D(), and getKfComponents2D().

LocalPoint BaseTrackerRecHit::pos_
protected

Definition at line 144 of file BaseTrackerRecHit.h.

Referenced by getKfComponents1D(), and getKfComponents2D().

unsigned int BaseTrackerRecHit::qualWord_
protected