CMS 3D CMS Logo

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

#include <TSiTrackerMultiRecHit.h>

Inheritance diagram for TSiTrackerMultiRecHit:
TValidTrackingRecHit TrackingRecHit

Public Member Functions

virtual bool canImproveWithTrack () const
 
virtual RecHitPointer clone (const TrajectoryStateOnSurface &ts) const
 
virtual const GeomDetUnitdetUnit () const
 
virtual int dimension () const
 
virtual DetId geographicalId () const
 
float getAnnealingFactor () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
virtual const TrackingRecHithit () const
 
virtual bool isValid () const
 
virtual LocalPoint localPosition () const
 
virtual LocalError localPositionError () const
 
virtual AlgebraicVector parameters () const
 
virtual AlgebraicSymMatrix parametersError () const
 
virtual AlgebraicMatrix projectionMatrix () const
 
virtual std::vector< const
TrackingRecHit * > 
recHits () const
 Access to component RecHits (if any) More...
 
virtual std::vector
< TrackingRecHit * > 
recHits ()
 Non-const access to component RecHits (if any) More...
 
void setAnnealingFactor (float annealing)
 
const SiTrackerMultiRecHitspecificHit () const
 
virtual ConstRecHitContainer transientHits () const
 
float weight (unsigned int i) const
 
float & weight (unsigned int i)
 
std::vector< float > const & weights () const
 
std::vector< float > & weights ()
 
virtual ~TSiTrackerMultiRecHit ()
 
- Public Member Functions inherited from TValidTrackingRecHit
TrackingRecHitcloneHit () const
 
virtual float clusterProbability () const
 cluster probability, overloaded by pixel rechits. More...
 
float errorGlobalR () const
 
float errorGlobalRPhi () const
 
float errorGlobalZ () const
 
virtual GlobalPoint globalPosition () const
 
GlobalError globalPositionError () const
 
TrackingRecHitGlobalState globalState () const
 
virtual const Surfacesurface () const
 
 TValidTrackingRecHit (const GeomDet &geom)
 
template<typename... Args>
 TValidTrackingRecHit (Args &&...args)
 
- Public Member Functions inherited from TrackingRecHit
RecHitPointer cloneForFit (const GeomDet &idet) const
 
virtual RecHitPointer cloneSH () const
 
const GeomDetdet () const
 
DetId geographicalId () const
 
unsigned int getRTTI () const
 
Type getType () const
 
virtual bool hasPositionAndError () const
 to be redefined by daughter class More...
 
bool isValid () const
 
id_type rawId () const
 
virtual void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
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)
 
Type type () const
 
virtual float weight () const
 
virtual ~TrackingRecHit ()
 

Static Public Member Functions

static RecHitPointer build (const GeomDet *geom, const SiTrackerMultiRecHit *rh, const ConstRecHitContainer &components, float annealing=1.)
 

Private Member Functions

virtual TSiTrackerMultiRecHitclone () const
 
 TSiTrackerMultiRecHit (const GeomDet *geom, const SiTrackerMultiRecHit *rh, const ConstRecHitContainer &components, float annealing)
 

Private Attributes

float annealing_
 
ConstRecHitContainer theComponents
 
SiTrackerMultiRecHit theHitData
 

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 }
 
- 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 13 of file TSiTrackerMultiRecHit.h.

Constructor & Destructor Documentation

virtual TSiTrackerMultiRecHit::~TSiTrackerMultiRecHit ( )
inlinevirtual

Definition at line 16 of file TSiTrackerMultiRecHit.h.

16 {}
TSiTrackerMultiRecHit::TSiTrackerMultiRecHit ( const GeomDet geom,
const SiTrackerMultiRecHit rh,
const ConstRecHitContainer components,
float  annealing 
)
inlineprivate

Definition at line 83 of file TSiTrackerMultiRecHit.h.

Referenced by build(), and clone().

Member Function Documentation

static RecHitPointer TSiTrackerMultiRecHit::build ( const GeomDet geom,
const SiTrackerMultiRecHit rh,
const ConstRecHitContainer components,
float  annealing = 1. 
)
inlinestatic

Definition at line 70 of file TSiTrackerMultiRecHit.h.

References TSiTrackerMultiRecHit().

71  {
72  return RecHitPointer(new TSiTrackerMultiRecHit( geom, rh, components, annealing));
73  }
TSiTrackerMultiRecHit(const GeomDet *geom, const SiTrackerMultiRecHit *rh, const ConstRecHitContainer &components, float annealing)
std::shared_ptr< TrackingRecHit const > RecHitPointer
virtual bool TSiTrackerMultiRecHit::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 from TValidTrackingRecHit.

Definition at line 64 of file TSiTrackerMultiRecHit.h.

64 {return true;}
TransientTrackingRecHit::RecHitPointer TSiTrackerMultiRecHit::clone ( const TrajectoryStateOnSurface ts) const
virtual

Definition at line 15 of file TSiTrackerMultiRecHit.cc.

References clone().

15  {
16 /*
17  std::vector<TransientTrackingRecHit::RecHitPointer> updatedcomponents = theComponents;
18  SiTrackerMultiRecHit better = theUpdator->update(ts,&theHitData, updatedcomponents);
19  RecHitPointer result = TSiTrackerMultiRecHit::build( det(), &better, theUpdator, updatedcomponents );
20  return result;
21 */
22  return RecHitPointer(this->clone());
23 }
virtual TSiTrackerMultiRecHit * clone() const
std::shared_ptr< TrackingRecHit const > RecHitPointer
virtual TSiTrackerMultiRecHit* TSiTrackerMultiRecHit::clone ( void  ) const
inlineprivatevirtual

Implements TValidTrackingRecHit.

Definition at line 87 of file TSiTrackerMultiRecHit.h.

References TSiTrackerMultiRecHit().

Referenced by clone().

87  {
88  return new TSiTrackerMultiRecHit(*this);
89  }
TSiTrackerMultiRecHit(const GeomDet *geom, const SiTrackerMultiRecHit *rh, const ConstRecHitContainer &components, float annealing)
const GeomDetUnit * TSiTrackerMultiRecHit::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 from TrackingRecHit.

Definition at line 11 of file TSiTrackerMultiRecHit.cc.

References TrackingRecHit::det().

11  {
12  return dynamic_cast<const GeomDetUnit*>(det());
13 }
const GeomDet * det() const
virtual int TSiTrackerMultiRecHit::dimension ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 29 of file TSiTrackerMultiRecHit.h.

References SiTrackerMultiRecHit::dimension(), and theHitData.

29 {return theHitData.dimension();}
virtual int dimension() const
SiTrackerMultiRecHit theHitData
virtual DetId TSiTrackerMultiRecHit::geographicalId ( ) const
inlinevirtual

Definition at line 27 of file TSiTrackerMultiRecHit.h.

References TrackingRecHit::geographicalId(), and theHitData.

27 {return theHitData.geographicalId();}
DetId geographicalId() const
SiTrackerMultiRecHit theHitData
float TSiTrackerMultiRecHit::getAnnealingFactor ( ) const
inline

Definition at line 50 of file TSiTrackerMultiRecHit.h.

References annealing_.

Referenced by MRHChi2MeasurementEstimator::estimate().

virtual void TSiTrackerMultiRecHit::getKfComponents ( KfComponentsHolder holder) const
inlinevirtual

Reimplemented from TrackingRecHit.

Definition at line 24 of file TSiTrackerMultiRecHit.h.

References TrackingRecHit::det(), HelpertRecHit2DLocalPos::getKfComponents(), and theHitData.

24  {
26  }
const GeomDet * det() const
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
SiTrackerMultiRecHit theHitData
virtual const TrackingRecHit* TSiTrackerMultiRecHit::hit ( void  ) const
inlinevirtual

Reimplemented from TrackingRecHit.

Definition at line 34 of file TSiTrackerMultiRecHit.h.

References theHitData.

34 {return &theHitData;};
SiTrackerMultiRecHit theHitData
virtual bool TSiTrackerMultiRecHit::isValid ( void  ) const
inlinevirtual

Definition at line 37 of file TSiTrackerMultiRecHit.h.

References TrackingRecHit::isValid(), and theHitData.

37 {return theHitData.isValid();}
bool isValid() const
SiTrackerMultiRecHit theHitData
virtual LocalPoint TSiTrackerMultiRecHit::localPosition ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 31 of file TSiTrackerMultiRecHit.h.

References BaseTrackerRecHit::localPosition(), and theHitData.

31 {return theHitData.localPosition();}
virtual LocalPoint localPosition() const
SiTrackerMultiRecHit theHitData
virtual LocalError TSiTrackerMultiRecHit::localPositionError ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 32 of file TSiTrackerMultiRecHit.h.

References BaseTrackerRecHit::localPositionError(), and theHitData.

virtual LocalError localPositionError() const
SiTrackerMultiRecHit theHitData
virtual AlgebraicVector TSiTrackerMultiRecHit::parameters ( void  ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 18 of file TSiTrackerMultiRecHit.h.

References BaseTrackerRecHit::parameters(), and theHitData.

18 {return theHitData.parameters();}
virtual AlgebraicVector parameters() const
SiTrackerMultiRecHit theHitData
virtual AlgebraicSymMatrix TSiTrackerMultiRecHit::parametersError ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 19 of file TSiTrackerMultiRecHit.h.

References TrackingRecHit::det(), BaseTrackerRecHit::localPositionError(), HelpertRecHit2DLocalPos::parError(), and theHitData.

19  {
21  //return theHitData.parametersError();
22  }
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)
virtual LocalError localPositionError() const
const GeomDet * det() const
SiTrackerMultiRecHit theHitData
virtual AlgebraicMatrix TSiTrackerMultiRecHit::projectionMatrix ( ) const
inlinevirtual

Implements TrackingRecHit.

Definition at line 28 of file TSiTrackerMultiRecHit.h.

References BaseTrackerRecHit::projectionMatrix(), and theHitData.

28 {return theHitData.projectionMatrix();}
virtual AlgebraicMatrix projectionMatrix() const
SiTrackerMultiRecHit theHitData
virtual std::vector<const TrackingRecHit*> TSiTrackerMultiRecHit::recHits ( ) const
inlinevirtual

Access to component RecHits (if any)

Implements TrackingRecHit.

Definition at line 39 of file TSiTrackerMultiRecHit.h.

References SiTrackerMultiRecHit::recHits(), and theHitData.

Referenced by TrackerDpgAnalysis::insertMeasurement().

39  {
40  return theHitData.recHits();
41  }
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
SiTrackerMultiRecHit theHitData
virtual std::vector<TrackingRecHit*> TSiTrackerMultiRecHit::recHits ( )
inlinevirtual

Non-const access to component RecHits (if any)

Implements TrackingRecHit.

Definition at line 42 of file TSiTrackerMultiRecHit.h.

References SiTrackerMultiRecHit::recHits(), and theHitData.

42  {
43  return theHitData.recHits();
44  }
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
SiTrackerMultiRecHit theHitData
void TSiTrackerMultiRecHit::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 49 of file TSiTrackerMultiRecHit.h.

References annealing_.

49 {annealing_ = annealing;}
const SiTrackerMultiRecHit* TSiTrackerMultiRecHit::specificHit ( ) const
inline

Definition at line 35 of file TSiTrackerMultiRecHit.h.

References theHitData.

35 {return &theHitData;}
SiTrackerMultiRecHit theHitData
virtual ConstRecHitContainer TSiTrackerMultiRecHit::transientHits ( ) const
inlinevirtual

Reimplemented from TrackingRecHit.

Definition at line 68 of file TSiTrackerMultiRecHit.h.

References theComponents.

Referenced by MRHChi2MeasurementEstimator::estimate().

68 {return theComponents;};
ConstRecHitContainer theComponents
float TSiTrackerMultiRecHit::weight ( unsigned int  i) const
inline
float& TSiTrackerMultiRecHit::weight ( unsigned int  i)
inline
std::vector<float> const& TSiTrackerMultiRecHit::weights ( ) const
inline

Definition at line 54 of file TSiTrackerMultiRecHit.h.

References theHitData, and SiTrackerMultiRecHit::weights().

54 {return theHitData.weights();}
std::vector< float > const & weights() const
SiTrackerMultiRecHit theHitData
std::vector<float>& TSiTrackerMultiRecHit::weights ( )
inline

Definition at line 55 of file TSiTrackerMultiRecHit.h.

References theHitData, and SiTrackerMultiRecHit::weights().

55 {return theHitData.weights();}
std::vector< float > const & weights() const
SiTrackerMultiRecHit theHitData

Member Data Documentation

float TSiTrackerMultiRecHit::annealing_
private

Definition at line 81 of file TSiTrackerMultiRecHit.h.

Referenced by getAnnealingFactor(), and setAnnealingFactor().

ConstRecHitContainer TSiTrackerMultiRecHit::theComponents
private

Definition at line 80 of file TSiTrackerMultiRecHit.h.

Referenced by transientHits().

SiTrackerMultiRecHit TSiTrackerMultiRecHit::theHitData
private