#include <CircleEq.h>
Public Member Functions | |
constexpr std::pair< T, T > | center () const |
CircleEq () | |
constexpr | CircleEq (T x1, T y1, T x2, T y2, T x3, T y3) |
constexpr void | compute (T x1, T y1, T x2, T y2, T x3, T y3) |
constexpr std::pair< T, T > | cosdir () const |
constexpr std::pair< T, T > | cosdir (T x, T y) const |
constexpr auto | curvature () const |
constexpr T | dca (T x, T y) const |
constexpr T | dca0 () const |
constexpr auto | radius () const |
Public Attributes | |
T | m_alpha = 0 |
T | m_beta = 0 |
T | m_c = 0 |
T | m_xp = 0 |
T | m_yp = 0 |
| 1) circle is parameterized as: | | C*[(X-Xp)**2+(Y-Yp)**2] - 2*alpha*(X-Xp) - 2*beta*(Y-Yp) = 0 | | Xp,Yp is a point on the track; | | C = 1/r0 is the curvature ( sign of C is charge of particle ); | | alpha & beta are the direction cosines of the radial vector at Xp,Yp | | i.e. alpha = C*(X0-Xp), | | beta = C*(Y0-Yp), |
where center of circle is at X0,Y0. |
---|
Slope dy/dx of tangent at Xp,Yp is -alpha/beta. |
2) the z dimension of the helix is parameterized by gamma = dZ/dSperp |
this is also the tangent of the pitch angle of the helix. |
with this parameterization, (alpha,beta,gamma) rotate like a vector. |
3) For tracks going inward at (Xp,Yp), C, alpha, beta, and gamma change sign |
|
Definition at line 24 of file CircleEq.h.
Definition at line 26 of file CircleEq.h.
|
inline |
Definition at line 28 of file CircleEq.h.
References CircleEq< T >::compute(), testProducerWithPsetDescEmpty_cfi::x1, testProducerWithPsetDescEmpty_cfi::x2, testProducerWithPsetDescEmpty_cfi::y1, and testProducerWithPsetDescEmpty_cfi::y2.
Definition at line 58 of file CircleEq.h.
References CircleEq< T >::m_alpha, CircleEq< T >::m_beta, CircleEq< T >::m_c, CircleEq< T >::m_xp, and CircleEq< T >::m_yp.
Definition at line 70 of file CircleEq.h.
References funct::abs(), EgammaValidation_cff::num, cmsswSequenceInfo::seq, mathSSE::sqrt(), testProducerWithPsetDescEmpty_cfi::x1, testProducerWithPsetDescEmpty_cfi::x2, testProducerWithPsetDescEmpty_cfi::y1, and testProducerWithPsetDescEmpty_cfi::y2.
Referenced by CircleEq< T >::CircleEq().
Definition at line 50 of file CircleEq.h.
References CircleEq< T >::m_alpha, and CircleEq< T >::m_beta.
Definition at line 53 of file CircleEq.h.
References CircleEq< T >::m_alpha, CircleEq< T >::m_beta, CircleEq< T >::m_c, CircleEq< T >::m_xp, CircleEq< T >::m_yp, x, and y.
Definition at line 40 of file CircleEq.h.
References CircleEq< T >::m_alpha, CircleEq< T >::m_beta, CircleEq< T >::m_c, CircleEq< T >::m_xp, CircleEq< T >::m_yp, mathSSE::sqrt(), x, and y.
Definition at line 33 of file CircleEq.h.
References CircleEq< T >::m_alpha, CircleEq< T >::m_beta, CircleEq< T >::m_c, CircleEq< T >::m_xp, CircleEq< T >::m_yp, mathSSE::sqrt(), x, and y.
Definition at line 65 of file CircleEq.h.
Referenced by CircleEq< T >::center(), CircleEq< T >::cosdir(), CircleEq< T >::dca(), and CircleEq< T >::dca0().
Definition at line 66 of file CircleEq.h.
Referenced by CircleEq< T >::center(), CircleEq< T >::cosdir(), CircleEq< T >::dca(), and CircleEq< T >::dca0().
Definition at line 64 of file CircleEq.h.
Referenced by CircleEq< T >::center(), CircleEq< T >::cosdir(), CircleEq< T >::curvature(), CircleEq< T >::dca(), CircleEq< T >::dca0(), and CircleEq< T >::radius().
Definition at line 62 of file CircleEq.h.
Referenced by CircleEq< T >::center(), CircleEq< T >::cosdir(), CircleEq< T >::dca(), and CircleEq< T >::dca0().
Definition at line 63 of file CircleEq.h.
Referenced by CircleEq< T >::center(), CircleEq< T >::cosdir(), CircleEq< T >::dca(), and CircleEq< T >::dca0().