24 #define PRINT(OUT, T)                           \ 
   26   << std::setw(24) << left << #T << " --> "     \ 
   27   << std::setw(16) << left << (getDataMember(T) != NULL ? getDataMember(T)->GetName() : "?") << std::endl; } while (0) 
   36   (getClassname(#T) == (getDataMember(T) != NULL ? getDataMember(T)->GetName() : "?")) 
   45 int main(
int argc, 
char **argv)
 
   54     JParser<> zap(
"Program to test JRootClass.");
 
   60   catch(
const exception& error) {
 
   61     FATAL(error.what() << endl);
 
   65     PRINT(cout, &JHead::start_run);
 
   67     PRINT(cout, &JHead::physics);
 
   68     PRINT(cout, &JHead::simul);
 
   69     PRINT(cout, &JHead::cut_primary);
 
   70     PRINT(cout, &JHead::cut_seamuon);
 
   71     PRINT(cout, &JHead::spectrum);
 
   72     PRINT(cout, &JHead::can);
 
   73     PRINT(cout, &JHead::genvol);
 
   74     PRINT(cout, &JHead::coord_origin);
 
   75     PRINT(cout, &JHead::livetime);
 
   76     PRINT(cout, &JHead::seabottom);
 
   97     for (
const string key : { 
"start_run", 
"detector", 
"physics", 
"simul", 
"cut_primary", 
"cut_seamuon", 
"spectrum", 
"can", 
"genvol", 
"coord_origin", 
"livetime", 
"seabottom" }) {
 
Utility class to parse command line options. 
 
int main(int argc, char *argv[])
 
JRootClass find(const char *const name, const bool option=true) const 
Find base class or data member with given name within current class. 
 
bool is_valid(const json &js)
Check validity of JSon data. 
 
Auxiliary class for a type holder. 
 
#define TEST(T)
Test data member. 
 
#define ASSERT(A,...)
Assert macro. 
 
I/O formatting auxiliaries. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
bool is_valid() const 
Check validity of this class. 
 
std::string to_upper(const std::string &value)
Convert all character to upper case. 
 
General purpose messaging. 
 
Utility class to parse command line options. 
 
do set_variable DETECTOR_TXT $WORKDIR detector
 
#define PRINT(OUT, T)
Print data member. 
 
Auxiliary class to manage access to base classes and data members of ROOT class.