27 int main(
int argc, 
char **argv)
 
   48   catch(
const exception &error) {
 
   49     FATAL(error.what() << endl);
 
   52   gRandom->SetSeed(seed);
 
   59     for (
int i = 0; i != 4; ++i) {
 
   65       u.rotate(
c1.getRotation());
 
   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);
 
   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_back(const JRotation3D &R)
Rotate back.
 
Data structure for unit quaternion in three dimensions.
 
bool equals(const JQuaternion3D &quaternion, const double precision=std::numeric_limits< double >::min()) const
Check equality.
 
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.
 
int main(int argc, char **argv)
 
static const JVector3D JVector3X_t(1, 0, 0)
unit x-vector
 
static const JVector3D JVector3Y_t(0, 1, 0)
unit y-vector
 
static const JVector3D JVector3Z_t(0, 0, 1)
unit z-vector
 
static const double PI
Mathematical constants.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
static const JUTMPosition JWest_t(-1, 0, 0)
West.
 
static const JUTMPosition JSouth_t(0,-1, 0)
South.
 
static const JUTMPosition JEast_t(+1, 0, 0)
East.
 
static const JUTMPosition JNorth_t(0,+1, 0)
North.
 
Auxiliary data structure for floating point format specification.