TrackingTools
TrajectoryParametrization
interface
PerigeeTrajectoryParameters.h
Go to the documentation of this file.
1
#ifndef PerigeeTrajectoryParameters_H
2
#define PerigeeTrajectoryParameters_H
3
12
#include "
DataFormats/TrajectoryState/interface/TrackCharge.h
"
13
#include "
DataFormats/Math/interface/Vector.h
"
14
#include "
DataFormats/Math/interface/AlgebraicROOTObjects.h
"
15
16
class
PerigeeTrajectoryParameters
{
17
public
:
18
PerigeeTrajectoryParameters
() {}
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
:
85
AlgebraicVector5
theVector
;
86
TrackCharge
theCharge
;
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
Generated for CMSSW Reference Manual by
1.8.16