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 
11 class ProjectedRecHit2D GCC11_FINAL : public GenericTransientTrackingRecHit {
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  bool computeCoarseLocalPosition=false) {
31  return RecHitPointer( new ProjectedRecHit2D( geom, originaldet, rh, cpe, computeCoarseLocalPosition));
32  }
33 
34  static RecHitPointer build( const LocalPoint& pos, const LocalError& err,
35  const GeomDet* det, const GeomDet* originaldet,
36  const TransientTrackingRecHit& originalHit ) {
37  return RecHitPointer( new ProjectedRecHit2D( pos, err, det, originaldet, originalHit));
38  }
39 
40  RecHitPointer clone( const TrajectoryStateOnSurface& ts) const;
41 
42  const SiStripRecHit2D& originalHit() const { return static_cast<const ProjectedSiStripRecHit2D*>( hit() )->originalHit();}
43 
44  virtual ConstRecHitContainer transientHits () const;
45 
46 private:
47  const StripClusterParameterEstimator* theCPE;
49 
50  ProjectedRecHit2D( const LocalPoint& pos, const LocalError& err,
51  const GeomDet* det, const GeomDet* originaldet,
52  const TransientTrackingRecHit& originalHit);
53 
54  ProjectedRecHit2D( const GeomDet * geom, const GeomDet* originaldet,
55  const ProjectedSiStripRecHit2D* rh,
57  bool computeCoarseLocalPosition);
58 
59  virtual ProjectedRecHit2D* clone() const {
60  return new ProjectedRecHit2D(*this);
61  }
62 
63 };
64 
65 
66 
67 #endif
virtual ProjectedRecHit2D * clone() const
virtual void getKfComponents(KfComponentsHolder &holder) const
const SiStripRecHit2D & originalHit() const
virtual AlgebraicSymMatrix parametersError() const
static RecHitPointer build(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit &originalHit)
virtual const TrackingRecHit * hit() const
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
virtual const GeomDet * det() const GCC11_FINAL
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
virtual LocalError localPositionError() const
virtual GenericTransientTrackingRecHit * clone() const
const GeomDetUnit * detUnit() const
const GeomDet * originalDet() const
static RecHitPointer build(const GeomDet *geom, const GeomDet *originaldet, const ProjectedSiStripRecHit2D *rh, const StripClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
CLHEP::HepSymMatrix AlgebraicSymMatrix
TransientTrackingRecHit::ConstRecHitContainer ConstRecHitContainer
const GeomDet * theOriginalDet
virtual ConstRecHitContainer transientHits() const
Composite interface: returns the component hits, if any.
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)
Unlimited (trivial) bounds.