21 int main(
int argc,
char **argv)
33 JParser<> zap(
"Auxiliary application to determine tilt angles of seabed based on tripod positions.");
40 catch(
const exception& error) {
41 FATAL(error.what() << endl);
44 if (tripods.size() < 3) {
45 FATAL(
"Number of tripods " << tripods.size() << endl);
52 for (tripods_container::const_iterator i = tripods.begin(); i != tripods.end(); ++i) {
56 pos /= tripods.size();
59 << showpos <<
FIXED(12,3) << pos.
getX() <<
' '
60 << showpos <<
FIXED(12,3) << pos.
getY() <<
' '
61 << showpos <<
FIXED(12,3) << pos.
getZ() << endl);
66 double Y[3] = { 0.0, 0.0, 0.0 };
68 for (tripods_container::const_iterator i = tripods.begin(); i != tripods.end(); ++i) {
70 const double x = i->getX() - pos.
getX();
71 const double y = i->getY() - pos.
getY();
72 const double z = i->getZ() - pos.
getZ();
91 const double a = A.
a00 * Y[0] + A.
a01 * Y[1] + A.
a02 * Y[2];
92 const double b = A.
a10 * Y[0] + A.
a11 * Y[1] + A.
a12 * Y[2];
105 cout << showpos <<
FIXED(12,6) << Tx <<
' '
106 << showpos <<
FIXED(12,6) << Ty << endl;
108 catch(
const exception& error) {
General purpose messaging.
#define DEBUG(A)
Message macros.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Data structure for tripod.
Singular value decomposition.
const JMatrix3D & invert(const double precision=1.0e-12) const
Get inverted matrix.
Utility class to parse command line options.
Data structure for UTM position.
double getZ() const
Get z.
double getY() const
Get y.
double getX() const
Get x.
const JUTMPosition & getUTMPosition() const
Get UTM position.
int main(int argc, char **argv)
JContainer< std::vector< JTripod > > tripods_container
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary data structure for floating point format specification.
Auxiliary wrapper for I/O of container with optional comment (see JComment).