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);
74 if (!tripods.empty()) {
78 for (tripods_container::const_iterator i = tripods.begin(); i != tripods.end(); ++i) {
82 pos /= tripods.size();
100 for (tripods_container::iterator i = tripods.begin(); i != tripods.end(); ++i) {
102 const double dz = Tx * (i->getX() - pos.
getX()) + Ty * (i->getY() - pos.
getY());
107 tripods.
store(tripodsFile.c_str());
Data structure for detector geometry and calibration.
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Data structure for tripod.
Data structure for position in three dimensions.
Utility class to parse command line options.
Data structure for UTM position.
double getY() const
Get y.
double getX() const
Get x.
const JUTMPosition & getUTMPosition() const
Get UTM position.
JContainer< std::vector< JTripod > > tripods_container
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
int main(int argc, char **argv)
Auxiliary wrapper for I/O of container with optional comment (see JComment).
void store(const char *file_name) const
Store to output file.
void load(const char *file_name)
Load from input file.