7 using TV = boost::property_tree::ptree::value_type;
22 if(! isInitialized() ||
empty() ) {
25 m_name = getAttribute(
"name");
37 return data().get_child(
"chains").size();
53 return {
data().get_child(
"chains"), 0, [](
auto &
x){
auto chain =
Chain(
x.first,
x.second);
return chain; }};
59 auto &
pt =
data().get_child(
"chains");
60 return {
pt,
pt.size(), [](
auto &
x){
return Chain(
x.second);} };
64 std::vector<TrigConf::DataStructure>
67 std::vector<DataStructure> strlist;
68 auto streams =
data().get_child_optional(
"streams");
70 strlist.reserve(
streams->size());
71 for(
auto & strData : *
streams ) {
72 strlist.emplace_back( strData.second );
79 std::map<std::string, std::vector<std::string>>
82 std::map<std::string, std::vector<std::string>>
result;
83 const auto & sequencers = getObject(
"sequencers");
85 for(
auto & sequence : sequencers.getKeys() ) {
86 for(
auto &
alg : sequencers.getList(sequence) ) {
87 result[sequence].emplace_back(
alg.getValue<std::string>());
98 cout <<
"HLT menu '" <<
name() <<
"'" << endl;
99 cout <<
"Streams: " <<
streams().size() << endl;
100 cout <<
"Chains: " <<
size() << endl;
103 for(
auto &
chain : *
this ) {
104 cout <<
" " <<
c++ <<
": " <<
chain.name() << endl;