utlPython.cc
Go to the documentation of this file.
1 #include <boost/python.hpp>
2 #include <boost/preprocessor.hpp>
3 using namespace boost::python;
4 
5 #include <utl/ErrorLogger.h>
6 #include <utl/TimeStamp.h>
7 #include <utl/AugerUnits.h>
8 
9 #define AUGER_UNITS (mm) \
10  (mm2) \
11  (mm3) \
12  (cm) \
13  (cm2) \
14  (cm3) \
15  (m) \
16  (m2) \
17  (m3) \
18  (km) \
19  (km2) \
20  (km3) \
21  (rad) \
22  (mrad) \
23  (sr) \
24  (deg) \
25  (minute) \
26  (hour) \
27  (day) \
28  (ns) \
29  (s) \
30  (ms) \
31  (MeV) \
32  (eV) \
33  (keV) \
34  (GeV) \
35  (TeV) \
36  (PeV) \
37  (EeV) \
38  (ZeV)
39 
40 #define AUGER_UNITS_INTERFACE(r,data,t) \
41  double t(double d) { return utl::t * d; }
42 
43 #define AUGER_UNITS_DEF(r,data,t) def(BOOST_PP_STRINGIZE(t),&t);
44 
45 BOOST_PP_SEQ_FOR_EACH(AUGER_UNITS_INTERFACE,~,AUGER_UNITS)
46 
47 // ErrorLogger
48 void (utl::ErrorLogger::*set_verbosity)(utl::ErrorLogger::VerbosityLevel) = &utl::ErrorLogger::SetVerbosity;
49 
50 void utlPython()
51 {
52  class_<utl::ErrorLogger, boost::noncopyable>("ErrorLogger", no_init)
53  .def("GetInstance", &utl::ErrorLogger::GetInstance,
54  return_value_policy<reference_existing_object>())
55  .staticmethod("GetInstance")
56  .def("SetVerbosity", set_verbosity);
57 
58  enum_<utl::ErrorLogger::VerbosityLevel>("VerbosityLevel")
59  .value("eDefaultVerbosity", utl::ErrorLogger::eDefaultVerbosity)
60  .value("eTerse", utl::ErrorLogger::eTerse)
61  .value("eVerbose", utl::ErrorLogger::eVerbose);
62 
63  class_<utl::TimeStamp>("TimeStamp")
64  .def("GetDay", &utl::TimeStamp::GetDay)
65  .def("GetGPSNanSecond", &utl::TimeStamp::GetGPSNanoSecond)
66  .def("GetGPSSecond", &utl::TimeStamp::GetGPSSecond)
67  .def("GetHour", &utl::TimeStamp::GetHour)
68  .def("GetLocalDateTime", &utl::TimeStamp::GetLocalDateTime)
69  .def("GetMinute", &utl::TimeStamp::GetMinute)
70  .def("GetMJD", &utl::TimeStamp::GetMJD)
71  .def("GetMonth", &utl::TimeStamp::GetMonth)
72  .def("GetNanoSecond", &utl::TimeStamp::GetNanoSecond)
73  .def("GetSecond", &utl::TimeStamp::GetSecond)
74  //.def("GetUTCDateTime", &utl::TimeStamp::GetUTCDateTime)
75  .def("GetXMLDateTime", &utl::TimeStamp::GetXMLDateTime)
76  .def("GetYear", &utl::TimeStamp::GetYear);
77 
78  BOOST_PP_SEQ_FOR_EACH(AUGER_UNITS_DEF,~,AUGER_UNITS)
79 }
#define AUGER_UNITS_INTERFACE(r, data, t)
Definition: utlPython.cc:40
Traditional name.
Definition: Verbosity.h:17
#define AUGER_UNITS_DEF(r, data, t)
Definition: utlPython.cc:43
terse output
Definition: Verbosity.h:13
void(utl::ErrorLogger::* set_verbosity)(utl::ErrorLogger::VerbosityLevel)
Definition: utlPython.cc:48
unsigned long GetGPSSecond() const
GPS second.
Definition: TimeStamp.h:124
double GetGPSNanoSecond() const
GPS nanosecond.
Definition: TimeStamp.h:127
static ErrorLogger & GetInstance()
Definition: Singleton.h:128
#define AUGER_UNITS
Definition: utlPython.cc:9
void utlPython()
Definition: utlPython.cc:50

, generated on Tue Sep 26 2023.