Jpp  master_rocky-43-ge265d140c
the software that should make you happy
getDetector.cc
Go to the documentation of this file.
1 #include <iostream>
2 #include <iomanip>
3 
4 #include "JDB/JDB.hh"
5 #include "JDB/JDBToolkit.hh"
6 
7 #include "JLang/JLangToolkit.hh"
8 
9 #include "Jeep/JParser.hh"
10 #include "Jeep/JMessage.hh"
11 
12 namespace {
13 
14  const char* const int_t = "int";
15  const char* const string_t = "string";
16 }
17 
18 /**
19  * \file
20  *
21  * Auxiliary program to get serial number or object identifier of detector from database.
22  * \author mdejong
23  */
24 int main(int argc, char **argv)
25 {
26  using namespace std;
27  using namespace JPP;
28 
29  JServer server;
30  string usr;
31  string pwd;
32  string cookie;
33  string detid;
34  string option;
35  int debug;
36 
37  try {
38 
39  JParser<> zap("Auxiliary program to get serial number or object identifier of detector from database.");
40 
41  zap['s'] = make_field(server) = getServernames();
42  zap['u'] = make_field(usr) = "";
43  zap['!'] = make_field(pwd) = "";
44  zap['C'] = make_field(cookie) = "";
45  zap['D'] = make_field(detid);
46  zap['O'] = make_field(option) = "", int_t, string_t;
47  zap['d'] = make_field(debug) = 1;
48 
49  zap(argc, argv);
50  }
51  catch(const exception &error) {
52  FATAL(error.what() << endl);
53  }
54 
55 
56  try {
57 
58  JDB::reset(usr, pwd, cookie);
59 
60  if (is_integer(detid))
61  (option == string_t || option == "" ? cout << getDetector(to_value<int>(detid)) : cout << detid) << endl;
62  else
63  (option == int_t || option == "" ? cout << getDetector(detid) : cout << detid) << endl;
64  }
65  catch(const exception& error) {
66  FATAL(error.what() << endl);
67  }
68 }
General purpose messaging.
#define FATAL(A)
Definition: JMessage.hh:67
int debug
debug level
Definition: JSirene.cc:69
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:2142
Utility class to parse command line options.
Definition: JParser.hh:1698
int main(int argc, char **argv)
Definition: getDetector.cc:24
static const std::string string_t
string
Definition: JSydney.cc:89
JDetectorsHelper & getDetector()
Auxiliary function for helper object initialisation.
Definition: JDBToolkit.hh:378
std::vector< JServer > getServernames()
Get list of names of available database servers.
Definition: JDB.hh:107
bool is_integer(const std::string &buffer)
Check if string is an integer.
Definition: JLangToolkit.hh:58
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
void reset(T &value)
Reset value.
Definition: JSTDTypes.hh:14
Wrapper class for server name.
Definition: JDB.hh:53