CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GenericProjectedRecHit2D.h
Go to the documentation of this file.
1 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_GenericProjectedRecHit2D_H
2 #define RECOTRACKER_TRANSIENTRACKINGRECHIT_GenericProjectedRecHit2D_H
3 
7 
9 public:
10 
13  }
14 
15  //virtual ~GenericProjectedRecHit2D(){delete theOriginalTransientHit;}
16 
17  virtual AlgebraicVector parameters() const ;
18 
19  virtual LocalPoint localPosition() const {return theLp;}
20 
21  virtual LocalError localPositionError() const {return theLe;}
22 
24 
25  virtual DetId geographicalId() const {return det() ? det()->geographicalId() : DetId();}
26 
27  virtual int dimension() const {return theDimension;}
28 
29  //this hit lays on the original surface, NOT on the projection surface
30  virtual const TrackingRecHit * hit() const {return theOriginalTransientHit->hit();};
31 
32  virtual bool isValid() const{return true;}
33 
34  virtual std::vector<const TrackingRecHit*> recHits() const {
35  //return theOriginalTransientHit->hit()->recHits();
36  return std::vector<const TrackingRecHit*>();
37  }
38 
39  virtual std::vector<TrackingRecHit*> recHits() {
40  //should it do something different?
41  return std::vector<TrackingRecHit*>();
42  }
43 
45 
46  virtual bool canImproveWithTrack() const {return true;}
47 
48  const GeomDet* originalDet() const {return theOriginalDet;}
49 
50  static RecHitPointer build( const LocalPoint& pos, const LocalError& err,
51  const GeomDet* det, const GeomDet* originaldet,
54  return RecHitPointer( new GenericProjectedRecHit2D( pos, err, det, originaldet, originalHit, propagator));
55  }
56 
58 
59 private:
60 
67  //const TrackingRecHit* theOriginalHit;
69 
71  const GeomDet* det, const GeomDet* originaldet,
74 
75  virtual GenericProjectedRecHit2D* clone() const {
76  return new GenericProjectedRecHit2D(*this);
77  }
78 
79 };
80 
81 
82 
83 #endif
ReferenceCountingPointer< TransientTrackingRecHit > RecHitPointer
TransientTrackingRecHit::ConstRecHitPointer theOriginalTransientHit
virtual AlgebraicVector parameters() const
virtual std::vector< TrackingRecHit * > recHits()
Non-const access to component RecHits (if any)
virtual AlgebraicSymMatrix parametersError() const
const TrackingRecHitPropagator * thePropagator
virtual LocalPoint localPosition() const
virtual bool canImproveWithTrack() const
virtual AlgebraicMatrix projectionMatrix() const
CLHEP::HepMatrix AlgebraicMatrix
virtual std::vector< const TrackingRecHit * > recHits() const
Access to component RecHits (if any)
virtual GenericProjectedRecHit2D * clone() const
virtual const TrackingRecHit * hit() const
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:74
const TrackingRecHitPropagator * propagator() const
Definition: DetId.h:20
CLHEP::HepVector AlgebraicVector
virtual DetId geographicalId() const
const GeomDet * originalDet() const
static RecHitPointer build(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit::ConstRecHitPointer originalHit, const TrackingRecHitPropagator *propagator)
const GeomDet * det() const
The GomeDet* can be zero for InvalidTransientRecHits and for TConstraintRecHit2Ds.
CLHEP::HepSymMatrix AlgebraicSymMatrix
virtual LocalError localPositionError() const
GenericProjectedRecHit2D(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit::ConstRecHitPointer originalHit, const TrackingRecHitPropagator *propagator)
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)