CMS 3D CMS Logo

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:
11  const LocalError& err,
12  const GeomDet* det,
13  const GeomDet* originaldet,
16 
19  }
20 
21  //virtual ~GenericProjectedRecHit2D(){delete theOriginalTransientHit;}
22 
23  AlgebraicVector parameters() const override;
24 
25  LocalPoint localPosition() const override { return theLp; }
26 
27  LocalError localPositionError() const override { return theLe; }
28 
30 
31  virtual DetId geographicalId() const { return det() ? det()->geographicalId() : DetId(); }
32 
33  int dimension() const override { return theDimension; }
34 
35  //this hit lays on the original surface, NOT on the projection surface
36  const TrackingRecHit* hit() const override { return theOriginalTransientHit->hit(); }
37 
38  TrackingRecHit* cloneHit() const override { return theOriginalTransientHit->cloneHit(); }
39 
40  virtual bool isValid() const { return true; }
41 
42  std::vector<const TrackingRecHit*> recHits() const override {
43  //return theOriginalTransientHit->hit()->recHits();
44  return std::vector<const TrackingRecHit*>();
45  }
46 
47  std::vector<TrackingRecHit*> recHits() override {
48  //should it do something different?
49  return std::vector<TrackingRecHit*>();
50  }
51 
53 
54  bool canImproveWithTrack() const override { return true; }
55 
56  const GeomDet* originalDet() const { return theOriginalDet; }
57 
59  const LocalError& err,
60  const GeomDet* det,
61  const GeomDet* originaldet,
64  return RecHitPointer(new GenericProjectedRecHit2D(pos, err, det, originaldet, originalHit, propagator));
65  }
66 
68 
69 private:
76  //const TrackingRecHit* theOriginalHit;
78 
79  GenericProjectedRecHit2D* clone() const override { return new GenericProjectedRecHit2D(*this); }
80 };
81 
82 #endif
GenericProjectedRecHit2D::isValid
virtual bool isValid() const
Definition: GenericProjectedRecHit2D.h:40
GenericProjectedRecHit2D::GenericProjectedRecHit2D
GenericProjectedRecHit2D(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit::ConstRecHitPointer originalHit, const TrackingRecHitPropagator *propagator)
Definition: GenericProjectedRecHit2D.cc:8
GenericProjectedRecHit2D
Definition: GenericProjectedRecHit2D.h:8
GeomDet
Definition: GeomDet.h:27
GenericProjectedRecHit2D::theProjectionMatrix
AlgebraicMatrix theProjectionMatrix
Definition: GenericProjectedRecHit2D.h:74
GenericProjectedRecHit2D::geographicalId
virtual DetId geographicalId() const
Definition: GenericProjectedRecHit2D.h:31
GenericProjectedRecHit2D::localPositionError
LocalError localPositionError() const override
Definition: GenericProjectedRecHit2D.h:27
TrackingRecHit::det
const GeomDet * det() const
Definition: TrackingRecHit.h:122
pos
Definition: PixelAliasList.h:18
TransientTrackingRecHit.h
GenericProjectedRecHit2D::build
static RecHitPointer build(const LocalPoint &pos, const LocalError &err, const GeomDet *det, const GeomDet *originaldet, const TransientTrackingRecHit::ConstRecHitPointer originalHit, const TrackingRecHitPropagator *propagator)
Definition: GenericProjectedRecHit2D.h:58
TrackingRecHit::RecHitPointer
std::shared_ptr< TrackingRecHit const > RecHitPointer
Definition: TrackingRecHit.h:24
HelpertRecHit2DLocalPos::parError
static AlgebraicSymMatrix parError(const LocalError &le, const GeomDet &det)
Definition: HelpertRecHit2DLocalPos.h:17
GenericProjectedRecHit2D::parametersError
AlgebraicSymMatrix parametersError() const override
Definition: GenericProjectedRecHit2D.h:17
GenericProjectedRecHit2D::thePropagator
const TrackingRecHitPropagator * thePropagator
Definition: GenericProjectedRecHit2D.h:75
GenericProjectedRecHit2D::dimension
int dimension() const override
Definition: GenericProjectedRecHit2D.h:33
GenericProjectedRecHit2D::theLe
LocalError theLe
Definition: GenericProjectedRecHit2D.h:73
DetId
Definition: DetId.h:17
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
AlgebraicVector
CLHEP::HepVector AlgebraicVector
Definition: AlgebraicObjects.h:13
GenericProjectedRecHit2D::projectionMatrix
AlgebraicMatrix projectionMatrix() const override
Definition: GenericProjectedRecHit2D.h:29
GenericProjectedRecHit2D::hit
const TrackingRecHit * hit() const override
Definition: GenericProjectedRecHit2D.h:36
TrackingRecHitPropagator.h
GenericProjectedRecHit2D::theOriginalDet
const GeomDet * theOriginalDet
Definition: GenericProjectedRecHit2D.h:70
GenericProjectedRecHit2D::theDimension
int theDimension
Definition: GenericProjectedRecHit2D.h:77
Point3DBase< float, LocalTag >
GenericProjectedRecHit2D::localPosition
LocalPoint localPosition() const override
Definition: GenericProjectedRecHit2D.h:25
GeomDet::geographicalId
DetId geographicalId() const
The label of this GeomDet.
Definition: GeomDet.h:64
HelpertRecHit2DLocalPos
Definition: HelpertRecHit2DLocalPos.h:14
TrackingRecHitPropagator
Definition: TrackingRecHitPropagator.h:21
runTheMatrix.err
err
Definition: runTheMatrix.py:288
LocalError
Definition: LocalError.h:12
GenericProjectedRecHit2D::recHits
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
Definition: GenericProjectedRecHit2D.h:42
TrackingRecHit::ConstRecHitPointer
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
Definition: TrackingRecHit.h:25
HelpertRecHit2DLocalPos.h
GenericProjectedRecHit2D::propagator
const TrackingRecHitPropagator * propagator() const
Definition: GenericProjectedRecHit2D.h:52
AlgebraicSymMatrix
CLHEP::HepSymMatrix AlgebraicSymMatrix
Definition: AlgebraicObjects.h:15
GenericProjectedRecHit2D::recHits
std::vector< TrackingRecHit * > recHits() override
Non-const access to component RecHits (if any)
Definition: GenericProjectedRecHit2D.h:47
GenericProjectedRecHit2D::originalDet
const GeomDet * originalDet() const
Definition: GenericProjectedRecHit2D.h:56
TrackingRecHit
Definition: TrackingRecHit.h:21
GenericProjectedRecHit2D::clone
GenericProjectedRecHit2D * clone() const override
Definition: GenericProjectedRecHit2D.h:79
AlgebraicMatrix
CLHEP::HepMatrix AlgebraicMatrix
Definition: AlgebraicObjects.h:14
GenericProjectedRecHit2D::theLp
LocalPoint theLp
Definition: GenericProjectedRecHit2D.h:72
GenericProjectedRecHit2D::parameters
AlgebraicVector parameters() const override
Definition: GenericProjectedRecHit2D.cc:26
GenericProjectedRecHit2D::theOriginalTransientHit
TransientTrackingRecHit::ConstRecHitPointer theOriginalTransientHit
Definition: GenericProjectedRecHit2D.h:71
GenericProjectedRecHit2D::cloneHit
TrackingRecHit * cloneHit() const override
Definition: GenericProjectedRecHit2D.h:38
GenericProjectedRecHit2D::canImproveWithTrack
bool canImproveWithTrack() const override
Definition: GenericProjectedRecHit2D.h:54
TransientTrackingRecHitBuilder
Definition: TransientTrackingRecHitBuilder.h:6