CMS 3D CMS Logo

BeamSpotTransientTrackingRecHit.h
Go to the documentation of this file.
1 #ifndef BeamSpotTransientTrackingRecHit_H
2 #define BeamSpotTransientTrackingRecHit_H
3 
15 #include <cmath>
16 
20 
22 
23 #include "BeamSpotGeomDet.h"
24 
26 
28 public:
30 
34  localError_ =
35  LocalError(std::pow(beamSpot.BeamWidthX() * cos(phi), 2) + std::pow(beamSpot.BeamWidthY() * sin(phi), 2),
36  0.0,
37  std::pow(beamSpot.sigmaZ(), 2));
38  }
39 
41 
42  LocalPoint localPosition() const override { return localPosition_; }
43  LocalError localPositionError() const override { return localError_; }
44 
45  AlgebraicVector parameters() const override;
46  AlgebraicSymMatrix parametersError() const override;
47  int dimension() const override { return 1; }
48 
49  const TrackingRecHit *hit() const override { return nullptr; }
50  TrackingRecHit *cloneHit() const override { return nullptr; }
51 
52  std::vector<const TrackingRecHit *> recHits() const override { return std::vector<const TrackingRecHit *>(); }
53  std::vector<TrackingRecHit *> recHits() override { return std::vector<TrackingRecHit *>(); }
54 
56 
57 protected:
60 
61 private:
62  // should not have assignment operator (?)
64 
65  // hide the clone method for ReferenceCounted. Warning: this method is still
66  // accessible via the bas class TrackingRecHit interface!
68 
70 };
71 
72 #endif
AlgebraicMatrix projectionMatrix() const override
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
Definition: GeomDet.h:58
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Global3DPoint GlobalPoint
Definition: GlobalPoint.h:10
constexpr int pow(int x)
Definition: conifer.h:24
AlgebraicSymMatrix parametersError() const override
LocalError localPositionError() const override
const GeomDet * det() const
AlgebraicVector parameters() const override
CLHEP::HepMatrix AlgebraicMatrix
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
BeamSpotTransientTrackingRecHit(const reco::BeamSpot &beamSpot, const BeamSpotGeomDet *geom, double phi)
const TrackingRecHit * hit() const override
CLHEP::HepVector AlgebraicVector
TrackingRecHit * cloneHit() const override
BeamSpotTransientTrackingRecHit & operator=(const BeamSpotTransientTrackingRecHit &t)
CLHEP::HepSymMatrix AlgebraicSymMatrix
std::vector< TrackingRecHit * > recHits() override
Non-const access to component RecHits (if any)
std::vector< const TrackingRecHit * > recHits() const override
Access to component RecHits (if any)
BeamSpotTransientTrackingRecHit * clone() const override
static const AlgebraicMatrix theProjectionMatrix