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 
15 public:
16 
18 
19 
20  virtual ~TSiPixelRecHit() {}
21 
22  virtual AlgebraicVector parameters() const {return theHitData.parameters();}
23 
26  // return theHitData->parametersError();
27  }
28 
30  virtual int dimension() const {return theHitData.dimension();}
31 
32  virtual LocalPoint localPosition() const {return theHitData.localPosition();}
34 
35  virtual void getKfComponents( KfComponentsHolder & holder ) const {
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  float weight=1., float annealing=1.,
63  bool computeCoarseLocalPosition=false) {
64  return RecHitPointer( new TSiPixelRecHit( geom, rh, cpe,weight, annealing, computeCoarseLocalPosition));
65  }
66 
67  static RecHitPointer build( const LocalPoint& pos, const LocalError& err,
68  const GeomDet* det,
69  clusterRef cluster,
71  float weight=1., float annealing=1.) {
72  return RecHitPointer( new TSiPixelRecHit( pos, err, det, cluster, cpe,weight, annealing));
73  }
74 
75 
77  virtual float clusterProbability() const {
79  }
80 
81 
82 
83 private:
84 
88 
91  TSiPixelRecHit(const GeomDet * geom, const SiPixelRecHit* rh,
93  float weight, float annealing,
94  bool computeCoarseLocalPosition);
95 
96 
97 
100  TSiPixelRecHit( const LocalPoint& pos, const LocalError& err,
101  const GeomDet* det,
102  // const SiPixelCluster& clust,
103  clusterRef clust,
105  float weight, float annealing);
106 
107 
108 
109  // TSiPixelRecHit( const TSiPixelRecHit& other ) :
110  // TransientTrackingRecHit( other.det()),
111  // theHitData( other.specificHit()->clone()),
112  // theCPE( other.cpe()) {}
113 
114  virtual TSiPixelRecHit * clone() const {
115  return new TSiPixelRecHit(*this);
116  }
117 
118 };
119 
120 
121 
122 #endif
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
virtual bool canImproveWithTrack() const
virtual const TrackingRecHit * hit() const
unsigned int theClusterProbComputationFlag
static RecHitPointer build(const GeomDet *geom, const SiPixelRecHit *rh, const PixelClusterParameterEstimator *cpe, float weight=1., float annealing=1., bool computeCoarseLocalPosition=false)
virtual LocalError localPositionError() const
float clusterProbability(unsigned int flags=0) const
virtual int dimension() const
virtual AlgebraicVector parameters() const
static void getKfComponents(KfComponentsHolder &holder, const TrackingRecHit &hit2dLocalPos, const GeomDet &det)
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
const SiPixelRecHit * specificHit() const
virtual AlgebraicMatrix projectionMatrix() const
const PixelClusterParameterEstimator * theCPE
virtual std::vector< TrackingRecHit * > recHits()
Non-const access to component RecHits (if any)
virtual LocalPoint localPosition() const
SiPixelRecHit theHitData
TSiPixelRecHit(const GeomDet *geom, const SiPixelRecHit *rh, const PixelClusterParameterEstimator *cpe, float weight, float annealing, bool computeCoarseLocalPosition)
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
CLHEP::HepMatrix AlgebraicMatrix
static RecHitPointer build(const LocalPoint &pos, const LocalError &err, const GeomDet *det, clusterRef cluster, const PixelClusterParameterEstimator *cpe, float weight=1., float annealing=1.)
virtual LocalPoint localPosition() const
virtual std::vector< const TrackingRecHit * > recHits() const =0
Access to component RecHits (if any)
virtual AlgebraicMatrix projectionMatrix() const
const PixelClusterParameterEstimator * cpe() const
virtual void getKfComponents(KfComponentsHolder &holder) const
CLHEP::HepVector AlgebraicVector
virtual AlgebraicVector parameters() const
virtual const GeomDetUnit * detUnit() const
SiPixelRecHit::ClusterRef clusterRef
virtual TSiPixelRecHit * clone() const
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual float clusterProbability() const
Probability of the compatibility of the track with the pixel cluster shape.
virtual AlgebraicSymMatrix parametersError() const
virtual LocalError localPositionError() const
virtual ~TSiPixelRecHit()
virtual int dimension() const
Our base class.
Definition: SiPixelRecHit.h:27
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)