CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Protected Attributes
FTLTrackingRecHit< ObjRef > Class Template Reference

Basic template class for a RecHit wrapping a Ref to an object. More...

#include <FTLTrackingRecHit.h>

Inheritance diagram for FTLTrackingRecHit< ObjRef >:
RecHit2DLocalPos TrackingRecHit

Public Types

typedef ObjRef::value_type obj_type
 
typedef ObjRef ref_type
 
- Public Types inherited from RecHit2DLocalPos
typedef GloballyPositioned< float >::LocalPoint LocalPoint
 
- Public Types inherited from TrackingRecHit
typedef std::vector< ConstRecHitPointerConstRecHitContainer
 
using ConstRecHitPointer = std::shared_ptr< TrackingRecHit const >
 
typedef unsigned int id_type
 
typedef std::vector< ConstRecHitPointerRecHitContainer
 
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, inactive_inner = 6, inactive_outer = 7
}
 

Public Member Functions

FTLTrackingRecHit< ObjRef > * clone () const override
 
float energy () const
 
 FTLTrackingRecHit ()
 
 FTLTrackingRecHit (DetId id, const ObjRef &objref, const LocalPoint &pos, const LocalError &err)
 
LocalPoint localPosition () const override
 
LocalError localPositionError () const override
 
const ObjRef & objRef () const
 
template<>
bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 
bool sharesInput (const TrackingRecHit *other, SharedInputType what) const override
 
template<>
bool sharesInput (const TrackingRecHit *other, SharedInputType what) const
 
float time () const
 
float timeError () const
 
- Public Member Functions inherited from RecHit2DLocalPos
int dimension () const override
 
AlgebraicVector parameters () const override
 
AlgebraicSymMatrix parametersError () const override
 
AlgebraicMatrix projectionMatrix () const override
 
 RecHit2DLocalPos (DetId id)
 
 RecHit2DLocalPos (TrackingRecHit::id_type id=0)
 
std::vector< const TrackingRecHit * > recHits () const override
 Access to component RecHits (if any) More...
 
std::vector< TrackingRecHit * > recHits () override
 Non-const access to component RecHits (if any) More...
 
 ~RecHit2DLocalPos () override
 
- Public Member Functions inherited from TrackingRecHit
virtual bool canImproveWithTrack () const
 
RecHitPointer cloneForFit (const GeomDet &idet) const
 
virtual TrackingRecHitcloneHit () const
 
virtual RecHitPointer cloneSH () const
 
const GeomDetdet () const
 
virtual const GeomDetUnitdetUnit () const
 
virtual float errorGlobalR () const
 
virtual float errorGlobalRPhi () const
 
virtual float errorGlobalZ () const
 
DetId geographicalId () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
unsigned int getRTTI () const
 
Type getType () const
 
virtual GlobalPoint globalPosition () const
 
virtual GlobalError globalPositionError () const
 
virtual bool hasPositionAndError () const
 to be redefined by daughter class More...
 
virtual TrackingRecHit const * hit () const
 
bool isValid () const
 
id_type rawId () const
 
virtual void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
virtual void setDet (const GeomDet &idet)
 
virtual const Surfacesurface () 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_
 
ObjRef objref_
 
LocalPoint pos_
 

Additional Inherited Members

- 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

template<typename ObjRef>
class FTLTrackingRecHit< ObjRef >

Basic template class for a RecHit wrapping a Ref to an object.

Definition at line 10 of file FTLTrackingRecHit.h.

Member Typedef Documentation

template<typename ObjRef>
typedef ObjRef::value_type FTLTrackingRecHit< ObjRef >::obj_type

Definition at line 13 of file FTLTrackingRecHit.h.

template<typename ObjRef>
typedef ObjRef FTLTrackingRecHit< ObjRef >::ref_type

Definition at line 12 of file FTLTrackingRecHit.h.

Constructor & Destructor Documentation

template<typename ObjRef>
FTLTrackingRecHit< ObjRef >::FTLTrackingRecHit ( )
inline

Definition at line 15 of file FTLTrackingRecHit.h.

15 {}
template<typename ObjRef>
FTLTrackingRecHit< ObjRef >::FTLTrackingRecHit ( DetId  id,
const ObjRef &  objref,
const LocalPoint pos,
const LocalError err 
)
inline

Definition at line 16 of file FTLTrackingRecHit.h.

16  :
17  RecHit2DLocalPos(id),
18  objref_(objref),
19  pos_(pos), err_(err) {}
RecHit2DLocalPos(DetId id)

Member Function Documentation

template<typename ObjRef>
FTLTrackingRecHit<ObjRef>* FTLTrackingRecHit< ObjRef >::clone ( void  ) const
inlineoverridevirtual

Implements RecHit2DLocalPos.

Definition at line 21 of file FTLTrackingRecHit.h.

21 { return new FTLTrackingRecHit<ObjRef>(*this); }
Basic template class for a RecHit wrapping a Ref to an object.
template<typename ObjRef>
float FTLTrackingRecHit< ObjRef >::energy ( ) const
inline

Definition at line 28 of file FTLTrackingRecHit.h.

References FTLTrackingRecHit< ObjRef >::objref_.

Referenced by Jet.Jet::rawEnergy().

28 { return objref_->energy(); }
template<typename ObjRef>
LocalPoint FTLTrackingRecHit< ObjRef >::localPosition ( ) const
inlineoverridevirtual

Implements RecHit2DLocalPos.

Definition at line 23 of file FTLTrackingRecHit.h.

References FTLTrackingRecHit< ObjRef >::pos_.

23 { return pos_; }
template<typename ObjRef>
LocalError FTLTrackingRecHit< ObjRef >::localPositionError ( ) const
inlineoverridevirtual

Implements RecHit2DLocalPos.

Definition at line 24 of file FTLTrackingRecHit.h.

References FTLTrackingRecHit< ObjRef >::err_.

24 { return err_; }
template<typename ObjRef>
const ObjRef& FTLTrackingRecHit< ObjRef >::objRef ( ) const
inline

Definition at line 26 of file FTLTrackingRecHit.h.

References FTLTrackingRecHit< ObjRef >::objref_.

26 { return objref_; }
template<>
bool FTLTrackingRecHit< FTLRecHitRef >::sharesInput ( const TrackingRecHit other,
SharedInputType  what 
) const
virtual

Returns true if the two TrackingRecHits are using the same input information (like Digis, Clusters, etc), false otherwise. The second argument specifies how much sharing is needed in order to return true: the value "all" means that all inputs of the two hits must be identical; the value "some" means that at least one of the inputs is in common.

Reimplemented from TrackingRecHit.

Definition at line 4 of file FTLTrackingRecHit.cc.

References trackingPlots::other.

5 {
6  if (typeid(*other) == typeid(FTLTrackingRecHit<FTLRecHitRef>)) {
7  return objRef() == (static_cast<const FTLTrackingRecHit<FTLRecHitRef> *>(other))->objRef();
8  } else {
9  return false;
10  }
11 }
Basic template class for a RecHit wrapping a Ref to an object.
const ObjRef & objRef() const
template<typename ObjRef>
bool FTLTrackingRecHit< ObjRef >::sharesInput ( const TrackingRecHit other,
SharedInputType  what 
) const
inlineoverridevirtual

Returns true if the two TrackingRecHits are using the same input information (like Digis, Clusters, etc), false otherwise. The second argument specifies how much sharing is needed in order to return true: the value "all" means that all inputs of the two hits must be identical; the value "some" means that at least one of the inputs is in common.

Reimplemented from TrackingRecHit.

Definition at line 33 of file FTLTrackingRecHit.h.

33 { assert(false); }
template<>
bool FTLTrackingRecHit< FTLRecHitRef >::sharesInput ( const TrackingRecHit other,
SharedInputType  what 
) const
virtual

Returns true if the two TrackingRecHits are using the same input information (like Digis, Clusters, etc), false otherwise. The second argument specifies how much sharing is needed in order to return true: the value "all" means that all inputs of the two hits must be identical; the value "some" means that at least one of the inputs is in common.

Reimplemented from TrackingRecHit.

template<typename ObjRef>
float FTLTrackingRecHit< ObjRef >::time ( ) const
inline

Definition at line 30 of file FTLTrackingRecHit.h.

References FTLTrackingRecHit< ObjRef >::objref_.

30 { return objref_->time(); }
template<typename ObjRef>
float FTLTrackingRecHit< ObjRef >::timeError ( ) const
inline

Definition at line 31 of file FTLTrackingRecHit.h.

References FTLTrackingRecHit< ObjRef >::objref_.

31 { return objref_->timeError(); }

Member Data Documentation

template<typename ObjRef>
LocalError FTLTrackingRecHit< ObjRef >::err_
protected

Definition at line 37 of file FTLTrackingRecHit.h.

Referenced by FTLTrackingRecHit< ObjRef >::localPositionError().

template<typename ObjRef>
ObjRef FTLTrackingRecHit< ObjRef >::objref_
protected
template<typename ObjRef>
LocalPoint FTLTrackingRecHit< ObjRef >::pos_
protected

Definition at line 36 of file FTLTrackingRecHit.h.

Referenced by FTLTrackingRecHit< ObjRef >::localPosition().