CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
CurvilinearTrajectoryParameters.h
Go to the documentation of this file.
1 #ifndef _TRACKER_CURVILINEARTRAJECTORYPARAMETERS_H_
2 #define _TRACKER_CURVILINEARTRAJECTORYPARAMETERS_H_
3 
4 
9 
10 #include <cmath>
11 
12 
13 
29  public:
30 
32 
34 
35 
42  CurvilinearTrajectoryParameters(const AlgebraicVector5& v, bool charged = true) :
43  theQbp(charged ? v[0] : 0), thelambda(v[1]), thephi(v[2]), thexT(v[3]), theyT(v[4]) {}
44 
56  CurvilinearTrajectoryParameters(double aQbp, double alambda, double aphi, double axT, double ayT, bool charged = true) :
57  theQbp(charged ? aQbp : 0), thelambda(alambda), thephi(aphi), thexT(axT), theyT(ayT) {}
58 
59 
64 
66  TrackCharge charge() const { return (0==Qbp()) ? 0 : ( Qbp()>0 ? 1 : -1) ;}
67 
69  double signedInverseMomentum() const {
70  return Qbp();
71  }
72 
73 
79  return AlgebraicVector5(theQbp,
80  thelambda,
81  thephi,
82  thexT,
83  theyT);
84  }
85 
86 
87  double Qbp() const { return theQbp; }
88  double lambda() const { return thelambda; }
89  double phi() const { return thephi; }
90  double xT() const { return thexT; }
91  double yT() const { return theyT; }
92 
93  bool updateP(double dP);
94 
95  private:
96  double theQbp;
97  double thelambda;
98  double thephi;
99  double thexT;
100  double theyT;
101 
102 };
103 
104 
105 #endif
int TrackCharge
Definition: TrackCharge.h:4
CurvilinearTrajectoryParameters(const AlgebraicVector5 &v, bool charged=true)
TrackCharge charge() const
access to the charge
ROOT::Math::SVector< double, 5 > AlgebraicVector5
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)