CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FreeTrajectoryState.h
Go to the documentation of this file.
1 #ifndef _TRACKER_FREETRAJECTORYSTATE_H_
2 #define _TRACKER_FREETRAJECTORYSTATE_H_
3 
4 // base trajectory state class
5 // track parameters and error covariance matrix
6 
12 
13 #include <iosfwd>
14 
25 public:
26 // construst
27 //default constructor - needed for Persistency
28 
32 
33  FreeTrajectoryState(const GlobalTrajectoryParameters& aGlobalParameters) :
34  theGlobalParameters(aGlobalParameters),
37  {
38  }
39 
41  const GlobalVector& aP,
42  TrackCharge aCharge,
43  const MagneticField* fieldProvider) :
44  theGlobalParameters(aX, aP, aCharge, fieldProvider),
47  {
48  }
49 
51  const CartesianTrajectoryError& aCartesianError) :
52  theGlobalParameters(aGlobalParameters),
53  theCartesianError(aCartesianError),
56  {
57  }
59  const CurvilinearTrajectoryError& aCurvilinearError) :
60  theGlobalParameters(aGlobalParameters),
61  theCurvilinearError(aCurvilinearError),
64  {
65  }
67  const CartesianTrajectoryError& aCartesianError,
68  const CurvilinearTrajectoryError& aCurvilinearError) :
69  theGlobalParameters(aGlobalParameters),
70  theCartesianError(aCartesianError),
71  theCurvilinearError(aCurvilinearError),
74  {
75  }
76 // access
77 // propagate access to parameters
80  }
83  }
84  TrackCharge charge() const {
85  return theGlobalParameters.charge();
86  }
87  double signedInverseMomentum() const {
89  }
90  double transverseCurvature() const {
92  }
93 // direct access
96  bool hasError() const {
98  }
99  static void missingError();
100 
102  return theGlobalParameters;
103  }
105  if (!hasError()) missingError();
108  return theCartesianError;
109  }
111  if (!hasError()) missingError();
114  return theCurvilinearError;
115  }
116 
117  void rescaleError(double factor);
118 
121  }
124  }
127  }
130  }
131 // properties
132  bool canReach(double radius) const;
133 private:
134 // convert curvilinear errors to cartesian
135  void createCartesianError() const;
136 // convert cartesian errors to curvilinear
137  void createCurvilinearError() const;
138 
139 private:
140 
146 
147 };
148 
149 std::ostream& operator<<(std::ostream& os, const FreeTrajectoryState& fts);
150 
151 #endif
const GlobalTrajectoryParameters & parameters() const
bool hasCurvilinearError() const
void setCartesianError(const AlgebraicSymMatrix66 &err)
ROOT::Math::SMatrix< double, 6, 6, ROOT::Math::MatRepSym< double, 6 > > AlgebraicSymMatrix66
CurvilinearTrajectoryError theCurvilinearError
CartesianTrajectoryError theCartesianError
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
TrackCharge charge() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
bool hasCartesianError() const
const CurvilinearTrajectoryError & curvilinearError() const
void setCurvilinearError(const AlgebraicSymMatrix55 &err)
FreeTrajectoryState(const GlobalTrajectoryParameters &aGlobalParameters, const CartesianTrajectoryError &aCartesianError)
FreeTrajectoryState(const GlobalPoint &aX, const GlobalVector &aP, TrackCharge aCharge, const MagneticField *fieldProvider)
GlobalTrajectoryParameters theGlobalParameters
int TrackCharge
Definition: TrackCharge.h:4
static void missingError()
FreeTrajectoryState(const GlobalTrajectoryParameters &aGlobalParameters, const CartesianTrajectoryError &aCartesianError, const CurvilinearTrajectoryError &aCurvilinearError)
void createCurvilinearError() const
void createCartesianError() const
FreeTrajectoryState(const GlobalTrajectoryParameters &aGlobalParameters, const CurvilinearTrajectoryError &aCurvilinearError)
GlobalVector momentum() const
void setCurvilinearError(const CurvilinearTrajectoryError &err)
void setCartesianError(const CartesianTrajectoryError &err)
GlobalPoint position() const
void rescaleError(double factor)
const CartesianTrajectoryError & cartesianError() const
bool canReach(double radius) const
FreeTrajectoryState(const GlobalTrajectoryParameters &aGlobalParameters)
double transverseCurvature() const
double signedInverseMomentum() const