DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
oksutils
apps
oks_refresh.cxx
Go to the documentation of this file.
1
//
2
// DUNE DAQ modification notice:
3
// This file has been modified from the original ATLAS oks_utils source for the DUNE DAQ project.
4
// Fork baseline commit: c2e7dfc7 (2022-03-30).
5
// Renamed since fork: yes (from src/bin/oks_refresh.cpp to apps/oks_refresh.cxx).
6
//
7
14
15
#include <stdlib.h>
16
17
#include <boost/program_options.hpp>
18
19
#include "
oks/kernel.hpp
"
20
21
using namespace
dunedaq
;
22
using namespace
dunedaq::oks
;
23
24
int
25
main
(
int
argc,
char
**argv)
26
{
27
boost::program_options::options_description desc(
"This program opens and saves oks files to refresh their format"
);
28
29
std::vector<std::string> include;
30
std::vector<std::string> files;
31
bool
show_hidden_attributes =
false
;
32
33
try
34
{
35
desc.add_options()
36
(
"files,f"
, boost::program_options::value<std::vector<std::string> >(&files)->multitoken()->required(),
"oks files"
)
37
(
"include,i"
, boost::program_options::value<std::vector<std::string> >(&include)->multitoken(),
"preload oks files (to fix missing includes)"
)
38
(
"show-all-attributes,x"
,
"show hidden attributes with values equal to defaults"
)
39
(
"help,h"
,
"Print help message"
);
40
41
boost::program_options::variables_map vm;
42
boost::program_options::store(boost::program_options::parse_command_line(argc, argv, desc), vm);
43
44
boost::program_options::notify(vm);
45
46
if
(vm.count(
"help"
))
47
{
48
std::cout << desc << std::endl;
49
return
EXIT_SUCCESS;
50
}
51
52
if
(vm.count(
"show-all-attributes"
))
53
show_hidden_attributes =
true
;
54
}
55
catch
(std::exception& ex)
56
{
57
std::cerr <<
"Command line parsing errors occurred:\n"
<< ex.what() << std::endl;
58
return
EXIT_FAILURE;
59
}
60
61
for
(
const
auto
&x : files)
62
try
63
{
64
std::cout <<
"processing file "
<< x << std::endl;
65
OksKernel
kernel(
false
,
false
,
false
,
false
);
66
67
for
(
const
auto
& i : include)
68
kernel.
load_file
(i);
69
70
auto
f = kernel.
load_file
(x);
71
72
if
(f->get_oks_format() ==
"schema"
)
73
kernel.
save_schema
(f);
74
else
75
kernel.
save_data
(f,
true
,
nullptr
, show_hidden_attributes);
76
}
77
catch
(
oks::exception
&ex)
78
{
79
oks::log_timestamp
(
oks::Error
) <<
"Caught oks exception:\n"
<< ex << std::endl;
80
return
EXIT_FAILURE;
81
}
82
83
return
EXIT_SUCCESS;
84
}
dunedaq::oks::OksKernel
Provides interface to the OKS kernel.
Definition
kernel.hpp:582
dunedaq::oks::OksKernel::load_file
OksFile * load_file(const std::string &name, bool bind=true)
Load OKS database file.
Definition
kernel.cpp:1793
dunedaq::oks::OksKernel::save_schema
void save_schema(OksFile *file_h, bool force=false, OksFile *true_file_h=0)
Save OKS schema file.
Definition
kernel.cpp:2543
dunedaq::oks::OksKernel::save_data
void save_data(OksFile *file_h, bool ignore_bad_objects=false, OksFile *true_file_h=nullptr, bool force_defaults=false)
Save OKS data file.
Definition
kernel.cpp:3799
dunedaq::oks::exception
Definition
exceptions.hpp:18
kernel.hpp
dunedaq::oks
Definition
OksConfiguration.hpp:24
dunedaq::oks::log_timestamp
std::ostream & log_timestamp(__LogSeverity__ severity=Log)
Definition
kernel.cpp:5727
dunedaq::oks::Error
@ Error
Definition
kernel.hpp:388
dunedaq
Including Qt Headers.
Definition
module.cpp:16
main
int main(int argc, char **argv)
Definition
oks_refresh.cxx:25
Generated on
for DUNE-DAQ by
1.17.0