38 std::cout << std::string(
n,
' ');
121 register_factory (
"alternate_regions", std::make_unique<AltRegionsFactory>());
141 std::cout <<
"IdDictParser::parse1>" << std::endl;
145 std::cout <<
"IdDictParser::parse2>" << std::endl;
149 std::cout <<
"IdDictParser::parse3>" << std::endl;
181 std::cout <<
"IdDictMgrFactoryFactory::idd_start>" << std::endl;
191 std::cout <<
"IdDictMgrFactoryFactory::idd_end>" << std::endl;
199 std::cout <<
"DictionaryFactory::idd_start>" << std::endl;
211 std::cout <<
"DictionaryFactory::idd_end> d=" <<
parser.m_dictionary << std::endl;
214 if (
parser.m_dictionary != 0){
224 std::cout <<
"FieldFactory::idd_start>" << std::endl;
233 std::cout <<
"FieldFactory::idd_end>" << std::endl;
236 if (
parser.m_field != 0) {
238 else delete parser.m_field;
247 std::cout <<
"LabelFactory::idd_start>" << std::endl;
264 std::cout <<
"LabelFactory::idd_end>" << std::endl;
272 std::cout <<
"AltRegionsFactory::idd_start>" << std::endl;
277 std::cout <<
"AltRegionsFactory::idd_start> previous=" <<
parser.m_altregions
278 <<
" new=" << altregions
281 parser.m_altregions = altregions;
288 std::cout <<
"AltRegionsFactory::idd_end>" << std::endl;
290 if (
parser.m_altregions != 0) {
292 parser.m_altregions->select_region (
"");
295 if (
parser.m_dictionary != 0)
parser.m_dictionary->add_dictentry (
parser.m_altregions);
296 else delete parser.m_altregions;
306 std::cout <<
"RegionFactory::idd_start>" << std::endl;
321 std::string::size_type
pos = 0;
323 std::string::size_type
next;
325 if (
next == std::string::npos)
break;
331 if (
next == std::string::npos) {
341 std::string::size_type
pos = 0;
343 std::string::size_type
next;
346 if (
next == std::string::npos)
break;
354 if (
next == std::string::npos) {
364 std::string::size_type
pos = 0;
366 std::string::size_type prev;
367 prev =
names.find_first_not_of (
" ",
pos);
368 if (prev == std::string::npos)
break;
370 prev =
names.find_first_of (
" ",
pos);
374 if (prev == std::string::npos) {
384 std::string::size_type
pos = 0;
386 std::string::size_type
next;
388 if (
next == std::string::npos)
break;
394 if (
next == std::string::npos) {
409 std::cout <<
"RegionFactory::idd_start> name, group, tag, next eta, prev/next samp, prev/next subdet "
410 <<
parser.m_region->name() <<
" "
411 <<
parser.m_region->group_name() <<
" "
412 <<
parser.m_region->tag() <<
" "
413 <<
parser.m_region->next_abs_eta() <<
" ";
414 for (
const std::string&
s :
parser.m_region->prev_samp_names()) {
415 std::cout <<
s <<
" ";
417 for (
const std::string&
s :
parser.m_region->next_samp_names()) {
418 std::cout <<
s <<
" ";
420 for (
const std::string&
s :
parser.m_region->prev_subdet_names()) {
421 std::cout <<
s <<
" ";
423 for (
const std::string&
s :
parser.m_region->next_subdet_names()) {
424 std::cout <<
s <<
" ";
426 std::cout <<
parser.m_region->eta0() <<
" "
427 <<
parser.m_region->deta() <<
" "
428 <<
parser.m_region->phi0() <<
" "
429 <<
parser.m_region->dphi() <<
" "
438 std::cout <<
"RegionFactory::idd_end>" << std::endl;
440 if (
parser.m_region != 0){
441 if (
parser.m_altregions != 0) {
446 if (
parser.m_region->entries().size() == 0) {
447 parser.m_region->set_is_empty();
449 }
else if (
parser.m_dictionary != 0) {
454 if (
parser.m_region->entries().size() == 0) {
455 parser.m_region->set_is_empty();
468 std::cout <<
"SubRegionFactory::idd_start>" << std::endl;
477 std::cout <<
"SubRegionFactory::idd_end>" << std::endl;
479 if (
parser.m_subregion != 0) {
480 if (
parser.m_dictionary != 0)
parser.m_dictionary->add_subregion (
parser.m_subregion);
481 else delete parser.m_subregion;
491 std::cout <<
"RegionEntryFactory::idd_start>" << std::endl;
499 std::cout <<
"RegionEntryFactory::idd_end>" << std::endl;
501 if (
parser.m_regionentry != 0){
503 else if (
parser.m_subregion != 0)
parser.m_subregion->add_entry (
parser.m_regionentry);
504 else delete parser.m_regionentry;
513 std::cout <<
"RangeFactory::idd_start>" << std::endl;
521 std::string::size_type
pos = 0;
522 std::vector<std::string> label_vec;
524 std::string::size_type
next;
526 if (
next == std::string::npos)
break;
530 if (
next == std::string::npos) {
536 range->set_range (label_vec);
540 if (hasMin and hasMax) {
549 if (wraparound)
range->set_wrap_around();
563 std::cout <<
"ReferenceFactory::idd_start>" << std::endl;
572 std::cout <<
"DictionaryRefFactory::idd_start>" << std::endl;
575 parser.m_regionentry = dictionaryref;