30 for (
int i = 0;
i <
n; ++
i)
130 register_factory (
"alternate_regions", std::make_unique<AltRegionsFactory>());
153 std::cout <<
"IdDictParser::parse1>" << std::endl;
160 std::cout <<
"IdDictParser::parse2>" << std::endl;
167 std::cout <<
"IdDictParser::parse3>" << std::endl;
209 std::cout <<
"IdDictMgrFactoryFactory::idd_start>" << std::endl;
220 std::cout <<
"IdDictMgrFactoryFactory::idd_end>" << std::endl;
229 std::cout <<
"DictionaryFactory::idd_start>" << std::endl;
245 std::cout <<
"DictionaryFactory::idd_end> d=" <<
parser.m_dictionary << std::endl;
248 if (
parser.m_dictionary != 0)
261 std::cout <<
"FieldFactory::idd_start>" << std::endl;
284 std::cout <<
"FieldFactory::idd_end>" << std::endl;
290 else delete parser.m_field;
301 std::cout <<
"LabelFactory::idd_start>" << std::endl;
308 label->m_valued =
true;
313 label->m_valued =
false;
326 std::cout <<
"LabelFactory::idd_end>" << std::endl;
335 std::cout <<
"AltRegionsFactory::idd_start>" << std::endl;
343 std::cout <<
"AltRegionsFactory::idd_start> previous=" <<
parser.m_altregions
344 <<
" new=" << altregions
348 parser.m_altregions = altregions;
356 std::cout <<
"AltRegionsFactory::idd_end>" << std::endl;
359 if (
parser.m_altregions != 0)
365 if (region_it ==
parser.m_altregions->m_regions.end())
367 std::cout <<
"AltRegionsFactory::idd_end could not find default region. Keys in map " << std::endl;
373 std::cout <<
" i " <<
i <<
" key " << (*first).first;
375 std::cout << std::endl;
379 parser.m_altregions->m_selected_region = (*region_it).second;
383 if (
parser.m_dictionary != 0)
parser.m_dictionary->add_dictentry (
parser.m_altregions);
384 else delete parser.m_altregions;
397 std::cout <<
"RegionFactory::idd_start>" << std::endl;
440 std::string::size_type
pos = 0;
443 std::string::size_type
next;
446 if (
next == std::string::npos)
break;
452 parser.m_region->m_prev_samp_names.push_back (
name);
454 if (
next == std::string::npos) {
470 std::string::size_type
pos = 0;
473 std::string::size_type
next;
476 if (
next == std::string::npos)
break;
482 parser.m_region->m_next_samp_names.push_back (
name);
484 if (
next == std::string::npos) {
500 std::string::size_type
pos = 0;
503 std::string::size_type prev;
505 prev =
names.find_first_not_of (
" ",
pos);
506 if (prev == std::string::npos)
break;
508 prev =
names.find_first_of (
" ",
pos);
512 parser.m_region->m_prev_subdet_names.push_back (
name);
514 if (prev == std::string::npos) {
530 std::string::size_type
pos = 0;
533 std::string::size_type
next;
536 if (
next == std::string::npos)
break;
542 parser.m_region->m_next_subdet_names.push_back (
name);
544 if (
next == std::string::npos) {
587 std::cout <<
"RegionFactory::idd_start> name, group, tag, next eta, prev/next samp, prev/next subdet "
588 <<
parser.m_region->m_name <<
" "
589 <<
parser.m_region->m_group <<
" "
590 <<
parser.m_region->m_tag <<
" "
591 <<
parser.m_region->m_next_abs_eta <<
" ";
592 for (
unsigned int i = 0;
i <
parser.m_region->m_prev_samp_names.size(); ++
i) {
593 std::cout <<
parser.m_region->m_prev_samp_names[
i] <<
" ";
595 for (
unsigned int i = 0;
i <
parser.m_region->m_next_samp_names.size(); ++
i) {
596 std::cout <<
parser.m_region->m_next_samp_names[
i] <<
" ";
598 for (
unsigned int i = 0;
i <
parser.m_region->m_prev_subdet_names.size(); ++
i) {
599 std::cout <<
parser.m_region->m_prev_subdet_names[
i] <<
" ";
601 for (
unsigned int i = 0;
i <
parser.m_region->m_next_subdet_names.size(); ++
i) {
602 std::cout <<
parser.m_region->m_next_subdet_names[
i] <<
" ";
604 std::cout <<
parser.m_region->m_eta0 <<
" "
605 <<
parser.m_region->m_deta <<
" "
606 <<
parser.m_region->m_phi0 <<
" "
607 <<
parser.m_region->m_dphi <<
" "
618 std::cout <<
"RegionFactory::idd_end>" << std::endl;
624 if (
parser.m_altregions != 0)
629 if (
parser.m_dictionary != 0)
parser.m_dictionary->m_all_regions.push_back (
parser.m_region);
633 if (
parser.m_region->m_entries.size() == 0)
635 parser.m_region->m_is_empty =
true;
639 else if (
parser.m_dictionary != 0)
642 parser.m_dictionary->m_all_regions.push_back (
parser.m_region);
646 if (
parser.m_region->m_entries.size() == 0)
648 parser.m_region->m_is_empty =
true;
665 std::cout <<
"SubRegionFactory::idd_start>" << std::endl;
677 std::cout <<
"SubRegionFactory::idd_end>" << std::endl;
680 if (
parser.m_subregion != 0)
682 if (
parser.m_dictionary != 0)
parser.m_dictionary->add_subregion (
parser.m_subregion);
683 else delete parser.m_subregion;
694 std::cout <<
"RegionEntryFactory::idd_start>" << std::endl;
703 std::cout <<
"RegionEntryFactory::idd_end>" << std::endl;
706 if (
parser.m_regionentry != 0)
709 else if (
parser.m_subregion != 0)
parser.m_subregion->add_entry (
parser.m_regionentry);
710 else delete parser.m_regionentry;
721 std::cout <<
"RangeFactory::idd_start>" << std::endl;
731 range->m_prev_value = 0;
732 range->m_next_value = 0;
750 std::string::size_type
pos = 0;
754 std::string::size_type
next;
757 if (
next == std::string::npos)
break;
765 if (
next == std::string::npos)
843 std::cout <<
"ReferenceFactory::idd_start>" << std::endl;
860 std::cout <<
"DictionaryRefFactory::idd_start>" << std::endl;
864 parser.m_regionentry = dictionaryref;