28 static const char* plain_t =
"plain";
29 static const char* json_t =
"JSON";
37 int main(
int argc,
char **argv)
51 JParser<> zap(
"Auxiliary program to print Jpp meta data.");
54 zap[
'n'] =
make_field(numberOfEvents) = JLimit::max();
56 zap[
'O'] =
make_field(option) = plain_t, json_t;
68 catch(
const exception &error) {
69 FATAL(error.what() << endl);
73 if (application !=
"") {
75 TFile* in = TFile::Open(inputFile.c_str(),
"exists");
77 if (in != NULL && in->IsOpen()) {
79 const TRegexp regexp(application.c_str());
81 TIter iter(in->GetListOfKeys());
83 for (TKey* key; (key = (TKey*) iter.Next()) != NULL; ) {
85 const TString tag(key->GetName());
87 if (tag.Contains(regexp)) {
89 TNamed* named =
dynamic_cast<TNamed*
>(key->ReadObj());
92 cout << named->GetName() <<
"[" << key->GetCycle() <<
"] " << named->GetTitle() << endl;
101 ERROR(
"Error opening file: " << inputFile << endl);
115 if (option == plain_t) {
119 cout << (*meta) << endl;
123 for (
const auto& i : key) {
124 cout <<
' ' << (*meta)[i];
129 }
else if (option == json_t) {
135 if (option == json_t) {
136 cout << setw(4) << js << endl;
General purpose messaging.
Scanning of objects from multiple files according a format that follows from the extension of each fi...
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
ROOT TTree parameter settings of various packages.
Auxiliary class for multiplexing object iterators.
virtual bool hasNext() override
Check availability of next element.
virtual const pointer_type & next() override
Get next element.
Utility class to parse command line options.
General purpose class for object reading from a list of file names.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
static const char *const SVNrelease_t
SVN release.
static const char *const command_t
Linux command.
static const char *const GITrelease_t
GIT release.
static const char *const namespace_t
name space
static const char *const ROOTrelease_t
ROOT release.
static const char *const system_t
system information
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
Auxiliary class for defining the range of iterations of objects.