Jpp  master_rocky-43-ge265d140c
the software that should make you happy
Functions
JConvertDetectorFormat.cc File Reference

Auxiliary program to convert format of detector files. More...

#include <string>
#include "JDetector/JDetector.hh"
#include "JDetector/JDetectorToolkit.hh"
#include "JSupport/JMeta.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"

Go to the source code of this file.

Functions

int main (int argc, char **argv)
 

Detailed Description

Auxiliary program to convert format of detector files.

The following combinations of file name extensions are supported:

input output
detx detx
detx datx
detx gdml
datx detx
datx datx
datx gdml
det detx
det datx
det gdml

Note that if the output file name is the same as the input file name, the original file will be overwritten.

Author
rbruijn

Definition in file JConvertDetectorFormat.cc.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 34 of file JConvertDetectorFormat.cc.

35 {
36 
37  using namespace std;
38  using namespace JPP;
39 
40  string detectorFile;
41  string outputFile;
42  string variant;
43  bool squash;
44  int debug;
45 
46  try {
47 
48  JParser<> zap("Auxiliary program to convert format of detector files.");
49 
50  zap['a'] = make_field(detectorFile);
51  zap['o'] = make_field(outputFile);
52  zap['V'] = make_field(variant, "\"\" maintains version") = getDetectorVersions<string>(), "";
53  zap['q'] = make_field(squash, "squash meta data");
54  zap['d'] = make_field(debug, "debug level") = 2;
55 
56  zap(argc, argv);
57  }
58  catch(const exception &error) {
59  FATAL(error.what() << endl);
60  }
61 
63 
64  try {
65  load(detectorFile, detector);
66  }
67  catch(const JException& error) {
68  FATAL(error);
69  }
70 
71  if (variant != "") {
72  detector.setVersion(variant);
73  }
74 
75  if (squash) {
76  detector.comment.clear();
77  }
78 
79  detector.comment.add(JMeta(argc,argv));
80 
81  try {
83  }
84  catch(const JException& error) {
85  FATAL(error);
86  }
87 }
string outputFile
#define FATAL(A)
Definition: JMessage.hh:67
int debug
debug level
Definition: JSirene.cc:69
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition: JParser.hh:2142
Detector data structure.
Definition: JDetector.hh:96
General exception.
Definition: JException.hh:24
Utility class to parse command line options.
Definition: JParser.hh:1698
void load(const std::string &file_name, JDetector &detector)
Load detector from input file.
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Definition: JSTDTypes.hh:14
Detector file.
Definition: JHead.hh:227
Auxiliary class for ROOT I/O of application specific meta data.
Definition: JMeta.hh:72