ATLAS Offline Software
Loading...
Searching...
No Matches
vsincos_par Struct Reference

vectorized version of parametrized sincos see ATLASSIM-4753 for details More...

#include <vec_parametrized_sincos.h>

Collaboration diagram for vsincos_par:

Public Member Functions

void eval (const double r, double &ATH_RESTRICT sin_a, double &ATH_RESTRICT cos_a) const ATH_RESTRICT

Public Attributes

CxxUtils::vec< double, 4 > param_0 = {}
CxxUtils::vec< double, 4 > param_1 = {}
CxxUtils::vec< double, 4 > param_2 = {}

Detailed Description

vectorized version of parametrized sincos see ATLASSIM-4753 for details

Author
Miha Muskinja, Chistos Anastopoulos

Definition at line 15 of file vec_parametrized_sincos.h.

Member Function Documentation

◆ eval()

void vsincos_par::eval ( const double r,
double &ATH_RESTRICT sin_a,
double &ATH_RESTRICT cos_a ) const
inline

Definition at line 44 of file vec_parametrized_sincos.h.

47 {
48 const double r2 = r * r;
50 P = r2 * P + param_2;
51 sin_a = r * P[1] + P[0];
52 cos_a = r * P[3] + P[2];
53 }
static Double_t P(Double_t *tt, Double_t *par)
int r
Definition globals.cxx:22
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition vec.h:207
CxxUtils::vec< double, 4 > param_1
CxxUtils::vec< double, 4 > param_0
CxxUtils::vec< double, 4 > param_2

Member Data Documentation

◆ param_0

CxxUtils::vec<double, 4> vsincos_par::param_0 = {}

Definition at line 18 of file vec_parametrized_sincos.h.

18{};

◆ param_1

CxxUtils::vec<double, 4> vsincos_par::param_1 = {}

Definition at line 19 of file vec_parametrized_sincos.h.

19{};

◆ param_2

CxxUtils::vec<double, 4> vsincos_par::param_2 = {}

Definition at line 20 of file vec_parametrized_sincos.h.

20{};

The documentation for this struct was generated from the following file: