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
Vector3DBase
Definition: Vector3DBase.h:8
CurvilinearTrajectoryParameters::yT
double yT() const
Definition: CurvilinearTrajectoryParameters.h:72
CurvilinearTrajectoryParameters::thephi
double thephi
Definition: CurvilinearTrajectoryParameters.h:79
CurvilinearTrajectoryParameters::lambda
double lambda() const
Definition: CurvilinearTrajectoryParameters.h:69
TrackCharge
int TrackCharge
Definition: TrackCharge.h:4
CurvilinearTrajectoryParameters::vector
AlgebraicVector5 vector() const
Definition: CurvilinearTrajectoryParameters.h:66
CurvilinearTrajectoryParameters::CurvilinearTrajectoryParameters
CurvilinearTrajectoryParameters()
default constructor
Definition: CurvilinearTrajectoryParameters.h:27
CurvilinearTrajectoryParameters::Qbp
double Qbp() const
Definition: CurvilinearTrajectoryParameters.h:68
findQualityFiles.v
v
Definition: findQualityFiles.py:179
CurvilinearTrajectoryParameters::updateP
bool updateP(double dP)
Definition: CurvilinearTrajectoryParameters.cc:17
TrackCharge.h
Point3DBase< float, GlobalTag >
CurvilinearTrajectoryParameters
Definition: CurvilinearTrajectoryParameters.h:23
CurvilinearTrajectoryParameters::CurvilinearTrajectoryParameters
CurvilinearTrajectoryParameters(double aQbp, double alambda, double aphi, double axT, double ayT, bool charged=true)
Definition: CurvilinearTrajectoryParameters.h:48
CurvilinearTrajectoryParameters::thexT
double thexT
Definition: CurvilinearTrajectoryParameters.h:80
AlgebraicVector5
ROOT::Math::SVector< double, 5 > AlgebraicVector5
Definition: AlgebraicROOTObjects.h:14
CurvilinearTrajectoryParameters::xT
double xT() const
Definition: CurvilinearTrajectoryParameters.h:71
CurvilinearTrajectoryParameters::signedInverseMomentum
double signedInverseMomentum() const
access to the Signed Inverse momentum q/p (zero for neutrals)
Definition: CurvilinearTrajectoryParameters.h:60
CurvilinearTrajectoryParameters::theQbp
double theQbp
Definition: CurvilinearTrajectoryParameters.h:77
GlobalVector.h
CurvilinearTrajectoryParameters::theyT
double theyT
Definition: CurvilinearTrajectoryParameters.h:81
CurvilinearTrajectoryParameters::thelambda
double thelambda
Definition: CurvilinearTrajectoryParameters.h:78
CurvilinearTrajectoryParameters::charge
TrackCharge charge() const
access to the charge
Definition: CurvilinearTrajectoryParameters.h:57
CurvilinearTrajectoryParameters::phi
double phi() const
Definition: CurvilinearTrajectoryParameters.h:70
GlobalPoint.h
AlgebraicROOTObjects.h
CurvilinearTrajectoryParameters::CurvilinearTrajectoryParameters
CurvilinearTrajectoryParameters(const AlgebraicVector5 &v, bool charged=true)
Definition: CurvilinearTrajectoryParameters.h:35