EICrecon
JANA based reconstruction for the EPIC detector
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
jana Namespace Reference

Classes

struct  UserOptions
 

Enumerations

enum  Flag {
  Unknown , ShowUsage , ShowVersion , ShowJANAVersion ,
  ShowDefaultPlugins , ShowAvailablePlugins , ShowConfigs , LoadConfigs ,
  DumpConfigs , Benchmark , ListFactories
}
 

Functions

void PrintUsageOptions ()
 
void PrintUsageExample ()
 
void PrintUsage ()
 
void PrintVersion ()
 
void PrintJANAVersion ()
 
void PrintDefaultPlugins (std::vector< std::string > const &default_plugins)
 
void GetPluginNamesInDir (std::set< std::string > &plugin_names, std::string dir_str)
 
void GetPluginNamesFromEnvPath (std::set< std::string > &plugin_names, const char *env_var)
 
std::vector< std::string > GetAvailablePluginNames (std::vector< std::string > const &default_plugins)
 
void PrintAvailablePlugins (std::vector< std::string > const &default_plugins)
 
bool HasPrintOnlyCliOptions (UserOptions &options, std::vector< std::string > const &default_plugins)
 
bool HasExcludeDefaultPluginsInCliParams (UserOptions &options, const std::string erase_str)
 
void AddAvailablePluginsToOptionParams (UserOptions &options, std::vector< std::string > const &default_plugins)
 
JApplicationCreateJApplication (UserOptions &options)
 
void AddDefaultPluginsToJApplication (JApplication *app, std::vector< std::string > const &default_plugins)
 
void PrintFactories (JApplication *app)
 
void PrintPodioCollections (JApplication *app)
 
void PrintConfigParameters (JApplication *app)
 
int Execute (JApplication *app, UserOptions &options)
 
UserOptions GetCliOptions (int nargs, char *argv[], bool expect_extra)
 

Enumeration Type Documentation

◆ Flag

enum jana::Flag
Enumerator
Unknown 
ShowUsage 
ShowVersion 
ShowJANAVersion 
ShowDefaultPlugins 
ShowAvailablePlugins 
ShowConfigs 
LoadConfigs 
DumpConfigs 
Benchmark 
ListFactories 

Function Documentation

◆ AddAvailablePluginsToOptionParams()

void jana::AddAvailablePluginsToOptionParams ( UserOptions options,
std::vector< std::string > const &  default_plugins 
)
Note
: The sequence of adding the default plugins matters. Have to keep the original sequence to not causing troubles.

◆ AddDefaultPluginsToJApplication()

void jana::AddDefaultPluginsToJApplication ( JApplication app,
std::vector< std::string > const &  default_plugins 
)

◆ CreateJApplication()

JApplication * jana::CreateJApplication ( UserOptions options)

◆ Execute()

int jana::Execute ( JApplication app,
UserOptions options 
)

◆ GetAvailablePluginNames()

std::vector< std::string > jana::GetAvailablePluginNames ( std::vector< std::string > const &  default_plugins)
Note
The plugins will be override if you use the same plugin name at different paths.

◆ GetCliOptions()

UserOptions jana::GetCliOptions ( int  nargs,
char *  argv[],
bool  expect_extra = true 
)

Read the user options from the command line and initialize

Parameters
options.If there are certain flags, mark them as true. Push the event source strings to
options.eventSources.Push the parameter strings to
options.paramsas key-value pairs. If the user option is to load or dump a config file, initialize
options.load/dump_config_file

◆ GetPluginNamesFromEnvPath()

void jana::GetPluginNamesFromEnvPath ( std::set< std::string > &  plugin_names,
const char *  env_var 
)

Get the plugin names by searching for files named as *.so under $JANA_PLUGIN_PATH and $EICrecon_MY/plugins.

Note
It does not guarantee any effectiveness of the plugins.

◆ GetPluginNamesInDir()

void jana::GetPluginNamesInDir ( std::set< std::string > &  plugin_names,
std::string  dir_str 
)

◆ HasExcludeDefaultPluginsInCliParams()

bool jana::HasExcludeDefaultPluginsInCliParams ( UserOptions options,
const std::string  erase_str 
)

Detect whether the cli params

Parameters
options.paramscontain "-Pplugins_to_ignore=...<erase_str>...". If true, delete
erase_strfrom the original cli string "-Pplugins_to_ignore".

◆ HasPrintOnlyCliOptions()

bool jana::HasPrintOnlyCliOptions ( UserOptions options,
std::vector< std::string > const &  default_plugins 
)

If the user option contains print only flags, print the info ann return true; otherwise return false. The print only flags include: "-v", "-h", "-L", "--list_default_plugins", "--list_available_plugins". When the info is shown, the application will exit immediately.

◆ PrintAvailablePlugins()

void jana::PrintAvailablePlugins ( std::vector< std::string > const &  default_plugins)

List all the available plugins at @env_var $JANA_PLUGIN_PATH and @env_var $EICrecon_MY/plugins.

Note
Does not guarantee the effectiveness of the plugins.
The plugins can be override if they use the same name under different locations.

◆ PrintConfigParameters()

void jana::PrintConfigParameters ( JApplication app)

Print a table of the currently defined configuration parameters. n.b. this mostly duplicates a call to app->GetJParameterManager()->PrintParameters() but avoids the issue it has of setting the values column to same width for all parameters. (That leads to lots of whitespace being printed due to the very long podio:output_include_collections param.

◆ PrintDefaultPlugins()

void jana::PrintDefaultPlugins ( std::vector< std::string > const &  default_plugins)

List the

Parameters
default_pluginsin a table.
default_pluginsis given at the top of the eicrecon.cc.

◆ PrintFactories()

void jana::PrintFactories ( JApplication app)

◆ PrintJANAVersion()

void jana::PrintJANAVersion ( )

◆ PrintPodioCollections()

void jana::PrintPodioCollections ( JApplication app)

◆ PrintUsage()

void jana::PrintUsage ( )

Prints jana.cc command-line options to stdout, for use by the CLI. This does not include JANA parameters, which come from JParameterManager::PrintParameters() instead.

◆ PrintUsageExample()

void jana::PrintUsageExample ( )

◆ PrintUsageOptions()

void jana::PrintUsageOptions ( )

◆ PrintVersion()

void jana::PrintVersion ( )