22 int main(
int argc, 
char **argv)
 
   37     JParser<> zap(
"Auxiliary program to generate detector files.");
 
   40     zap[
'D'] = 
make_field(detectorID,  
"detector identifier")        = 1001;
 
   41     zap[
'V'] = 
make_field(variant,     
"detector version")           = getDetectorVersions<string>();
 
   43     zap[
'L'] = 
make_field(location,    
"location of module(s)")      = JLocation(1, 1);
 
   44     zap[
'P'] = 
make_field(pos,         
"position of module(s)")      = JPosition3D(0.0, 0.0, 0.0);
 
   49   catch(
const exception &error) {
 
   50     FATAL(error.what() << endl);
 
   54   JDetector 
detector(detectorID, variant, JDetectorHeader());
 
   56   detector.comment.add(JMeta(argc,argv));
 
   58   for (
const auto id : moduleID) {
 
   60     JModule module = getModule<JKM3NeT_t>(id);
 
   63     module.setLocation(location);
 
   65     detector.push_back(module);
 
   71   catch(
const JException& error) {
 
Utility class to parse command line options. 
 
int main(int argc, char *argv[])
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
Data structure for detector geometry and calibration. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
void store(const std::string &file_name, const JDetector &detector)
Store detector to output file. 
 
General purpose messaging. 
 
Utility class to parse command line options. 
 
do set_variable DETECTOR_TXT $WORKDIR detector