CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ProjectedRecHit2D.h
Go to the documentation of this file.
1 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_ProjectedRecHit2D_H
2 #define RECOTRACKER_TRANSIENTRACKINGRECHIT_ProjectedRecHit2D_H
3 
8 
9 class SiStripRecHit2D;
10 
12 public:
13 
14  virtual void getKfComponents( KfComponentsHolder & holder ) const {
16  }
17 
18 
21  }
22 
23  const GeomDetUnit* detUnit() const {return 0;}
24  const GeomDet* originalDet() const {return theOriginalDet;}
25 
26  static RecHitPointer build( const GeomDet * geom,
27  const GeomDet* originaldet,
28  const ProjectedSiStripRecHit2D* rh,
30  float weight=1., float annealing=1.,
31  bool computeCoarseLocalPosition=false) {
32  return RecHitPointer( new ProjectedRecHit2D( geom, originaldet, rh, cpe, weight, annealing, computeCoarseLocalPosition));
33  }
34 
35  static RecHitPointer build( const LocalPoint& pos, const LocalError& err,
36  const GeomDet* det, const GeomDet* originaldet,
38  float weight=1., float annealing=1.) {
39  return RecHitPointer( new ProjectedRecHit2D( pos, err, det, originaldet, originalHit, weight, annealing));
40  }
41 
43 
44  const SiStripRecHit2D& originalHit() const { return static_cast<const ProjectedSiStripRecHit2D*>( hit() )->originalHit();}
45 
46  virtual ConstRecHitContainer transientHits () const;
47 
48 private:
51 
52  ProjectedRecHit2D( const LocalPoint& pos, const LocalError& err,
53  const GeomDet* det, const GeomDet* originaldet,
55  float weight, float annealing);
56 
57  ProjectedRecHit2D( const GeomDet * geom, const GeomDet* originaldet,
58  const ProjectedSiStripRecHit2D* rh,
60  float weight, float annealing,
61  bool computeCoarseLocalPosition);
62 
63  virtual ProjectedRecHit2D* clone() const {
64  return new ProjectedRecHit2D(*this);
65  }
66 
67 };
68 
69 
70 
71 #endif
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
virtual AlgebraicSymMatrix parametersError() const
ProjectedRecHit2D(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit &originalHit, float weight, float annealing)
const StripClusterParameterEstimator * theCPE
virtual void getKfComponents(KfComponentsHolder &holder) const
virtual const TrackingRecHit * hit() const
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
const SiStripRecHit2D & originalHit() const
virtual ProjectedRecHit2D * clone() const
static RecHitPointer build(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit &originalHit, float weight=1., float annealing=1.)
virtual LocalError localPositionError() const
virtual ConstRecHitContainer transientHits() const
Composite interface: returns the component hits, if any.
const GeomDet * originalDet() const
const GeomDetUnit * detUnit() const
static RecHitPointer build(const GeomDet *geom, const GeomDet *originaldet, const ProjectedSiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
CLHEP::HepSymMatrix AlgebraicSymMatrix
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
const GeomDet * theOriginalDet
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)