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
ProjectedRecHit2D Class Reference

#include <ProjectedRecHit2D.h>

Inheritance diagram for ProjectedRecHit2D:
GenericTransientTrackingRecHit TransientTrackingRecHit TrackingRecHit ReferenceCountedPoolAllocated BlockWipedPoolAllocated

Public Member Functions

RecHitPointer clone (const TrajectoryStateOnSurface &ts) const
 
const GeomDetUnitdetUnit () const
 
virtual void getKfComponents (KfComponentsHolder &holder) const
 
const GeomDetoriginalDet () const
 
const SiStripRecHit2DoriginalHit () const
 
virtual AlgebraicSymMatrix parametersError () const
 
virtual ConstRecHitContainer transientHits () const
 Composite interface: returns the component hits, if any. More...
 
- Public Member Functions inherited from GenericTransientTrackingRecHit
virtual bool canImproveWithTrack () const
 
virtual int dimension () const
 
virtual const TrackingRecHithit () const
 
virtual LocalPoint localPosition () const
 
virtual LocalError localPositionError () const
 
virtual AlgebraicVector parameters () 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...
 
virtual ~GenericTransientTrackingRecHit ()
 
- Public Member Functions inherited from TransientTrackingRecHit
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...
 
float errorGlobalR () const
 
float errorGlobalRPhi () const
 
float errorGlobalZ () const
 
float getAnnealingFactor () const
 
virtual GlobalPoint globalPosition () const
 
virtual GlobalError globalPositionError () const
 
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
 
 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
DetId geographicalId () const
 
Type getType () const
 
bool isValid () const
 
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 ()
 

Static Public Member Functions

static RecHitPointer build (const GeomDet *geom, const GeomDet *originaldet, const ProjectedSiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
 
static RecHitPointer build (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit &originalHit, float weight=1., float annealing=1.)
 
- Static Public Member Functions inherited from GenericTransientTrackingRecHit
static RecHitPointer build (const GeomDet *geom, const TrackingRecHit *rh)
 
- 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 ()
 

Private Member Functions

virtual ProjectedRecHit2Dclone () const
 
 ProjectedRecHit2D (const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit &originalHit, float weight, float annealing)
 
 ProjectedRecHit2D (const GeomDet *geom, const GeomDet *originaldet, const ProjectedSiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight, float annealing, bool computeCoarseLocalPosition)
 

Private Attributes

const
StripClusterParameterEstimator
theCPE
 
const GeomDettheOriginalDet
 

Additional Inherited Members

- Public Types inherited from GenericTransientTrackingRecHit
typedef TrackingRecHit::Type Type
 
- Public Types inherited from TransientTrackingRecHit
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 }
 
- 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 GenericTransientTrackingRecHit
 GenericTransientTrackingRecHit (const GeomDet *geom, const TrackingRecHit &rh, float weight=1., float annealing=1.)
 
 GenericTransientTrackingRecHit (const GeomDet *geom, TrackingRecHit *rh, float weight=1., float annealing=1.)
 for derived classes convenience, does not clone! More...
 
 GenericTransientTrackingRecHit (const GenericTransientTrackingRecHit &other)
 
- Protected Member Functions inherited from TrackingRecHit
void setId (id_type iid)
 
void setType (Type ttype)
 
- Protected Attributes inherited from GenericTransientTrackingRecHit
TrackingRecHittrackingRecHit_
 

Detailed Description

Definition at line 11 of file ProjectedRecHit2D.h.

Constructor & Destructor Documentation

ProjectedRecHit2D::ProjectedRecHit2D ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const GeomDet originaldet,
const TransientTrackingRecHit originalHit,
float  weight,
float  annealing 
)
private

Definition at line 7 of file ProjectedRecHit2D.cc.

References TSiStripRecHit2DLocalPos::cpe(), originalDet(), theCPE, and theOriginalDet.

Referenced by build(), and clone().

10  :
12  static_cast<const SiStripRecHit2D*>(originalTransientHit.hit())),weight, annealing)
13 {
14  const TSiStripRecHit2DLocalPos* specificOriginalTransientHit = static_cast<const TSiStripRecHit2DLocalPos*>(&originalTransientHit);
15  theCPE = specificOriginalTransientHit->cpe();
17 }
const StripClusterParameterEstimator * theCPE
const StripClusterParameterEstimator * cpe() const
const GeomDet * originalDet() const
GenericTransientTrackingRecHit(const GeomDet *geom, const TrackingRecHit &rh, float weight=1., float annealing=1.)
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:74
const GeomDet * theOriginalDet
ProjectedRecHit2D::ProjectedRecHit2D ( const GeomDet geom,
const GeomDet originaldet,
const ProjectedSiStripRecHit2D rh,
const StripClusterParameterEstimator cpe,
float  weight,
float  annealing,
bool  computeCoarseLocalPosition 
)
private

Definition at line 65 of file ProjectedRecHit2D.cc.

References TSiStripRecHit2DLocalPos::build(), SiStripRecHit2D::cluster(), SiStripRecHit2D::cluster_regional(), TransientTrackingRecHit::det(), detUnit(), ClusterParameterEstimator< T >::localParameters(), originalHit(), TrackingRecHitProjector< ResultingHit >::project(), theCPE, theOriginalDet, and GenericTransientTrackingRecHit::trackingRecHit_.

69  :
70  GenericTransientTrackingRecHit( geom, *rh,weight, annealing), theCPE(cpe), theOriginalDet(originaldet) {
71  if (computeCoarseLocalPosition){
72  if (theCPE != 0) {
74  if(!originalHit().cluster().isNull()){
75  const SiStripCluster& clust = *(originalHit().cluster());
76 
78  theCPE->localParameters( clust, *detUnit());
79 
80  RecHitPointer updatedOriginalHit =
81  TSiStripRecHit2DLocalPos::build( lv.first, lv.second, theOriginalDet,
82  originalHit().cluster(), theCPE, weight, annealing);
83 
84  RecHitPointer hit = proj.project( *updatedOriginalHit, *det());
85  trackingRecHit_ = hit->hit()->clone();
86  }else{
87  const SiStripCluster& clust = *(originalHit().cluster_regional());
88 
90  theCPE->localParameters( clust, *detUnit());
91 
92  RecHitPointer updatedOriginalHit =
93  TSiStripRecHit2DLocalPos::build( lv.first, lv.second, theOriginalDet,
94  originalHit().cluster_regional(), theCPE, weight, annealing);
95 
96  RecHitPointer hit = proj.project( *updatedOriginalHit, *det());
97  trackingRecHit_ = hit->hit()->clone();
98  }
99  }
100  }
101 }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
const StripClusterParameterEstimator * theCPE
const SiStripRecHit2D & originalHit() const
ClusterRegionalRef const & cluster_regional() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
std::pair< LocalPoint, LocalError > LocalValues
RecHitPointer project(const TransientTrackingRecHit &hit, const GeomDet &det, const TrajectoryStateOnSurface &ts) const
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
GenericTransientTrackingRecHit(const GeomDet *geom, const TrackingRecHit &rh, float weight=1., float annealing=1.)
const GeomDetUnit * detUnit() const
virtual TrackingRecHit * clone() const =0
ClusterRef const & cluster() const
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
const GeomDet * theOriginalDet

Member Function Documentation

static RecHitPointer ProjectedRecHit2D::build ( const GeomDet geom,
const GeomDet originaldet,
const ProjectedSiStripRecHit2D rh,
const StripClusterParameterEstimator cpe,
float  weight = 1.,
float  annealing = 1.,
bool  computeCoarseLocalPosition = false 
)
inlinestatic

Definition at line 26 of file ProjectedRecHit2D.h.

References ProjectedRecHit2D(), and TransientTrackingRecHit::weight().

Referenced by TkTransientTrackingRecHitBuilder::build(), and TkTransientTrackingRecHitBuilder::oldbuild().

31  {
32  return RecHitPointer( new ProjectedRecHit2D( geom, originaldet, rh, cpe, weight, annealing, computeCoarseLocalPosition));
33  }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
ProjectedRecHit2D(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit &originalHit, float weight, float annealing)
static RecHitPointer ProjectedRecHit2D::build ( const LocalPoint pos,
const LocalError err,
const GeomDet det,
const GeomDet originaldet,
const TransientTrackingRecHit originalHit,
float  weight = 1.,
float  annealing = 1. 
)
inlinestatic

Definition at line 35 of file ProjectedRecHit2D.h.

References ProjectedRecHit2D(), and TransientTrackingRecHit::weight().

38  {
39  return RecHitPointer( new ProjectedRecHit2D( pos, err, det, originaldet, originalHit, weight, annealing));
40  }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
ProjectedRecHit2D(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit &originalHit, float weight, float annealing)
ProjectedRecHit2D::RecHitPointer ProjectedRecHit2D::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.

FIXME: should report the problem somehow

Reimplemented from TransientTrackingRecHit.

Definition at line 20 of file ProjectedRecHit2D.cc.

References TSiStripRecHit2DLocalPos::build(), clone(), SiStripRecHit2D::cluster(), SiStripRecHit2D::cluster_regional(), TransientTrackingRecHit::det(), detUnit(), TransientTrackingRecHit::getAnnealingFactor(), GenericTransientTrackingRecHit::hit(), ClusterParameterEstimator< T >::localParameters(), originalHit(), TrackingRecHitProjector< ResultingHit >::project(), theCPE, theOriginalDet, and TransientTrackingRecHit::weight().

21 {
22  if (theCPE != 0) {
24  if(!originalHit().cluster().isNull()){
25  const SiStripCluster& clust = *(originalHit().cluster());
26 
28  theCPE->localParameters( clust, *detUnit(), ts);
29 
30  RecHitPointer updatedOriginalHit =
31  TSiStripRecHit2DLocalPos::build( lv.first, lv.second, theOriginalDet,
32  originalHit().cluster(), theCPE, weight(), getAnnealingFactor());
33 
34  RecHitPointer hit = proj.project( *updatedOriginalHit, *det(), ts);
35 
36  return hit;
37  }else{
38  const SiStripCluster& clust = *(originalHit().cluster_regional());
39 
41  theCPE->localParameters( clust, *detUnit(), ts);
42 
43  RecHitPointer updatedOriginalHit =
44  TSiStripRecHit2DLocalPos::build( lv.first, lv.second, theOriginalDet,
45  originalHit().cluster_regional(), theCPE, weight(), getAnnealingFactor());
46 
47  RecHitPointer hit = proj.project( *updatedOriginalHit, *det(), ts);
48 
49  return hit;
50 
51  }
52  }
54  else return clone();
55 }
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
const StripClusterParameterEstimator * theCPE
virtual const TrackingRecHit * hit() const
const SiStripRecHit2D & originalHit() const
ClusterRegionalRef const & cluster_regional() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
std::pair< LocalPoint, LocalError > LocalValues
RecHitPointer project(const TransientTrackingRecHit &hit, const GeomDet &det, const TrajectoryStateOnSurface &ts) const
virtual ProjectedRecHit2D * clone() const
virtual LocalValues localParameters(const T &, const GeomDetUnit &) const =0
const GeomDetUnit * detUnit() const
ClusterRef const & cluster() const
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
const GeomDet * theOriginalDet
virtual ProjectedRecHit2D* ProjectedRecHit2D::clone ( void  ) const
inlineprivatevirtual

Reimplemented from GenericTransientTrackingRecHit.

Definition at line 63 of file ProjectedRecHit2D.h.

References ProjectedRecHit2D().

Referenced by clone().

63  {
64  return new ProjectedRecHit2D(*this);
65  }
ProjectedRecHit2D(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit &originalHit, float weight, float annealing)
const GeomDetUnit* ProjectedRecHit2D::detUnit ( ) const
inlinevirtual

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 TransientTrackingRecHit.

Definition at line 23 of file ProjectedRecHit2D.h.

Referenced by clone(), and ProjectedRecHit2D().

23 {return 0;}
virtual void ProjectedRecHit2D::getKfComponents ( KfComponentsHolder holder) const
inlinevirtual

Reimplemented from TrackingRecHit.

Definition at line 14 of file ProjectedRecHit2D.h.

References TransientTrackingRecHit::det(), HelpertRecHit2DLocalPos::getKfComponents(), and GenericTransientTrackingRecHit::hit().

14  {
16  }
virtual const TrackingRecHit * hit() const
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
const GeomDet* ProjectedRecHit2D::originalDet ( ) const
inline

Definition at line 24 of file ProjectedRecHit2D.h.

References theOriginalDet.

Referenced by ProjectedRecHit2D().

24 {return theOriginalDet;}
const GeomDet * theOriginalDet
const SiStripRecHit2D& ProjectedRecHit2D::originalHit ( ) const
inline

Definition at line 44 of file ProjectedRecHit2D.h.

References GenericTransientTrackingRecHit::hit(), and originalHit().

Referenced by clone(), originalHit(), ProjectedRecHit2D(), and transientHits().

44 { return static_cast<const ProjectedSiStripRecHit2D*>( hit() )->originalHit();}
virtual const TrackingRecHit * hit() const
const SiStripRecHit2D & originalHit() const
virtual AlgebraicSymMatrix ProjectedRecHit2D::parametersError ( ) const
inlinevirtual

Reimplemented from GenericTransientTrackingRecHit.

Definition at line 19 of file ProjectedRecHit2D.h.

References TransientTrackingRecHit::det(), GenericTransientTrackingRecHit::localPositionError(), and HelpertRecHit2DLocalPos::parError().

19  {
21  }
virtual LocalError localPositionError() const
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)
TransientTrackingRecHit::ConstRecHitContainer ProjectedRecHit2D::transientHits ( ) const
virtual

Composite interface: returns the component hits, if any.

Reimplemented from TransientTrackingRecHit.

Definition at line 58 of file ProjectedRecHit2D.cc.

References TSiStripRecHit2DLocalPos::build(), originalHit(), query::result, theCPE, and theOriginalDet.

58  {
61 
62  return result;
63 }
const StripClusterParameterEstimator * theCPE
const SiStripRecHit2D & originalHit() const
static RecHitPointer build(const GeomDet *geom, const SiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
tuple result
Definition: query.py:137
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
const GeomDet * theOriginalDet

Member Data Documentation

const StripClusterParameterEstimator* ProjectedRecHit2D::theCPE
private

Definition at line 49 of file ProjectedRecHit2D.h.

Referenced by clone(), ProjectedRecHit2D(), and transientHits().

const GeomDet* ProjectedRecHit2D::theOriginalDet
private

Definition at line 50 of file ProjectedRecHit2D.h.

Referenced by clone(), originalDet(), ProjectedRecHit2D(), and transientHits().