CMS 3D CMS Logo

TRecHit5DParamConstraint.h
Go to the documentation of this file.
1 #ifndef RECOTRACKER_TRANSIENTRACKINGRECHIT_TRecHit5DParamConstraint_H
2 #define RECOTRACKER_TRANSIENTRACKINGRECHIT_TRecHit5DParamConstraint_H
3 
8 
10 public:
13 
16 
19 
21 
22  int dimension() const override { return 5; }
23 
24  AlgebraicMatrix projectionMatrix() const override {
26  return projectionMatrix;
27  }
28 
30 
32 
33  LocalPoint localPosition() const override { return tsos_.localPosition(); }
34 
35  LocalError localPositionError() const override { return tsos_.localError().positionError(); }
36 
37  int charge() const { return tsos_.charge(); }
38  const TrajectoryStateOnSurface& trajectoryState() const { return tsos_; }
39 
40  bool canImproveWithTrack() const override { return false; }
41 
42  std::vector<const TrackingRecHit*> recHits() const override { return std::vector<const TrackingRecHit*>(); }
43  std::vector<TrackingRecHit*> recHits() override { return std::vector<TrackingRecHit*>(); }
44 
45  // verify if same tsos
46  bool sharesInput(const TrackingRecHit*, SharedInputType) const override { return false; }
47 
48  const Surface* surface() const override { return &tsos_.surface(); }
49 
50  GlobalPoint globalPosition() const override { return surface()->toGlobal(localPosition()); }
51  GlobalError globalPositionError() const override {
53  }
54  float errorGlobalR() const override { return std::sqrt(globalPositionError().rerr(globalPosition())); }
55  float errorGlobalZ() const override { return std::sqrt(globalPositionError().czz()); }
56  float errorGlobalRPhi() const override {
57  return globalPosition().perp() * sqrt(globalPositionError().phierr(globalPosition()));
58  }
59 
61  virtual RecHitPointer clone(const TrajectoryStateOnSurface& tsos) const {
62  return RecHitPointer(new TRecHit5DParamConstraint(tsos));
63  }
64 
66  return RecHitPointer(new TRecHit5DParamConstraint(tsos));
67  }
68 
69 private:
71 
72  TRecHit5DParamConstraint* clone() const override { return new TRecHit5DParamConstraint(*this); }
73 };
74 
75 #endif
SharedInputType
definition of equality via shared input
static GlobalError transform(const LocalError &le, const Surface &surf)
CLHEP::HepMatrix asHepMatrix(const ROOT::Math::SMatrix< double, N1, N2, typename ROOT::Math::MatRepStd< double, N1, N2 > > &rm)
Definition: Migration.h:60
LocalError localPositionError() const override
T perp() const
Definition: PV3DBase.h:69
const LocalTrajectoryError & localError() const
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
AlgebraicVector parameters() const override
const Surface * surface() const override
AlgebraicSymMatrix parametersError() const override
const LocalTrajectoryParameters & localParameters() const
LocalPoint localPosition() const override
TRecHit5DParamConstraint(const TrajectoryStateOnSurface &tsos)
LocalError positionError() const
const SurfaceType & surface() const
bool sharesInput(const TrackingRecHit *, SharedInputType) const override
TRecHit5DParamConstraint(const GeomDet &idet, const TrajectoryStateOnSurface &tsos)
GlobalPoint globalPosition() const override
CLHEP::HepMatrix AlgebraicMatrix
T sqrt(T t)
Definition: SSEVec.h:19
AlgebraicMatrix projectionMatrix() const override
AlgebraicVector5 vector() const
virtual RecHitPointer clone(const TrajectoryStateOnSurface &tsos) const
????
static RecHitPointer build(const TrajectoryStateOnSurface &tsos)
float errorGlobalR() const override
std::shared_ptr< TrackingRecHit const > RecHitPointer
float errorGlobalZ() const override
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:79
CLHEP::HepVector AlgebraicVector
float errorGlobalRPhi() const override
const AlgebraicSymMatrix55 & matrix() const
CLHEP::HepSymMatrix AlgebraicSymMatrix
const TrajectoryStateOnSurface tsos_
const TrajectoryStateOnSurface & trajectoryState() const
TRecHit5DParamConstraint * clone() const override
CLHEP::HepVector asHepVector(const ROOT::Math::SVector< double, N > &v)
Definition: Migration.h:53
bool canImproveWithTrack() const override
std::vector< TrackingRecHit * > recHits() override
Non-const access to component RecHits (if any)
GlobalError globalPositionError() const override