22 int main(
int argc,
char **argv)
37 JParser<> zap(
"Auxiliary application to apply tilt angles to seabed.");
39 zap[
'a'] =
make_field(detectorFile,
"detector file.");
40 zap[
'T'] =
make_field(tripodsFile,
"tripods file.");
41 zap[
'x'] =
make_field(Tx,
"tilt angle x-z [rad]");
42 zap[
'y'] =
make_field(Ty,
"tilt angle y-z [rad]");
47 catch(
const exception& error) {
48 FATAL(error.what() << endl);
55 tripods.load(tripodsFile.c_str());
57 catch(
const exception& error) {
58 FATAL(error.what() << endl);
67 catch(
const exception& error) {
68 FATAL(error.what() << endl);
72 JUTMPosition pos =
detector.getUTMPosition();
76 pos = JUTMPosition(0.0, 0.0, 0.0);
78 for (tripods_container::const_iterator
i =
tripods.begin();
i !=
tripods.end(); ++
i) {
79 pos +=
i->getUTMPosition();
86 detector.comment.add(JMeta(argc, argv));
90 const double dz = Tx * (
i->getX() +
detector.getX() - pos.getX()) + Ty * (
i->getY() +
detector.getY() - pos.getY());
92 *
i += JPosition3D(0.0, 0.0, dz);
98 tripods.comment.add(JMeta(argc, argv));
102 const double dz = Tx * (
i->getX() - pos.getX()) + Ty * (
i->getY() - pos.getY());
104 *
i += JUTMPosition(0.0, 0.0, dz);
107 tripods.store(tripodsFile.c_str());
Utility class to parse command line options.
int main(int argc, char *argv[])
Data structure for detector geometry and calibration.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
JContainer< std::vector< JTripod > > tripods_container
General purpose messaging.
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
Utility class to parse command line options.
do set_variable DETECTOR_TXT $WORKDIR detector
Data structure for tripod.