CMS 3D CMS Logo

TrajectoryStateClosestToPoint.h
Go to the documentation of this file.
1 #ifndef TrajectoryStateClosestToPoint_H
2 #define TrajectoryStateClosestToPoint_H
3 
9 
22 
23 public:
25 
32  double pt,
34  const MagneticField* field)
35  : theField(field),
36  theRefPoint(referencePoint),
37  theParameters(perigeeParameters),
38  thePt(pt),
39  valid(true),
42 
49  double pt,
52  const MagneticField* field)
53  : theField(field),
54  theRefPoint(referencePoint),
55  theParameters(perigeeParameters),
56  thePt(pt),
57  thePerigeeError(perigeeError),
58  valid(true),
61 
67  const GlobalPoint& referencePoint() const { return theRefPoint; }
68 
74 
78  double pt() const { return thePt; }
79 
85 
91 
93 
94  TrackCharge charge() const { return theParameters.charge(); }
95 
96  const FreeTrajectoryState& theState() const {
97  if (!theFTSavailable)
98  calculateFTS();
99  return theFTS;
100  }
101 
106  bool hasError() const { return errorIsAvailable; }
107 
111  bool isValid() const { return valid; }
112 
114 
120  TrajectoryStateClosestToPoint(const FTS& originalFTS, const GlobalPoint& referencePoint);
121 
122  void calculateFTS() const;
123 
124 private:
126 
127  mutable FTS theFTS;
128 
131  double thePt;
133  bool valid;
134  mutable bool theFTSavailable;
136 };
137 #endif
const PerigeeTrajectoryError & perigeeError() const
const FreeTrajectoryState & theState() const
TrajectoryStateClosestToPoint()
parameter dimension
int TrackCharge
Definition: TrackCharge.h:4
const PerigeeTrajectoryParameters & perigeeParameters() const
GlobalPoint positionFromPerigee(const PerigeeTrajectoryParameters &parameters, const GlobalPoint &referencePoint)
GlobalVector momentumFromPerigee(const AlgebraicVector3 &momentum, const TrackCharge &charge, const GlobalPoint &referencePoint, const MagneticField *field)
TrajectoryStateClosestToPoint(const PerigeeTrajectoryParameters &perigeeParameters, double pt, const GlobalPoint &referencePoint, const MagneticField *field)
TrajectoryStateClosestToPoint(const PerigeeTrajectoryParameters &perigeeParameters, double pt, const PerigeeTrajectoryError &perigeeError, const GlobalPoint &referencePoint, const MagneticField *field)
const GlobalPoint & referencePoint() const
PerigeeTrajectoryParameters theParameters