ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
DetectorDescription
IdDict
IdDict
IdDictDictionaryRef.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef IDDICT_IdDictDictionaryRef_H
6
#define IDDICT_IdDictDictionaryRef_H
7
8
#include "
IdDict/IdDictRegionEntry.h
"
9
#include <string>
10
11
class
IdDictMgr
;
12
class
IdDictDictionary
;
13
class
IdDictRegion
;
14
class
Range
;
15
16
class
IdDictDictionaryRef
:
public
IdDictRegionEntry
{
17
public
:
18
// ==================================
19
//** @name Constructor/destructor
20
// @{
21
22
IdDictDictionaryRef
(
const
std::string&
dictionary_name
);
23
IdDictDictionaryRef
(
IdDictDictionary
* dictionary);
// For testing
24
virtual
~IdDictDictionaryRef
();
25
26
28
// ==================================
29
//** @name Simple accessors.
30
// @{
31
32
const
std::string&
dictionary_name
()
const
;
33
34
36
// ==================================
37
//** @name Methods used to initialize the object.
38
// @{
39
40
virtual
void
resolve_references
(
IdDictMgr
& idd,
41
IdDictDictionary
& dictionary,
42
IdDictRegion
& region)
override
;
43
virtual
void
generate_implementation
(
const
IdDictMgr
& idd,
44
IdDictDictionary
& dictionary,
45
IdDictRegion
& region,
46
std::string_view tag =
""
)
override
;
47
virtual
void
reset_implementation
()
override
;
48
virtual
bool
verify
()
const override
;
49
virtual
Range
build_range
()
const override
;
50
51
53
54
55
private
:
56
std::string
m_dictionary_name
;
57
IdDictDictionary
*
m_dictionary
{};
58
59
// We allow to regenerate the implementation with a tag. However,
60
// propagation of information should only be done once.
61
bool
m_resolved_references
{};
62
bool
m_generated_implementation
{};
63
bool
m_propagated_information
{};
64
};
65
66
67
inline
68
const
std::string&
IdDictDictionaryRef::dictionary_name
()
const
69
{
70
return
m_dictionary_name
;
71
}
72
73
74
#endif
IdDictRegionEntry.h
IdDictDictionaryRef::resolve_references
virtual void resolve_references(IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion ®ion) override
Definition
IdDictDictionaryRef.cxx:37
IdDictDictionaryRef::build_range
virtual Range build_range() const override
Definition
IdDictDictionaryRef.cxx:142
IdDictDictionaryRef::IdDictDictionaryRef
IdDictDictionaryRef(const std::string &dictionary_name)
Definition
IdDictDictionaryRef.cxx:17
IdDictDictionaryRef::m_dictionary
IdDictDictionary * m_dictionary
Definition
IdDictDictionaryRef.h:57
IdDictDictionaryRef::~IdDictDictionaryRef
virtual ~IdDictDictionaryRef()
Definition
IdDictDictionaryRef.cxx:34
IdDictDictionaryRef::verify
virtual bool verify() const override
Definition
IdDictDictionaryRef.cxx:138
IdDictDictionaryRef::reset_implementation
virtual void reset_implementation() override
Definition
IdDictDictionaryRef.cxx:131
IdDictDictionaryRef::m_resolved_references
bool m_resolved_references
Definition
IdDictDictionaryRef.h:61
IdDictDictionaryRef::dictionary_name
const std::string & dictionary_name() const
Definition
IdDictDictionaryRef.h:68
IdDictDictionaryRef::m_generated_implementation
bool m_generated_implementation
Definition
IdDictDictionaryRef.h:62
IdDictDictionaryRef::m_dictionary_name
std::string m_dictionary_name
Definition
IdDictDictionaryRef.h:56
IdDictDictionaryRef::generate_implementation
virtual void generate_implementation(const IdDictMgr &idd, IdDictDictionary &dictionary, IdDictRegion ®ion, std::string_view tag="") override
Definition
IdDictDictionaryRef.cxx:50
IdDictDictionaryRef::m_propagated_information
bool m_propagated_information
Definition
IdDictDictionaryRef.h:63
IdDictDictionary
Definition
IdDictDictionary.h:33
IdDictMgr
Definition
IdDictMgr.h:17
IdDictRegionEntry::IdDictRegionEntry
IdDictRegionEntry()
IdDictRegion
Definition
IdDictRegion.h:22
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