Class RMGDefaultCli

Class Documentation

class RMGDefaultCli

The default remage CLI implementation.

The virtual functions here can be used as extension points into remage’s flow.

Public Functions

RMGDefaultCli() = default
virtual ~RMGDefaultCli() = default
RMGDefaultCli(RMGDefaultCli const&) = delete
RMGDefaultCli &operator=(RMGDefaultCli const&) = delete
RMGDefaultCli(RMGDefaultCli&&) = delete
RMGDefaultCli &operator=(RMGDefaultCli&&) = delete
void ParseCliArgs(int argc, char **argv)

Parse the CLI arguments into class fields.

This calls the SetupCli extension point.

virtual void SetupCli(CLI::App&)

Set-up the CLI11 arguments.

void SetupLoggingAndIpc()

Set-up logging from CLI args, setup signal handlers and IPC.

int RunSimulation(int argc, char **argv)

Set-up and run the actual simulation.

This calls the SetupRuntime, SetupMacros, SetupOutput and SetupGeometry extension points.

virtual void SetupRuntime(RMGManager &manager)

Set-up runtime properties (e.g., multithreading or -processing).

virtual void SetupMacros(RMGManager &manager)

Load the macro file and substitutions from CLI args.

virtual void SetupOutput(RMGManager &manager)

Set-up the output file information from CLI args.

virtual void SetupGeometry(RMGManager &manager)

Load the experimental geometry (by default from GDML )

Protected Attributes

int verbose = false
bool quiet = false
bool version = false
bool version_rich = false
bool no_banner = false
int nthreads = 1
int rand_seed = -1
bool interactive = false
bool overwrite_output = false
int pipe_fd_out = -1
int pipe_fd_in = -1
int proc_num_offset = -1
std::vector<std::string> gdmls
std::vector<std::string> macros
std::vector<std::string> macro_substitutions
std::string output
RMGLog::LogLevel loglevel = RMGLog::summary