Belle II Software  release-05-01-25
nsm_read_argv.cc
1 #include <daq/slc/nsm/nsm_read_argv.h>
2 
3 #include <cstring>
4 #include <cstdlib>
5 
6 namespace Belle2 {
12  int nsm_read_argv(int argc, const char** argv,
13  int (*help)(const char** argv), char** argv_in,
14  ConfigFile& config, std::string& name,
15  std::string& username, int nargv)
16  {
17  name = "nsm";
18  int argc_in = 0;
19  username = getenv("USER");
20  for (int i = 0; i < argc; i++) {
21  if (strcmp(argv[i], "-g") == 0) {
22  name = "nsm.global";
23  } else if (strcmp(argv[i], "-h") == 0) {
24  return help(argv);
25  } else if (strcmp(argv[i], "-c") == 0) {
26  if (i + 1 < argc && argv[i + 1][0] != '-') {
27  i++;
28  config.read(argv[i]);
29  }
30  } else if (strcmp(argv[i], "-n") == 0) {
31  if (i + 1 < argc && argv[i + 1][0] != '-') {
32  i++;
33  username = argv[i];
34  }
35  } else {
36  argv_in[argc_in] = new char[100];
37  strcpy(argv_in[argc_in], argv[i]);
38  argc_in++;
39  }
40  }
41  if (argc_in < nargv) {
42  help(argv);
43  exit(1);
44  }
45  return argc_in;
46  }
47 
49 }
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19