/usr/include/root/Math/GenVector/3DConversions.h is in libroot-math-genvector-dev 5.34.30-0ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | // @(#)root/mathcore:$Id$
// Authors: W. Brown, M. Fischler, L. Moneta 2005
/**********************************************************************
* *
* Copyright (c) 2005, LCG ROOT FNAL MathLib Team *
* *
* *
**********************************************************************/
// Header file for class Rotation in 3 dimensions, represented by 3x3 matrix
//
// Created by: Mark Fischler and Walter Brown Thurs July 7, 2005
//
// Last update: Wed Thurs July 7, 2005
//
#ifndef ROOT_Math_GenVector_3DConversions
#define ROOT_Math_GenVector_3DConversions 1
#include "Math/GenVector/Rotation3Dfwd.h"
#include "Math/GenVector/AxisAnglefwd.h"
#include "Math/GenVector/EulerAnglesfwd.h"
#include "Math/GenVector/Quaternionfwd.h"
#include "Math/GenVector/RotationXfwd.h"
#include "Math/GenVector/RotationYfwd.h"
#include "Math/GenVector/RotationZfwd.h"
#include "Math/GenVector/RotationZYXfwd.h"
namespace ROOT {
namespace Math {
namespace gv_detail {
// flag a link time error when a wrong conversion is instantiated
struct ERROR_This_Rotation_Conversion_is_NOT_Supported {
ERROR_This_Rotation_Conversion_is_NOT_Supported();
};
template<class R1, class R2>
void convert( R1 const &, R2 const) {
ERROR_This_Rotation_Conversion_is_NOT_Supported();
}
// ----------------------------------------------------------------------
// conversions from Rotation3D
/**
conversion functions from 3D rotation.
For converting to Euler Angles see
<A><HREF="http://www.cern.ch/mathlibs/documents/eulerAngleComputation.pdf">here</A>
*/
void convert( Rotation3D const & from, AxisAngle & to);
void convert( Rotation3D const & from, EulerAngles & to);
void convert( Rotation3D const & from, Quaternion & to);
void convert( Rotation3D const & from, RotationZYX & to);
// ----------------------------------------------------------------------
// conversions from AxisAngle
void convert( AxisAngle const & from, Rotation3D & to);
void convert( AxisAngle const & from, EulerAngles & to);
void convert( AxisAngle const & from, Quaternion & to);
void convert( AxisAngle const & from, RotationZYX & to);
// ----------------------------------------------------------------------
// conversions from EulerAngles
void convert( EulerAngles const & from, Rotation3D & to);
void convert( EulerAngles const & from, AxisAngle & to);
void convert( EulerAngles const & from, Quaternion & to);
void convert( EulerAngles const & from, RotationZYX & to);
// ----------------------------------------------------------------------
// conversions from Quaternion
void convert( Quaternion const & from, Rotation3D & to);
void convert( Quaternion const & from, AxisAngle & to);
void convert( Quaternion const & from, EulerAngles & to);
void convert( Quaternion const & from, RotationZYX & to);
// ----------------------------------------------------------------------
// conversions from RotationZYX
void convert( RotationZYX const & from, Rotation3D & to);
void convert( RotationZYX const & from, AxisAngle & to);
void convert( RotationZYX const & from, EulerAngles & to);
void convert( RotationZYX const & from, Quaternion & to);
// ----------------------------------------------------------------------
// conversions from RotationX
void convert( RotationX const & from, Rotation3D & to);
void convert( RotationX const & from, RotationZYX & to);
void convert( RotationX const & from, AxisAngle & to);
void convert( RotationX const & from, EulerAngles & to);
void convert( RotationX const & from, Quaternion & to);
// ----------------------------------------------------------------------
// conversions from RotationY
void convert( RotationY const & from, Rotation3D & to);
void convert( RotationY const & from, RotationZYX & to);
void convert( RotationY const & from, AxisAngle & to);
void convert( RotationY const & from, EulerAngles & to);
void convert( RotationY const & from, Quaternion & to);
// ----------------------------------------------------------------------
// conversions from RotationZ
void convert( RotationZ const & from, Rotation3D & to);
void convert( RotationZ const & from, RotationZYX & to);
void convert( RotationZ const & from, AxisAngle & to);
void convert( RotationZ const & from, EulerAngles & to);
void convert( RotationZ const & from, Quaternion & to);
} //namespace gv_detail
} //namespace Math
} //namespace ROOT
#endif // ROOT_Math_GenVector_3DConversions
|