CMS 3D CMS Logo

PerigeeTrajectoryParameters.h
Go to the documentation of this file.
1 #ifndef PerigeeTrajectoryParameters_H
2 #define PerigeeTrajectoryParameters_H
3 
15 
17 public:
19 
20  explicit PerigeeTrajectoryParameters(const AlgebraicVector5 &aVector, bool charged = true) : theVector(aVector) {
21  if (charged)
22  theCharge = theVector[0] > 0 ? -1 : 1;
23  else
24  theCharge = 0;
25  }
26 
27  PerigeeTrajectoryParameters(double aCurv, double aTheta, double aPhi, double aTip, double aLip, bool charged = true) {
28  theVector[0] = aCurv;
29  theVector[1] = aTheta;
30  theVector[2] = aPhi;
31  theVector[3] = aTip;
32  theVector[4] = aLip;
33 
34  if (charged)
35  theCharge = aCurv > 0 ? -1 : 1;
36  else
37  theCharge = 0;
38  }
39 
44  TrackCharge charge() const { return theCharge; }
45 
50  double transverseCurvature() const { return ((charge() != 0) ? theVector[0] : 0.); }
51 
56  double theta() const { return theVector[1]; }
57 
62  double phi() const { return theVector[2]; }
63 
68  double transverseImpactParameter() const { return theVector[3]; }
69 
74  double longitudinalImpactParameter() const { return theVector[4]; }
75 
82  const AlgebraicVector5 &vector() const { return theVector; }
83 
84 private:
87 };
88 #endif
PerigeeTrajectoryParameters::longitudinalImpactParameter
double longitudinalImpactParameter() const
Definition: PerigeeTrajectoryParameters.h:74
TrackCharge
int TrackCharge
Definition: TrackCharge.h:4
Vector.h
PerigeeTrajectoryParameters
Definition: PerigeeTrajectoryParameters.h:16
PerigeeTrajectoryParameters::PerigeeTrajectoryParameters
PerigeeTrajectoryParameters(double aCurv, double aTheta, double aPhi, double aTip, double aLip, bool charged=true)
Definition: PerigeeTrajectoryParameters.h:27
TrackCharge.h
PerigeeTrajectoryParameters::phi
double phi() const
Definition: PerigeeTrajectoryParameters.h:62
PerigeeTrajectoryParameters::theVector
AlgebraicVector5 theVector
Definition: PerigeeTrajectoryParameters.h:85
PerigeeTrajectoryParameters::vector
const AlgebraicVector5 & vector() const
Definition: PerigeeTrajectoryParameters.h:82
AlgebraicVector5
ROOT::Math::SVector< double, 5 > AlgebraicVector5
Definition: AlgebraicROOTObjects.h:14
PerigeeTrajectoryParameters::PerigeeTrajectoryParameters
PerigeeTrajectoryParameters(const AlgebraicVector5 &aVector, bool charged=true)
Definition: PerigeeTrajectoryParameters.h:20
PerigeeTrajectoryParameters::PerigeeTrajectoryParameters
PerigeeTrajectoryParameters()
Definition: PerigeeTrajectoryParameters.h:18
PerigeeTrajectoryParameters::charge
TrackCharge charge() const
Definition: PerigeeTrajectoryParameters.h:44
PerigeeTrajectoryParameters::transverseCurvature
double transverseCurvature() const
Definition: PerigeeTrajectoryParameters.h:50
PerigeeTrajectoryParameters::theCharge
TrackCharge theCharge
Definition: PerigeeTrajectoryParameters.h:86
PerigeeTrajectoryParameters::transverseImpactParameter
double transverseImpactParameter() const
Definition: PerigeeTrajectoryParameters.h:68
AlgebraicROOTObjects.h
PerigeeTrajectoryParameters::theta
double theta() const
Definition: PerigeeTrajectoryParameters.h:56
simKBmtfDigis_cfi.aPhi
aPhi
Definition: simKBmtfDigis_cfi.py:5