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 
9 
10 
12 
13 public:
14 
17 
20 
23 
25 
26  int dimension() const override { return 5; }
27 
28  AlgebraicMatrix projectionMatrix() const override {
30  return projectionMatrix;
31  }
32 
33  AlgebraicVector parameters() const override { return asHepVector( tsos_.localParameters().vector() ); }
34 
36 
37  LocalPoint localPosition() const override { return tsos_.localPosition(); }
38 
39  LocalError localPositionError() const override { return tsos_.localError().positionError(); }
40 
41  int charge() const { return tsos_.charge(); }
42  const TrajectoryStateOnSurface& trajectoryState() const { return tsos_; }
43 
44 
45  bool canImproveWithTrack() const override { return false; }
46 
47  std::vector<const TrackingRecHit*> recHits() const override { return std::vector<const TrackingRecHit*>(); }
48  std::vector<TrackingRecHit*> recHits() override { return std::vector<TrackingRecHit*>(); }
49 
50  // verify if same tsos
51  bool sharesInput( const TrackingRecHit*, SharedInputType) const override { return false;}
52 
53 
54  const Surface* surface() const override { return &tsos_.surface(); }
55 
56  GlobalPoint globalPosition() const override { return surface()->toGlobal(localPosition());}
58  float errorGlobalR() const override { return std::sqrt(globalPositionError().rerr(globalPosition()));}
59  float errorGlobalZ() const override { return std::sqrt(globalPositionError().czz()); }
60  float errorGlobalRPhi() const override { return globalPosition().perp()*sqrt(globalPositionError().phierr(globalPosition())); }
61 
62 
64  virtual RecHitPointer clone( const TrajectoryStateOnSurface& tsos ) const {
65  return RecHitPointer(new TRecHit5DParamConstraint( tsos ));
66  }
67 
69  return RecHitPointer( new TRecHit5DParamConstraint( tsos ) );
70  }
71 
72 private:
73 
75 
76  TRecHit5DParamConstraint* clone() const override {
77  return new TRecHit5DParamConstraint( *this );
78  }
79 
80 };
81 
82 #endif
SharedInputType
definition of equality via shared input
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:106
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:54
T perp() const
Definition: PV3DBase.h:72
const LocalTrajectoryParameters & localParameters() const
bool canImproveWithTrack() const override
virtual RecHitPointer clone(const TrajectoryStateOnSurface &tsos) const
????
GlobalError globalPositionError() const override
GlobalPoint globalPosition() const override
float errorGlobalRPhi() const override
TRecHit5DParamConstraint(const TrajectoryStateOnSurface &tsos)
LocalError positionError() const
TRecHit5DParamConstraint(const GeomDet &idet, const TrajectoryStateOnSurface &tsos)
TRecHit5DParamConstraint * clone() const override
AlgebraicVector5 vector() const
LocalError localPositionError() const override
const SurfaceType & surface() const
CLHEP::HepMatrix AlgebraicMatrix
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
T sqrt(T t)
Definition: SSEVec.h:18
const AlgebraicSymMatrix55 & matrix() const
static RecHitPointer build(const TrajectoryStateOnSurface &tsos)
const LocalTrajectoryError & localError() const
const TrajectoryStateOnSurface & trajectoryState() const
std::shared_ptr< TrackingRecHit const > RecHitPointer
AlgebraicMatrix projectionMatrix() const override
CLHEP::HepVector AlgebraicVector
LocalPoint localPosition() const override
AlgebraicSymMatrix parametersError() const override
AlgebraicVector parameters() const override
const Surface * surface() const override
CLHEP::HepSymMatrix AlgebraicSymMatrix
const TrajectoryStateOnSurface tsos_
bool sharesInput(const TrackingRecHit *, SharedInputType) const override
CLHEP::HepVector asHepVector(const ROOT::Math::SVector< double, N > &v)
Definition: Migration.h:48
std::vector< TrackingRecHit * > recHits() override
Non-const access to component RecHits (if any)
float errorGlobalR() const override
float errorGlobalZ() const override