295 {
298 std::cout << "RegionFactory::idd_start>" << std::endl;
299 }
300
301 parser.m_region = std::make_unique<IdDictRegion> (
get_value (node,
"name"),
304
305
307 parser.m_region->set_next_abs_eta_name (
get_value (node,
"next_abs_eta"));
308 }
309
310
313 std::string::size_type
pos = 0;
314 for (;;) {
315 std::string::size_type
next;
316 next =
names.find_first_not_of (
" ", pos);
317 if (next == std::string::npos) break;
322 parser.m_region->add_prev_samp_name (name);
323 if (next == std::string::npos) {
324 break;
325 } else {
327 }
328 }
329 }
330
333 std::string::size_type
pos = 0;
334 for (;;) {
335 std::string::size_type
next;
336
337 next =
names.find_first_not_of (
" ", pos);
338 if (next == std::string::npos) break;
341
344 parser.m_region->add_next_samp_name (name);
345
346 if (next == std::string::npos) {
347 break;
348 } else {
350 }
351 }
352 }
353
356 std::string::size_type
pos = 0;
357 for (;;) {
358 std::string::size_type prev;
359 prev =
names.find_first_not_of (
" ", pos);
360 if (prev == std::string::npos) break;
362 prev =
names.find_first_of (
" ", pos);
365 parser.m_region->add_prev_subdet_name (name);
366 if (prev == std::string::npos) {
367 break;
368 } else {
370 }
371 }
372 }
373
376 std::string::size_type
pos = 0;
377 for (;;) {
378 std::string::size_type
next;
379 next =
names.find_first_not_of (
" ", pos);
380 if (next == std::string::npos) break;
385 parser.m_region->add_next_subdet_name (name);
386 if (next == std::string::npos) {
387 break;
388 } else {
390 }
391 }
392 }
393
398
401 std::cout << "RegionFactory::idd_start> name, group, tag, next eta, prev/next samp, prev/next subdet "
402 <<
parser.m_region->name() <<
" "
403 <<
parser.m_region->group_name() <<
" "
404 <<
parser.m_region->tag() <<
" "
405 <<
parser.m_region->next_abs_eta() <<
" ";
406 for (
const std::string& s :
parser.m_region->prev_samp_names()) {
407 std::cout <<
s <<
" ";
408 }
409 for (
const std::string& s :
parser.m_region->next_samp_names()) {
410 std::cout <<
s <<
" ";
411 }
412 for (
const std::string& s :
parser.m_region->prev_subdet_names()) {
413 std::cout <<
s <<
" ";
414 }
415 for (
const std::string& s :
parser.m_region->next_subdet_names()) {
416 std::cout <<
s <<
" ";
417 }
418 std::cout <<
parser.m_region->eta0() <<
" "
419 <<
parser.m_region->deta() <<
" "
420 <<
parser.m_region->phi0() <<
" "
421 <<
parser.m_region->dphi() <<
" "
422 << std::endl;
423 }
424}
static bool has_attribute(const XMLCoreNode &node, const std::string &name)
static double get_double(const XMLCoreNode &node, const std::string &name)