CMS 3D CMS Logo

CurvilinearTrajectoryParameters.cc
Go to the documentation of this file.
2 #include <cmath>
3 
5  const GlobalVector& aP,
6  TrackCharge aCharge) {
7  theQbp = aCharge / aP.mag();
8 
9  double pT2 = aP.x() * aP.x() + aP.y() * aP.y();
10  double pT = sqrt(pT2);
11  thelambda = atan(aP.z() / pT);
12  thephi = atan2(aP.y(), aP.x());
13  thexT = (-aP.y() * aX.x() + aP.x() * aX.y()) / pT;
14  theyT = (-aX.x() * aP.x() * aP.z() - aX.y() * aP.z() * aP.y() + aX.z() * (pT2)) / (aP.mag() * pT);
15 }
16 
18  //FIXME. something is very likely to be missing here
19  double p = 1. / std::abs(Qbp());
20  if ((p += dP) <= 0.)
21  return false;
22  double newQbp = Qbp() > 0 ? 1. / p : -1. / p;
23  theQbp = newQbp;
24  return true;
25 }
Vector3DBase
Definition: Vector3DBase.h:8
CurvilinearTrajectoryParameters::thephi
double thephi
Definition: CurvilinearTrajectoryParameters.h:79
TrackCharge
int TrackCharge
Definition: TrackCharge.h:4
CurvilinearTrajectoryParameters::CurvilinearTrajectoryParameters
CurvilinearTrajectoryParameters()
default constructor
Definition: CurvilinearTrajectoryParameters.h:27
PV3DBase::x
T x() const
Definition: PV3DBase.h:59
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
CurvilinearTrajectoryParameters::Qbp
double Qbp() const
Definition: CurvilinearTrajectoryParameters.h:68
HLT_FULL_cff.pT2
pT2
Definition: HLT_FULL_cff.py:9529
PV3DBase::z
T z() const
Definition: PV3DBase.h:61
CurvilinearTrajectoryParameters::updateP
bool updateP(double dP)
Definition: CurvilinearTrajectoryParameters.cc:17
PVValHelper::pT
Definition: PVValidationHelpers.h:70
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
Point3DBase< float, GlobalTag >
CurvilinearTrajectoryParameters.h
CurvilinearTrajectoryParameters::thexT
double thexT
Definition: CurvilinearTrajectoryParameters.h:80
PV3DBase::y
T y() const
Definition: PV3DBase.h:60
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
CurvilinearTrajectoryParameters::theQbp
double theQbp
Definition: CurvilinearTrajectoryParameters.h:77
CurvilinearTrajectoryParameters::theyT
double theyT
Definition: CurvilinearTrajectoryParameters.h:81
CurvilinearTrajectoryParameters::thelambda
double thelambda
Definition: CurvilinearTrajectoryParameters.h:78
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22