CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TSiPixelRecHit.h
Go to the documentation of this file.
1 
2 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_TSiPixelRecHit_H
3 #define RECOTRACKER_TRANSIENTRACKINGRECHIT_TSiPixelRecHit_H
4 
11 
12 // class GeomDetUnit;
13 
14 class TSiPixelRecHit GCC11_FINAL : public TransientTrackingRecHit {
15 public:
16 
17  typedef SiPixelRecHit::ClusterRef clusterRef;
18 
19 
20  virtual ~TSiPixelRecHit() {}
21 
22  virtual AlgebraicVector parameters() const {return theHitData.parameters();}
23 
25  return HelpertRecHit2DLocalPos().parError( theHitData.localPositionError(), *det());
26  // return theHitData->parametersError();
27  }
28 
29  virtual AlgebraicMatrix projectionMatrix() const {return theHitData.projectionMatrix();}
30  virtual int dimension() const {return theHitData.dimension();}
31 
32  virtual LocalPoint localPosition() const {return theHitData.localPosition();}
33  virtual LocalError localPositionError() const {return theHitData.localPositionError();}
34 
35  virtual void getKfComponents( KfComponentsHolder & holder ) const {
36  HelpertRecHit2DLocalPos().getKfComponents(holder, theHitData, *det());
37  }
38 
39  virtual const TrackingRecHit * hit() const {return &theHitData;};
40 
41  virtual std::vector<const TrackingRecHit*> recHits() const {
42  return hit()->recHits();
43  }
44  virtual std::vector<TrackingRecHit*> recHits() {
45  return theHitData.recHits();
46  }
47 
48  virtual bool canImproveWithTrack() const {return true;}
49 
50  //RC virtual TSiPixelRecHit* clone (const TrajectoryStateOnSurface& ts) const;
51  virtual RecHitPointer clone (const TrajectoryStateOnSurface& ts) const;
52 
53  virtual const GeomDetUnit* detUnit() const;
54 
55  // Extension of the TransientTrackingRecHit interface
56 
57  const SiPixelRecHit* specificHit() const {return &theHitData;};
58  const PixelClusterParameterEstimator* cpe() const {return theCPE;}
59 
60  static RecHitPointer build( const GeomDet * geom, const SiPixelRecHit* rh,
62  bool computeCoarseLocalPosition=false) {
63  return RecHitPointer( new TSiPixelRecHit( geom, rh, cpe, computeCoarseLocalPosition));
64  }
65 
66  static RecHitPointer build( const LocalPoint& pos, const LocalError& err,
67  const GeomDet* det,
68  const clusterRef & cluster,
69  const PixelClusterParameterEstimator* cpe) {
70  return RecHitPointer( new TSiPixelRecHit( pos, err, det, cluster, cpe));
71  }
72 
73 
75  virtual float clusterProbability() const {
76  return theHitData.clusterProbability( theClusterProbComputationFlag );
77  }
78 
79 
80 
81 private:
85 
86 
89  TSiPixelRecHit(const GeomDet * geom, const SiPixelRecHit* rh,
91  bool computeCoarseLocalPosition);
92 
93 
94 
97  TSiPixelRecHit( const LocalPoint& pos, const LocalError& err,
98  const GeomDet* det,
99  const clusterRef & clust,
100  const PixelClusterParameterEstimator* cpe);
101 
102 
103  virtual TSiPixelRecHit * clone() const {
104  return new TSiPixelRecHit(*this);
105  }
106 
107 };
108 
109 
110 
111 #endif
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
virtual TSiPixelRecHit * clone() const
virtual TransientTrackingRecHit * clone() const =0
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
virtual const TrackingRecHit * hit() const =0
SiPixelRecHit theHitData
virtual ~TSiPixelRecHit()
CLHEP::HepMatrix AlgebraicMatrix
virtual const TrackingRecHit * hit() const
virtual std::vector< const TrackingRecHit * > recHits() const =0
Access to component RecHits (if any)
virtual LocalPoint localPosition() const
SiPixelRecHit::ClusterRef clusterRef
virtual void getKfComponents(KfComponentsHolder &holder) const
virtual float clusterProbability() const
Probability of the compatibility of the track with the pixel cluster shape.
virtual int dimension() const
static RecHitPointer build(const GeomDet *geom, const SiPixelRecHit *rh, const PixelClusterParameterEstimator *cpe, bool computeCoarseLocalPosition=false)
CLHEP::HepVector AlgebraicVector
virtual LocalError localPositionError() const
static RecHitPointer build(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const clusterRef &cluster, const PixelClusterParameterEstimator *cpe)
const SiPixelRecHit * specificHit() const
virtual AlgebraicMatrix projectionMatrix() const
unsigned int theClusterProbComputationFlag
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
const PixelClusterParameterEstimator * cpe() const
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual std::vector< TrackingRecHit * > recHits()
Non-const access to component RecHits (if any)
virtual const GeomDetUnit * detUnit() const
virtual bool canImproveWithTrack() const
const PixelClusterParameterEstimator * theCPE
virtual AlgebraicVector parameters() const
virtual AlgebraicSymMatrix parametersError() const
Pixel Reconstructed Hit.
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)
Our base class.
Definition: SiPixelRecHit.h:22