5 #include "dbclient/KM3NeTDBClient.h" 
   34   static const char* 
const RUN_t = 
"RUN";
 
   39   struct calibration_type :
 
   48     std::string operator[](
const std::string& type)
 const 
   52       const_iterator p = find_if(this->begin(), this->end(), 
make_predicate(&APIV2::JRunCalibration_t::CalibrationType, type));
 
   55         return p->CalibrationId;
 
   70 int main(
int argc, 
char **argv)
 
   89     JParser<> zap(
"Auxiliary program to download official detector.");
 
   97     zap[
'R'] = 
make_field(ranking,       
"ranking (1 is best)")      = 1;
 
   98     zap[
'V'] = 
make_field(variant,       
"detector version")         = getDetectorVersions<string>();
 
  100     zap[
'F'] = 
make_field(format,     
"column names: "  
  112   catch(
const exception &error) {
 
  113     FATAL(error.what() << endl);
 
  120     detid = getDetector<string>(detid);
 
  126     DEBUG(setw(2) << js << endl);
 
  129       FATAL(
"JSon error code not okay." << endl);
 
  133       FATAL(
"JSon output does not contain data." << endl);
 
  140         cout << setw(24) << left << element.CalibrationType << 
' ' << right << element.CalibrationId << endl;
 
  165         if (
detector.setToLatestVersion()) {
 
  166           NOTICE(
"Set detector version to " << 
detector.getVersion() << endl);
 
  182             ERROR(
"Invalid JSon data " << setw(2) << buffer);
 
  187     if (!format.empty()) {
 
  200   catch(
const exception& error) {
 
  201     FATAL(error.what() << endl);
 
Data structure for detector geometry and calibration.
 
#define THROW(JException_t, A)
Marco for throwing exception with std::ostream compatible message.
 
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
 
#define MAKE_STRING(A)
Make string.
 
int main(int argc, char **argv)
 
JSon definitions and auxiliaries.
 
static JDB & get()
Get connection to database.
 
static void reset()
Reset connection to database.
 
Utility class to parse command line options.
 
void get_json(json &js, const std::string &query)
Get json.
 
std::vector< JServer > getServernames()
Get list of names of available database servers.
 
static const JGetDetectorVersion getDetectorVersion
Function object to map detector version to numerical value.
 
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
 
std::string setWildCard(const std::string &file_name, const std::string &value)
Get file name by setting wild card to given value.
 
bool hasWildCard(const std::string &file_name)
Check presence of wild card.
 
static const char FILENAME_WILDCARD
wild card character for file name substitution
 
JPredicate< JResult_t T::*, JComparison::eq > make_predicate(JResult_t T::*member, const JResult_t value)
Helper method to create predicate for data member.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
const char * getName()
Get ROOT name of given data type.
 
static const std::string PMT_T0_CALIBRATION_t
PMT time offsets.
 
static const std::string COMPASS_CALIBRATION_t
compass alignment (a.k.a. quaternion calibration)
 
bool is_valid(const json &js)
Check validity of JSon data.
 
static const std::string DOM_POSITION_CALIBRATION_t
(optical|base) module positions
 
static const std::string STATUS_CALIBRATION_t
(module|PMT) status
 
static const std::string Data_t
 
static const std::string DOM_ROTATION_CALIBRATION_t
optical module orientations
 
static const std::string ACOUSTIC_T0_CALIBRATION_t
acoustic time offsets (piezo sensor or hydrophone)
 
Wrapper class for server name.
 
Template definition for getting table specific selector.
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Auxiliary data structure for correspondence between nick and full name of calibration types.
 
const std::string & getNickname(const std::string &type) const
Get calibration type.