DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::appmodel::python Namespace Reference

Classes

struct  ObjectLocator
 

Functions

std::vector< ObjectLocatorsmart_dap_application_generate_modules (const conffwk::Configuration &confdb, const std::string &app_id, const std::string &session_id)
 
std::vector< std::string > smart_daq_application_construct_commandline_parameters (const conffwk::Configuration &db, const std::string &session_id, const std::string &app_id)
 
void register_dal_methods (py::module &m)
 
 PYBIND11_MODULE (_daq_appmodel_py, m)
 

Function Documentation

◆ PYBIND11_MODULE()

dunedaq::appmodel::python::PYBIND11_MODULE ( _daq_appmodel_py ,
m  )

Definition at line 19 of file module.cpp.

20{
21
22 m.doc() = "C++ implementation of the application dal modules";
23
24 register_dal_methods(m);
25}

◆ register_dal_methods()

void dunedaq::appmodel::python::register_dal_methods ( py::module & m)

Definition at line 56 of file dal_methods.cpp.

57{
58 py::class_<ObjectLocator>(m, "ObjectLocator")
59 .def(py::init<const std::string&, const std::string&>())
60 .def_readonly("id", &ObjectLocator::id)
61 .def_readonly("class_name", &ObjectLocator::class_name)
62 ;
63
64 m.def("smart_dap_application_generate_modules", &smart_dap_application_generate_modules, "Generate DaqModules");
65 m.def("smart_daq_application_construct_commandline_parameters", &smart_daq_application_construct_commandline_parameters, "Get a version of the command line agruments parsed");
66}

◆ smart_dap_application_generate_modules()

std::vector< ObjectLocator > dunedaq::appmodel::python::smart_dap_application_generate_modules ( const conffwk::Configuration & confdb,
const std::string & app_id,
const std::string & session_id )

Definition at line 33 of file dal_methods.cpp.

34 {
35 auto app =
36 const_cast<conffwk::Configuration&>(confdb).get<appmodel::SmartDaqApplication>(app_id);
37 auto session =
38 const_cast<conffwk::Configuration&>(confdb).get<confmodel::Session>(session_id);
39
40 std::vector<ObjectLocator> mods;
41 for (auto mod : app->generate_modules(session)) {
42 mods.push_back({mod->UID(),mod->class_name()});
43 }
44 return mods;
45 }

◆ smart_daq_application_construct_commandline_parameters()

std::vector< std::string > dunedaq::appmodel::python::smart_daq_application_construct_commandline_parameters ( const conffwk::Configuration & db,
const std::string & session_id,
const std::string & app_id )

Definition at line 47 of file dal_methods.cpp.

49 {
50 const auto* app = const_cast<conffwk::Configuration&>(db).get<dunedaq::appmodel::SmartDaqApplication>(app_id);
51 const auto* session = const_cast<conffwk::Configuration&>(db).get<dunedaq::confmodel::Session>(session_id);
52 return app->construct_commandline_parameters(db, session);
53 }