EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
eicrecon_cli.h
Go to the documentation of this file.
1//
2// Created by xmei on 9/7/22.
3//
4
5#pragma once
6
7#include <JANA/JApplicationFwd.h>
8#include <map>
9#include <string>
10#include <vector>
11
12#ifdef alignas
13// FIXME may be removed when minimum version in CMakeLists.txt includes the PR below
14#error JANA defines alignas macro; for patch see https://github.com/JeffersonLab/JANA2/pull/239
15#endif
16
17namespace jana {
18
32
36
37 std::map<Flag, bool> flags;
38 std::map<std::string, std::string> params;
39 std::vector<std::string> eventSources;
40 std::string load_config_file;
41 std::string dump_config_file;
42};
43
49UserOptions GetCliOptions(int nargs, char* argv[], bool expect_extra = true);
50
54bool HasPrintOnlyCliOptions(UserOptions& options, std::vector<std::string> const& default_plugins);
55
56void PrintUsage();
57void PrintVersion();
58
61void PrintDefaultPlugins(std::vector<std::string> const& default_plugins);
62
66void PrintAvailablePlugins(std::vector<std::string> const& default_plugins);
67
71 std::vector<std::string> const& default_plugins);
72
74 std::vector<std::string> const& default_plugins);
75
78
85int Execute(JApplication* app, UserOptions& options);
86
87} // namespace jana
Definition eicrecon_cli.cc:38
int Execute(JApplication *app, UserOptions &options)
Definition eicrecon_cli.cc:390
void AddDefaultPluginsToJApplication(JApplication *app, std::vector< std::string > const &default_plugins)
Definition eicrecon_cli.cc:311
void PrintUsage()
Definition eicrecon_cli.cc:79
Flag
Definition eicrecon_cli.h:19
@ ShowUsage
Definition eicrecon_cli.h:21
@ LoadConfigs
Definition eicrecon_cli.h:27
@ ShowJANAVersion
Definition eicrecon_cli.h:23
@ DumpConfigs
Definition eicrecon_cli.h:28
@ ShowDefaultPlugins
Definition eicrecon_cli.h:24
@ ShowAvailablePlugins
Definition eicrecon_cli.h:25
@ ShowVersion
Definition eicrecon_cli.h:22
@ Unknown
Definition eicrecon_cli.h:20
@ Benchmark
Definition eicrecon_cli.h:29
@ ListFactories
Definition eicrecon_cli.h:30
@ ShowConfigs
Definition eicrecon_cli.h:26
void PrintVersion()
Definition eicrecon_cli.cc:103
void AddAvailablePluginsToOptionParams(UserOptions &options, std::vector< std::string > const &default_plugins)
Definition eicrecon_cli.cc:229
void PrintDefaultPlugins(std::vector< std::string > const &default_plugins)
Definition eicrecon_cli.cc:107
JApplication * CreateJApplication(UserOptions &options)
Definition eicrecon_cli.cc:262
UserOptions GetCliOptions(int nargs, char *argv[], bool expect_extra)
Definition eicrecon_cli.cc:441
bool HasPrintOnlyCliOptions(UserOptions &options, std::vector< std::string > const &default_plugins)
Definition eicrecon_cli.cc:178
void PrintPodioCollections(JApplication *app)
Definition eicrecon_cli.cc:324
void PrintFactories(JApplication *app)
Definition eicrecon_cli.cc:318
void PrintAvailablePlugins(std::vector< std::string > const &default_plugins)
Definition eicrecon_cli.cc:172
Definition eicrecon_cli.h:33
std::vector< std::string > eventSources
Definition eicrecon_cli.h:39
std::map< std::string, std::string > params
Definition eicrecon_cli.h:38
std::string dump_config_file
Definition eicrecon_cli.h:41
std::map< Flag, bool > flags
Definition eicrecon_cli.h:37
std::string load_config_file
Definition eicrecon_cli.h:40