27int main(
int argc,
char **argv)
48 catch(
const exception &error) {
49 FATAL(error.what() << endl);
52 gRandom->SetSeed(seed);
57 const JUTMPosition pointer[] = { JEast_t, JNorth_t, JWest_t, JSouth_t, JEast_t };
59 for (
int i = 0; i != 4; ++i) {
69 ASSERT(u.
equals(pointer[i+1], precision),
"compass definitions");
73 for (
int count = 0; count < numberOfEvents; ++count) {
75 STATUS(
"event: " << setw(10) << count <<
'\r');
DEBUG(endl);
77 const JCompass c1(gRandom->Uniform(-1.0*PI,+1.0*PI),
78 gRandom->Uniform(-0.5*PI,+0.5*PI),
79 gRandom->Uniform(-0.5*PI,+0.5*PI));
86 DEBUG(
"compass [1] " << setprecision(3) <<
c1 << endl);
87 DEBUG(
"compass [2] " << setprecision(3) << c2 << endl);
88 DEBUG(
"quaternion [1] " << setprecision(5) << Q1 << endl);
89 DEBUG(
"quaternion [2] " << setprecision(5) << Q2 << endl);
94 Q1.
equals(-Q2, precision),
"compass to rotation to quaternion versus compass to quaternion");
96 ASSERT(
c1.equals(c2, precision),
"compass to quaternion to compass");
104 for (
int i = 0; i !=
sizeof(pos)/
sizeof(pos[0]); ++i) {
115 DEBUG(showpos <<
FIXED(8,3) << p0 <<
" -> " << flush);
TCanvas * c1
Global variables to handle mouse events.
General purpose messaging.
#define DEBUG(A)
Message macros.
#define ASSERT(A,...)
Assert macro.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
I/O formatting auxiliaries.
Data structure for compass in three dimensions.
Data structure for position in three dimensions.
JPosition3D & rotate(const JRotation3D &R)
Rotate.
JPosition3D & rotate_back(const JRotation3D &R)
Rotate back.
Data structure for unit quaternion in three dimensions.
const JQuaternion3D & getQuaternion() const
Get quaternion.
bool equals(const JQuaternion3D &quaternion, const double precision=std::numeric_limits< double >::min()) const
Check equality.
const JRotation3D & getRotation() const
Get rotation.
bool equals(const JVector3D &vector, const double precision=std::numeric_limits< double >::min()) const
Check equality.
Utility class to parse command line options.
Data structure for UTM position.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.