136 return Vector<Cmpt>(this->v_[XA], this->v_[YA], this->v_[ZA]);
143 return Vector<Cmpt>(this->v_[XB], this->v_[YB], this->v_[ZB]);
150 return Vector<Cmpt>(this->v_[XC], this->v_[YC], this->v_[ZC]);
157 return Vector<Cmpt>(this->v_[XD], this->v_[YD], this->v_[ZD]);
164 #if defined(__GNUC__) && !defined(__clang__) 165 __attribute__((optimize(
"no-tree-vectorize")))
174 (bry.
a()*t.
xa() + bry.
b()*t.
xb() + bry.
c()*t.
xc() + bry.
d()*t.
xd()),
175 (bry.
a()*t.
ya() + bry.
b()*t.
yb() + bry.
c()*t.
yc() + bry.
d()*t.
yd()),
176 (bry.
a()*t.
za() + bry.
b()*t.
zb() + bry.
c()*t.
zc() + bry.
d()*t.
zd())
203 inline Barycentric<Cmpt>
operator&
205 const Vector<Cmpt>& v,
206 const BarycentricTensor<Cmpt>&
T 209 return Barycentric<Cmpt>(v &
T.a(), v &
T.b(), v &
T.c(), v &
T.d());
const Cmpt & yb() const noexcept
Vector< Cmpt > inner(const Barycentric< Cmpt > &bry) const
Tensor/barycentric inner product.
Barycentric< Cmpt > x() const
const Cmpt & yd() const noexcept
const Cmpt & ya() const noexcept
Cmpt inner(const Vector< Cmpt > &v2) const
Scalar-product of this with another Vector.
const Cmpt & zc() const noexcept
Barycentric< Cmpt > z() const
const Cmpt & y() const noexcept
Access to the vector y component.
const Cmpt & xb() const noexcept
const Cmpt & b() const noexcept
const Cmpt & xd() const noexcept
Barycentric< Cmpt > y() const
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
const Cmpt & c() const noexcept
const Cmpt & yc() const noexcept
const Cmpt & za() const noexcept
const Cmpt & d() const noexcept
Templated 3D Vector derived from VectorSpace adding construction from 3 components, element access using x(), y() and z() member functions and the inner-product (dot-product) and cross-product operators.
const Cmpt & x() const noexcept
Access to the vector x component.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const Cmpt & xa() const noexcept
Templated 3D Barycentric derived from VectorSpace. Has 4 components, one of which is redundant...
const Cmpt & z() const noexcept
Access to the vector z component.
BarycentricTensor()=default
Default construct.
const dimensionedScalar c
Speed of light in a vacuum.
Templated 4x3 tensor derived from VectorSpace. Has 12 components. Can represent a barycentric transfo...
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
const Cmpt & a() const noexcept
const Cmpt & zd() const noexcept
const Cmpt & zb() const noexcept
static constexpr const zero Zero
Global zero (0)
const Cmpt & xc() const noexcept