Go to the documentation of this file.
21 namespace JPP {
using namespace JMATH; }
34 public JMath <JMatrix5D>,
83 JMatrix5D(
const double __a00,
const double __a01,
const double __a02,
const double __a03,
const double __a04,
84 const double __a10,
const double __a11,
const double __a12,
const double __a13,
const double __a14,
85 const double __a20,
const double __a21,
const double __a22,
const double __a23,
const double __a24,
86 const double __a30,
const double __a31,
const double __a32,
const double __a33,
const double __a34,
87 const double __a40,
const double __a41,
const double __a42,
const double __a43,
const double __a44) :
146 static_cast<JMatrix5D&>(*
this) = A;
248 a00 *= factor;
a01 *= factor;
a02 *= factor;
a03 *= factor;
a04 *= factor;
249 a10 *= factor;
a11 *= factor;
a12 *= factor;
a13 *= factor;
a14 *= factor;
250 a20 *= factor;
a21 *= factor;
a22 *= factor;
a23 *= factor;
a24 *= factor;
251 a30 *= factor;
a31 *= factor;
a32 *= factor;
a33 *= factor;
a34 *= factor;
252 a40 *= factor;
a41 *= factor;
a42 *= factor;
a43 *= factor;
a44 *= factor;
266 a00 /= factor;
a01 /= factor;
a02 /= factor;
a03 /= factor;
a04 /= factor;
267 a10 /= factor;
a11 /= factor;
a12 /= factor;
a13 /= factor;
a14 /= factor;
268 a20 /= factor;
a21 /= factor;
a22 /= factor;
a23 /= factor;
a24 /= factor;
269 a30 /= factor;
a31 /= factor;
a32 /= factor;
a33 /= factor;
a34 /= factor;
270 a40 /= factor;
a41 /= factor;
a42 /= factor;
a43 /= factor;
a44 /= factor;
328 const double eps = std::numeric_limits<double>::min())
const
330 return (fabs(
a00 - A.
a00) <= eps &&
331 fabs(
a01 - A.
a01) <= eps &&
332 fabs(
a02 - A.
a02) <= eps &&
333 fabs(
a03 - A.
a03) <= eps &&
334 fabs(
a04 - A.
a04) <= eps &&
335 fabs(
a10 - A.
a10) <= eps &&
336 fabs(
a11 - A.
a11) <= eps &&
337 fabs(
a12 - A.
a12) <= eps &&
338 fabs(
a13 - A.
a13) <= eps &&
339 fabs(
a14 - A.
a14) <= eps &&
340 fabs(
a20 - A.
a20) <= eps &&
341 fabs(
a21 - A.
a21) <= eps &&
342 fabs(
a22 - A.
a22) <= eps &&
343 fabs(
a23 - A.
a23) <= eps &&
344 fabs(
a24 - A.
a24) <= eps &&
345 fabs(
a30 - A.
a30) <= eps &&
346 fabs(
a31 - A.
a31) <= eps &&
347 fabs(
a32 - A.
a32) <= eps &&
348 fabs(
a33 - A.
a33) <= eps &&
349 fabs(
a34 - A.
a34) <= eps &&
350 fabs(
a40 - A.
a40) <= eps &&
351 fabs(
a41 - A.
a41) <= eps &&
352 fabs(
a42 - A.
a42) <= eps &&
353 fabs(
a43 - A.
a43) <= eps &&
354 fabs(
a44 - A.
a44) <= eps);
364 bool isIdentity(
const double eps = std::numeric_limits<double>::min())
const
417 void transform(
double& __x0,
double& __x1,
double& __x2,
double& __x3,
double& __x4)
const
419 const double x0 =
a00 * __x0 +
a01 * __x1 +
a02 * __x2 +
a03 * __x3 +
a04 * __x4;
420 const double x1 =
a10 * __x0 +
a11 * __x1 +
a12 * __x2 +
a13 * __x3 +
a14 * __x4;
421 const double x2 =
a20 * __x0 +
a21 * __x1 +
a22 * __x2 +
a23 * __x3 +
a24 * __x4;
422 const double x3 =
a30 * __x0 +
a31 * __x1 +
a32 * __x2 +
a33 * __x3 +
a34 * __x4;
423 const double x4 =
a40 * __x0 +
a41 * __x1 +
a42 * __x2 +
a43 * __x3 +
a44 * __x4;
442 in >> matrix.
a00; in >> matrix.
a01; in >> matrix.
a02; in >> matrix.
a03; in >> matrix.
a04;
443 in >> matrix.
a10; in >> matrix.
a11; in >> matrix.
a12; in >> matrix.
a13; in >> matrix.
a14;
444 in >> matrix.
a20; in >> matrix.
a21; in >> matrix.
a22; in >> matrix.
a23; in >> matrix.
a24;
445 in >> matrix.
a30; in >> matrix.
a31; in >> matrix.
a32; in >> matrix.
a33; in >> matrix.
a34;
446 in >> matrix.
a40; in >> matrix.
a41; in >> matrix.
a42; in >> matrix.
a43; in >> matrix.
a44;
461 out << matrix.
a00; out << matrix.
a01; out << matrix.
a02; out << matrix.
a03; out << matrix.
a04;
462 out << matrix.
a10; out << matrix.
a11; out << matrix.
a12; out << matrix.
a13; out << matrix.
a14;
463 out << matrix.
a20; out << matrix.
a21; out << matrix.
a22; out << matrix.
a23; out << matrix.
a24;
464 out << matrix.
a30; out << matrix.
a31; out << matrix.
a32; out << matrix.
a33; out << matrix.
a34;
465 out << matrix.
a40; out << matrix.
a41; out << matrix.
a42; out << matrix.
a43; out << matrix.
a44;
double & operator()(int row, int col)
Get matrix element.
JMatrix5D & transpose()
Transpose.
JMatrix5D & sub(const JMatrix5D &A)
Matrix subtraction.
Interface for binary input.
static const JMatrix5D & getIdentity()
Get reference to unique instance of this class object.
void transform(double &__x0, double &__x1, double &__x2, double &__x3, double &__x4) const
Transform.
Auxiliary data structure for floating point format specification.
static const int NUMBER_OF_DIMENSIONS
const JMatrix5D & mul(const JMatrix5D &A, const JMatrix5D &B)
Matrix multiplication.
static const JMatrix5D & getInstance()
Get reference to unique instance of this class object.
Template definition of auxiliary base class for comparison of data structures.
Auxiliary base class for aritmetic operations of derived class types.
double getDeterminant() const
Get determinant of matrix.
void set(const JMatrix5D &A)
Set matrix.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
JMatrix5D(const double __a00, const double __a01, const double __a02, const double __a03, const double __a04, const double __a10, const double __a11, const double __a12, const double __a13, const double __a14, const double __a20, const double __a21, const double __a22, const double __a23, const double __a24, const double __a30, const double __a31, const double __a32, const double __a33, const double __a34, const double __a40, const double __a41, const double __a42, const double __a43, const double __a44)
Contructor.
Interface for binary output.
JMatrix5D & div(const double factor)
Scale matrix.
friend std::ostream & operator<<(std::ostream &out, const JMatrix5D &A)
Print ASCII formatted output.
double getDeterminant() const
Get determinant of matrix.
JMatrix5D & mul(const double factor)
Scale matrix.
JMatrix5D & negate()
Negate matrix.
Auxiliary classes and methods for mathematical operations.
Auxiliary class to temporarily modify format specifications.
friend JReader & operator>>(JReader &in, JMatrix5D &matrix)
Read matrix from input.
JMatrix5D & setIdentity()
Set to identity matrix.
JMatrix5D()
Default constructor.
bool equals(const JMatrix5D &A, const double eps=std::numeric_limits< double >::min()) const
Equality.
friend JWriter & operator<<(JWriter &out, const JMatrix5D &matrix)
Write matrix to output.
double operator()(int row, int col) const
Get matrix element.
bool isIdentity(const double eps=std::numeric_limits< double >::min()) const
Test identity.
JMatrix5D & reset()
Set matrix to the null matrix.
JMatrix5D & add(const JMatrix5D &A)
Matrix addition.