20 namespace JPP {
using namespace JMATH; }
33 public JMath <JMatrix3D>,
64 JMatrix3D(
const double __a00,
const double __a01,
const double __a02,
65 const double __a10,
const double __a11,
const double __a12,
66 const double __a20,
const double __a21,
const double __a22) :
210 a00 *= factor;
a01 *= factor;
a02 *= factor;
211 a10 *= factor;
a11 *= factor;
a12 *= factor;
212 a20 *= factor;
a21 *= factor;
a22 *= factor;
226 a00 /= factor;
a01 /= factor;
a02 /= factor;
227 a10 /= factor;
a11 /= factor;
a12 /= factor;
228 a20 /= factor;
a21 /= factor;
a22 /= factor;
268 const double eps = std::numeric_limits<double>::min())
const
270 return (fabs(
a00 - A.
a00) <= eps &&
271 fabs(
a01 - A.
a01) <= eps &&
272 fabs(
a02 - A.
a02) <= eps &&
273 fabs(
a10 - A.
a10) <= eps &&
274 fabs(
a11 - A.
a11) <= eps &&
275 fabs(
a12 - A.
a12) <= eps &&
276 fabs(
a20 - A.
a20) <= eps &&
277 fabs(
a21 - A.
a21) <= eps &&
278 fabs(
a22 - A.
a22) <= eps);
288 bool isIdentity(
const double eps = std::numeric_limits<double>::min())
const
318 void transform(
double& __x,
double& __y,
double& __z)
const
320 const double x =
a00 * __x +
a01 * __y +
a02 * __z;
321 const double y =
a10 * __x +
a11 * __y +
a12 * __z;
322 const double z =
a20 * __x +
a21 * __y +
a22 * __z;
339 in >> matrix.
a00; in >> matrix.
a01; in >> matrix.
a02;
340 in >> matrix.
a10; in >> matrix.
a11; in >> matrix.
a12;
341 in >> matrix.
a20; in >> matrix.
a21; in >> matrix.
a22;
356 out << matrix.
a00; out << matrix.
a01; out << matrix.
a02;
357 out << matrix.
a10; out << matrix.
a11; out << matrix.
a12;
358 out << matrix.
a20; out << matrix.
a21; out << matrix.
a22;
375 const JFormat format(out, getFormat<JMatrix3D>(
JFormat_t(10, 3, std::ios::fixed | std::ios::showpos)));
377 out << format << A.
a00 <<
' ' << format << A.
a01 <<
' ' << format << A.
a02 << endl;
378 out << format << A.
a10 <<
' ' << format << A.
a11 <<
' ' << format << A.
a12 << endl;
379 out << format << A.
a20 <<
' ' << format << A.
a21 <<
' ' << format << A.
a22 << endl;
Interface for binary output.
Auxiliary base class for aritmetic operations of derived class types.
static const JMatrix3D & getInstance()
Get reference to unique instance of this class object.
static const JMatrix3D & getIdentity()
Get reference to unique instance of this class object.
JMatrix3D & sub(const JMatrix3D &A)
Matrix subtraction.
JMatrix3D()
Default constructor.
JMatrix3D & mul(const double factor)
Scale matrix.
JMatrix3D & transpose()
Transpose.
JMatrix3D & mul(const JMatrix3D &A, const JMatrix3D &B)
Matrix multiplication.
friend std::ostream & operator<<(std::ostream &out, const JMatrix3D &A)
Print ASCII formatted output.
JMatrix3D & reset()
Set matrix to the null matrix.
bool isIdentity(const double eps=std::numeric_limits< double >::min()) const
Test identity.
Template definition of auxiliary base class for comparison of data structures.
friend JWriter & operator<<(JWriter &out, const JMatrix3D &matrix)
Write matrix to output.
Interface for binary input.
JMatrix3D & div(const double factor)
Scale matrix.
then usage $script[energy[distance[z of PMT]]] fi case set_variable z
then fatal The output file must have the wildcard in the e g root fi eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
bool equals(const JMatrix3D &A, const double eps=std::numeric_limits< double >::min()) const
Equality.
JMatrix3D & add(const JMatrix3D &A)
Matrix addition.
friend JReader & operator>>(JReader &in, JMatrix3D &matrix)
Read matrix from input.
double getDeterminant() const
Get determinant of matrix.
Base class for data structures with artithmetic capabilities.
JMatrix3D & setIdentity()
Set to identity matrix.
JMatrix3D & negate()
Negate matrix.
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A
void transform(double &__x, double &__y, double &__z) const
Transform.
void set(const JMatrix3D &A)
Set matrix.
JMatrix3D(const double __a00, const double __a01, const double __a02, const double __a10, const double __a11, const double __a12, const double __a20, const double __a21, const double __a22)
Contructor.