CMS 3D CMS Logo

RKCylindricalDistance.h
Go to the documentation of this file.
1 #ifndef RKCylindricalDistance_H
2 #define RKCylindricalDistance_H
4 
5 #include "RKDistance.h"
6 #include "RKSmallVector.h"
7 #include "CylindricalState.h"
8 
9 template <typename T, int N>
10 class dso_internal RKCylindricalDistance final : public RKDistance<T, N> {
11 public:
12  typedef T Scalar;
14 
15  ~RKCylindricalDistance() override {}
16 
17  Scalar operator()(const Vector& a, const Vector& b, const Scalar& rho) const override {
18  CylindricalState astate(rho, a, 1.);
19  CylindricalState bstate(rho, b, 1.);
20  return (astate.position() - bstate.position()).mag() +
21  (astate.momentum() - bstate.momentum()).mag() / bstate.momentum().mag();
22  }
23 };
24 
25 #endif
Visibility.h
RKCylindricalDistance::Vector
RKSmallVector< T, N > Vector
Definition: RKCylindricalDistance.h:13
CylindricalState::momentum
const LocalVector momentum() const
Definition: CylindricalState.h:55
RKCylindricalDistance::~RKCylindricalDistance
~RKCylindricalDistance() override
Definition: RKCylindricalDistance.h:15
RKCylindricalDistance::operator()
Scalar operator()(const Vector &a, const Vector &b, const Scalar &rho) const override
Definition: RKCylindricalDistance.h:17
RKSmallVector
ROOT::Math::SVector< T, N > RKSmallVector
Definition: RKSmallVector.h:13
CylindricalState
Definition: CylindricalState.h:23
RKCylindricalDistance
Definition: RKCylindricalDistance.h:10
b
double b
Definition: hdecay.h:118
DDAxes::rho
a
double a
Definition: hdecay.h:119
dso_internal
#define dso_internal
Definition: Visibility.h:13
PV3DBase::mag
T mag() const
Definition: PV3DBase.h:64
RKDistance.h
mag
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Definition: Basic3DVectorLD.h:127
T
long double T
Definition: Basic3DVectorLD.h:48
RKCylindricalDistance::Scalar
T Scalar
Definition: RKCylindricalDistance.h:12
CylindricalState::position
const LocalPoint position() const
Definition: CylindricalState.h:53
RKSmallVector.h
CylindricalState.h
RKDistance
Definition: RKDistance.h:8