ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
IdDict
src
IdDictReference.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
IdDict/IdDictReference.h
"
6
#include "
IdDict/IdDictFieldImplementation.h
"
7
#include "
IdDict/IdDictDictionary.h
"
8
#include "
IdDict/IdDictSubRegion.h
"
9
#include "
src/Debugger.h
"
10
11
#include <iostream>
12
13
IdDictReference::IdDictReference
(
const
std::string& subregion_name)
14
:
15
m_subregion_name
(subregion_name),
16
m_subregion
(nullptr),
17
m_resolved_references
(false) {
18
}
19
20
IdDictReference::IdDictReference
(
IdDictSubRegion
* subregion)
21
:
22
m_subregion
(subregion),
23
m_resolved_references
(true) {
24
}
25
26
IdDictReference::~IdDictReference
() {
27
}
28
29
void
IdDictReference::resolve_references
(
IdDictMgr
&
/*idd*/
,
30
IdDictDictionary
& dictionary,
31
IdDictRegion
&
/*region*/
) {
32
if
(!
m_resolved_references
) {
33
m_subregion
= dictionary.find_subregion(
m_subregion_name
);
34
m_resolved_references
=
true
;
35
}
36
}
37
38
void
IdDictReference::generate_implementation
(
const
IdDictMgr
& idd,
39
IdDictDictionary
& dictionary,
40
IdDictRegion
& region,
41
std::string_view tag) {
42
if
(
Debugger::debug
()) {
43
std::cout <<
"IdDictReference::generate_implementation>"
<< std::endl;
44
}
45
46
if
(
m_subregion
!= 0)
m_subregion
->generate_implementation(idd, dictionary, region, tag);
47
}
48
49
void
IdDictReference::reset_implementation
() {
50
if
(
m_subregion
!= 0)
m_subregion
->reset_implementation();
51
}
52
53
bool
IdDictReference::verify
()
const
{
54
return
(
true
);
55
}
56
57
Range
IdDictReference::build_range
()
const
{
58
Range
result;
59
60
result =
m_subregion
->build_range();
61
62
63
return
(result);
64
}
Debugger.h
IdDictDictionary.h
IdDictFieldImplementation.h
IdDictReference.h
IdDictSubRegion.h
Debugger::debug
static bool debug()
Definition
Debugger.h:18
IdDictDictionary
Definition
IdDictDictionary.h:33
IdDictMgr
Definition
IdDictMgr.h:17
IdDictReference::m_subregion_name
std::string m_subregion_name
Definition
IdDictReference.h:49
IdDictReference::m_subregion
IdDictSubRegion * m_subregion
Definition
IdDictReference.h:50
IdDictReference::build_range
virtual Range build_range() const override
Definition
IdDictReference.cxx:57
IdDictReference::IdDictReference
IdDictReference(const std::string &subregion_name)
Definition
IdDictReference.cxx:13
IdDictReference::generate_implementation
virtual void generate_implementation(const IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion ®ion, std::string_view tag="") override
Definition
IdDictReference.cxx:38
IdDictReference::resolve_references
virtual void resolve_references(IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion ®ion) override
Definition
IdDictReference.cxx:29
IdDictReference::reset_implementation
virtual void reset_implementation() override
Definition
IdDictReference.cxx:49
IdDictReference::verify
virtual bool verify() const override
Definition
IdDictReference.cxx:53
IdDictReference::m_resolved_references
bool m_resolved_references
Definition
IdDictReference.h:52
IdDictReference::~IdDictReference
virtual ~IdDictReference()
Definition
IdDictReference.cxx:26
IdDictRegion
Definition
IdDictRegion.h:22
IdDictSubRegion
Definition
IdDictSubRegion.h:14
Range
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
Definition
DetectorDescription/Identifier/Identifier/Range.h:31
Generated on
for ATLAS Offline Software by
1.17.0