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 Member Functions | Protected Attributes
FastTrackerRecHit Class Reference

#include <FastTrackerRecHit.h>

Inheritance diagram for FastTrackerRecHit:
BaseTrackerRecHit TrackingRecHit FastMatchedTrackerRecHit FastProjectedTrackerRecHit FastSingleTrackerRecHit

Public Member Functions

virtual bool canImproveWithTrack () const override
 
virtual FastTrackerRecHitclone () const override
 
int dimension () const override
 get the dimensions right More...
 
virtual int32_t eventId (size_t i=0) const
 
 FastTrackerRecHit ()
 
 FastTrackerRecHit (const LocalPoint &p, const LocalError &e, GeomDet const &idet, fastTrackerRecHitType::HitType hitType)
 
OmniClusterRef const & firstClusterRef () const override
 
void getKfComponents (KfComponentsHolder &holder) const override
 
virtual int32_t id (size_t i=0) const
 
bool isPixel () const override
 pixel or strip? More...
 
virtual size_t nIds () const
 
virtual size_t nSimTrackIds () const
 
virtual int32_t recHitCombinationIndex () const
 
virtual std::vector< const
TrackingRecHit * > 
recHits () const override
 
virtual std::vector
< TrackingRecHit * > 
recHits () override
 
bool sameId (const FastTrackerRecHit *other, size_t i=0, size_t j=0) const
 
void set2D (bool is2D=true)
 
virtual void setEventId (int32_t eventId)
 
virtual void setRecHitCombinationIndex (int32_t recHitCombinationIndex)
 
bool sharesInput (const TrackingRecHit *other, SharedInputType what) const override
 
virtual int32_t simTrackEventId (size_t i) const
 
virtual int32_t simTrackId (size_t i) const
 
 ~FastTrackerRecHit ()
 
- Public Member Functions inherited from BaseTrackerRecHit
 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...
 
float errorGlobalR () const final
 
float errorGlobalRPhi () const final
 
float errorGlobalZ () const final
 
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
 
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
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 void recHitsV (std::vector< const TrackingRecHit * > &) const
 
virtual void recHitsV (std::vector< TrackingRecHit * > &)
 
virtual void setDet (const GeomDet &idet)
 
 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 Member Functions

virtual FastTrackerRecHitclone (TkCloner const &cloner, TrajectoryStateOnSurface const &tsos) const override
 
void load ()
 helps making the hit postion and error persistent More...
 
void store ()
 helps making the hit postion and error persistent More...
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setRTTI (unsigned int rt)
 
void setType (Type ttype)
 

Protected Attributes

bool is2D_
 hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true) More...
 
const bool isPixel_
 hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false) More...
 
LocalError myErr_
 helps making the hit postion and error persistent More...
 
LocalPoint myPos_
 helps making the hit postion and error persistent More...
 
uint32_t recHitCombinationIndex_
 
- Protected Attributes inherited from BaseTrackerRecHit
LocalError err_
 
LocalPoint pos_
 
unsigned int qualWord_
 

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
 

Detailed Description

Definition at line 37 of file FastTrackerRecHit.h.

Constructor & Destructor Documentation

FastTrackerRecHit::FastTrackerRecHit ( )
inline

default constructor

Definition at line 43 of file FastTrackerRecHit.h.

Referenced by clone().

45  , isPixel_(false)
46  , is2D_(true)
48  {}
const bool isPixel_
hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false) ...
uint32_t recHitCombinationIndex_
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)
FastTrackerRecHit::~FastTrackerRecHit ( )
inline

destructor

Definition at line 52 of file FastTrackerRecHit.h.

52 {}
FastTrackerRecHit::FastTrackerRecHit ( const LocalPoint p,
const LocalError e,
GeomDet const &  idet,
fastTrackerRecHitType::HitType  hitType 
)
inline

constructor requires a position with error in local detector coordinates, the detector id, and type information (rt)

Definition at line 57 of file FastTrackerRecHit.h.

References store().

62  {store();}
trackerHitRTTI::RTTI rtti(HitType hitType)
const bool isPixel_
hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false) ...
uint32_t recHitCombinationIndex_
void store()
helps making the hit postion and error persistent
bool is2D(HitType hitType)
bool isPixel(HitType hitType)
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)

Member Function Documentation

virtual bool FastTrackerRecHit::canImproveWithTrack ( ) const
inlineoverridevirtual

Steers behaviour of hit in track fit. FastSim hit smearing assumes

Reimplemented from TrackingRecHit.

Definition at line 76 of file FastTrackerRecHit.h.

76 {return false;}
virtual FastTrackerRecHit* FastTrackerRecHit::clone ( void  ) const
inlineoverridevirtual
virtual FastTrackerRecHit* FastTrackerRecHit::clone ( TkCloner const &  cloner,
TrajectoryStateOnSurface const &  tsos 
) const
inlineoverrideprotectedvirtual

Reimplemented from TrackingRecHit.

Definition at line 177 of file FastTrackerRecHit.h.

References clone().

177  {
178  return this->clone();
179  }
virtual FastTrackerRecHit * clone() const override
int FastTrackerRecHit::dimension ( ) const
inlineoverridevirtual

get the dimensions right

Steers behaviour of hit in track fit. Hit is interpreted as 1D or 2D depending on value of is2D_

Implements BaseTrackerRecHit.

Definition at line 72 of file FastTrackerRecHit.h.

References is2D_.

Referenced by FastTrackerRecHitSplitter::split().

virtual int32_t FastTrackerRecHit::eventId ( size_t  i = 0) const
inlinevirtual

Reimplemented in FastMatchedTrackerRecHit, FastProjectedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 82 of file FastTrackerRecHit.h.

Referenced by sameId().

82 { return -1;}
OmniClusterRef const & FastTrackerRecHit::firstClusterRef ( ) const
overridevirtual

bogus function : implement purely virutal function of BaseTrackerRecHit

Implements BaseTrackerRecHit.

Definition at line 8 of file FastTrackerRecHit.cc.

8 { return nullRef;}
void FastTrackerRecHit::getKfComponents ( KfComponentsHolder holder) const
inlineoverridevirtual

Steers behaviour of hit in track fit. Hit is interpreted as 1D or 2D depending on value of is2D_

Implements BaseTrackerRecHit.

Definition at line 68 of file FastTrackerRecHit.h.

References BaseTrackerRecHit::getKfComponents1D(), BaseTrackerRecHit::getKfComponents2D(), and is2D_.

68 { if(is2D_) getKfComponents2D(holder); else getKfComponents1D(holder);}
void getKfComponents2D(KfComponentsHolder &holder) const
void getKfComponents1D(KfComponentsHolder &holder) const
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)
virtual int32_t FastTrackerRecHit::id ( size_t  i = 0) const
inlinevirtual
bool FastTrackerRecHit::isPixel ( ) const
inlineoverridevirtual

pixel or strip?

Reimplemented from BaseTrackerRecHit.

Definition at line 90 of file FastTrackerRecHit.h.

References isPixel_.

Referenced by FastTrackerRecHitSplitter::split().

void FastTrackerRecHit::load ( )
inlineprotected

helps making the hit postion and error persistent

Definition at line 171 of file FastTrackerRecHit.h.

References BaseTrackerRecHit::err_, myErr_, myPos_, and BaseTrackerRecHit::pos_.

Referenced by FastSingleTrackerRecHit::clone(), FastProjectedTrackerRecHit::clone(), FastMatchedTrackerRecHit::clone(), and clone().

virtual size_t FastTrackerRecHit::nIds ( ) const
inlinevirtual
virtual size_t FastTrackerRecHit::nSimTrackIds ( ) const
inlinevirtual
virtual int32_t FastTrackerRecHit::recHitCombinationIndex ( ) const
inlinevirtual

Definition at line 88 of file FastTrackerRecHit.h.

References recHitCombinationIndex_.

Referenced by setRecHitCombinationIndex().

88 { return recHitCombinationIndex_;}
uint32_t recHitCombinationIndex_
virtual std::vector<const TrackingRecHit*> FastTrackerRecHit::recHits ( void  ) const
inlineoverridevirtual

bogus function : implement purely virtual function of TrackingRecHit

Implements TrackingRecHit.

Definition at line 102 of file FastTrackerRecHit.h.

102 { return std::vector<TrackingRecHit const*>();}
virtual std::vector<TrackingRecHit*> FastTrackerRecHit::recHits ( void  )
inlineoverridevirtual

bogus function : implement purely virtual function of TrackingRecHit

Implements TrackingRecHit.

Definition at line 106 of file FastTrackerRecHit.h.

106 { return std::vector<TrackingRecHit*>();}
bool FastTrackerRecHit::sameId ( const FastTrackerRecHit other,
size_t  i = 0,
size_t  j = 0 
) const
inline

fastsim's way to check whether 2 single hits share sim-information or not hits are considered to share sim-information if

  • they have the same hit id number
  • they have the same event id number

Definition at line 120 of file FastTrackerRecHit.h.

References eventId(), i, id(), and j.

Referenced by TrackCandidateProducer::produce(), and sharesInput().

120 {return id(i) == other->id(j) && eventId(i) == other->eventId(j);}
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9
virtual int32_t eventId(size_t i=0) const
virtual int32_t id(size_t i=0) const
void FastTrackerRecHit::set2D ( bool  is2D = true)
inline

Definition at line 96 of file FastTrackerRecHit.h.

References fastTrackerRecHitType::is2D(), and is2D_.

Referenced by FastTrackerRecHitSplitter::buildSplitStripHit().

96 {is2D_ = is2D;}
bool is2D(HitType hitType)
bool is2D_
hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)
virtual void FastTrackerRecHit::setEventId ( int32_t  eventId)
inlinevirtual

Reimplemented in FastMatchedTrackerRecHit, FastSingleTrackerRecHit, and FastProjectedTrackerRecHit.

Definition at line 94 of file FastTrackerRecHit.h.

Referenced by edm::detail::doTheOffset().

94 {};
virtual void FastTrackerRecHit::setRecHitCombinationIndex ( int32_t  recHitCombinationIndex)
inlinevirtual
bool FastTrackerRecHit::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 121 of file FastTrackerRecHit.h.

References TrackingRecHit::all, trackerHitRTTI::isFast(), nIds(), and sameId().

121  {
122 
123  // cast other hit
124  if(!trackerHitRTTI::isFast(*other) )
125  return false;
126  const FastTrackerRecHit * otherCast = static_cast<const FastTrackerRecHit *>(other);
127 
128  // checks
129  if(this->nIds() == 1){ // this hit is single/projected
130  if(otherCast->nIds() == 1){ // other hit is single/projected
131  return this->sameId(otherCast,0,0);
132  }
133  else { // other hit is matched
134  if(what == all){
135  return false;
136  }
137  else {
138  return(this->sameId(otherCast,0,0) || this->sameId(otherCast,0,1));
139  }
140  }
141  }
142  else{ // this hit is matched
143  if(otherCast->nIds() == 1){ // other hit is single/projected
144  if (what == all){
145  return false;
146  }
147  else{
148  return(this->sameId(otherCast,0,0) || this->sameId(otherCast,1,0));
149  }
150  }
151  else{ // other hit is matched
152  if(what == all){
153  return(this->sameId(otherCast,0,0) && this->sameId(otherCast,1,1));
154  }
155  else {
156  return(this->sameId(otherCast,0,0) || this->sameId(otherCast,1,1));
157  }
158  }
159  }
160  }
virtual size_t nIds() const
bool sameId(const FastTrackerRecHit *other, size_t i=0, size_t j=0) const
bool isFast(TrackingRecHit const &hit)
virtual int32_t FastTrackerRecHit::simTrackEventId ( size_t  i) const
inlinevirtual

Reimplemented in FastMatchedTrackerRecHit, FastProjectedTrackerRecHit, and FastSingleTrackerRecHit.

Definition at line 86 of file FastTrackerRecHit.h.

Referenced by TrackerHitAssociator::associateFastRecHit().

86 { return -1;}
virtual int32_t FastTrackerRecHit::simTrackId ( size_t  i) const
inlinevirtual
void FastTrackerRecHit::store ( )
inlineprotected

helps making the hit postion and error persistent

Definition at line 170 of file FastTrackerRecHit.h.

References BaseTrackerRecHit::err_, myErr_, myPos_, and BaseTrackerRecHit::pos_.

Referenced by FastTrackerRecHit().

Member Data Documentation

bool FastTrackerRecHit::is2D_
protected

hit is either one dimensional (is2D_ = false) or two dimensions (is2D_ = true)

Definition at line 165 of file FastTrackerRecHit.h.

Referenced by dimension(), getKfComponents(), and set2D().

const bool FastTrackerRecHit::isPixel_
protected

hit is either on pixel modul (isPixel_ = true) or strip module (isPixel_ = false)

Definition at line 164 of file FastTrackerRecHit.h.

Referenced by isPixel().

LocalError FastTrackerRecHit::myErr_
protected

helps making the hit postion and error persistent

Definition at line 168 of file FastTrackerRecHit.h.

Referenced by load(), and store().

LocalPoint FastTrackerRecHit::myPos_
protected

helps making the hit postion and error persistent

Definition at line 167 of file FastTrackerRecHit.h.

Referenced by load(), and store().

uint32_t FastTrackerRecHit::recHitCombinationIndex_
protected

Definition at line 173 of file FastTrackerRecHit.h.

Referenced by recHitCombinationIndex(), and setRecHitCombinationIndex().