| The Gaudi Framework v32r1 (f65d50dc)

Application.h
Go to the documentation of this file.
1 #pragma once
2
3 #include <Gaudi/PluginService.h>
4 #include <GaudiKernel/IStateful.h>
5 #include <GaudiKernel/SmartIF.h>
6 #include <map>
7 #include <string>
8 #include <string_view>
9
10 namespace Gaudi {
17 class Application {
18 public:
19 using Options = std::map<std::string, std::string>;
20 using Factory = Gaudi::PluginService::Factory<Application( Options )>;
21
23 Application( Options opts );
24 virtual ~Application();
25
27 static Factory::ReturnType create( std::string_view type, Options opts );
28
33 virtual int run();
34
36 int run( std::function<int( SmartIF<IStateful>& )> action ) { return action( app ); }
37
38 protected:
40 SmartIF<IStateful> app;
41 };
42 } // namespace Gaudi
SmartIF< IStateful >
std::function
Gaudi.Application::run
virtual int run()
Implement the application main logic:
Definition: Application.cpp:70
Gaudi.Application::Factory
Gaudi::PluginService::Factory< Application(Options)> Factory
Definition: Application.h:20
std::map< std::string, std::string >
gaudirun.opts
opts
Definition: gaudirun.py:307
Gaudi.Application::app
SmartIF< IStateful > app
Handle to the ApplicationMgr instance.
Definition: Application.h:40
gaudirun.action
action
Definition: gaudirun.py:136
gaudirun.type
type
Definition: gaudirun.py:142
SmartIF.h
Gaudi.Application.create
def create(cls, appType, opts)
Definition: __init__.py:83
IStateful.h
Gaudi.Application::Application
Application(Options opts)
Construct and configure the application from the provided options.
Definition: Application.cpp:41
PluginService.h
Gaudi.Application::~Application
virtual ~Application()
Definition: Application.cpp:68
Gaudi.Application::run
int run(std::function< int(SmartIF< IStateful > &)> action)
Run a user provided implementation of the application main logic.
Definition: Application.h:36
Gaudi
Header file for std:chrono::duration-based Counters.
Definition: __init__.py:1