CMS 3D CMS Logo

CurvilinearTrajectoryParameters.h
Go to the documentation of this file.
1 #ifndef _TRACKER_CURVILINEARTRAJECTORYPARAMETERS_H_
2 #define _TRACKER_CURVILINEARTRAJECTORYPARAMETERS_H_
3 
8 
9 #include <cmath>
10 
24 public:
26 
28 
35  CurvilinearTrajectoryParameters(const AlgebraicVector5& v, bool charged = true)
36  : theQbp(charged ? v[0] : 0), thelambda(v[1]), thephi(v[2]), thexT(v[3]), theyT(v[4]) {}
37 
48  CurvilinearTrajectoryParameters(double aQbp, double alambda, double aphi, double axT, double ayT, bool charged = true)
49  : theQbp(charged ? aQbp : 0), thelambda(alambda), thephi(aphi), thexT(axT), theyT(ayT) {}
50 
55 
57  TrackCharge charge() const { return (0 == Qbp()) ? 0 : (Qbp() > 0 ? 1 : -1); }
58 
60  double signedInverseMomentum() const { return Qbp(); }
61 
67 
68  double Qbp() const { return theQbp; }
69  double lambda() const { return thelambda; }
70  double phi() const { return thephi; }
71  double xT() const { return thexT; }
72  double yT() const { return theyT; }
73 
74  bool updateP(double dP);
75 
76 private:
77  double theQbp;
78  double thelambda;
79  double thephi;
80  double thexT;
81  double theyT;
82 };
83 
84 #endif
int TrackCharge
Definition: TrackCharge.h:4
CurvilinearTrajectoryParameters(const AlgebraicVector5 &v, bool charged=true)
ROOT::Math::SVector< double, 5 > AlgebraicVector5
TrackCharge charge() const
access to the charge
CurvilinearTrajectoryParameters(double aQbp, double alambda, double aphi, double axT, double ayT, bool charged=true)
double signedInverseMomentum() const
access to the Signed Inverse momentum q/p (zero for neutrals)