 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef IDDICT_IdDictDictionary_H
6 #define IDDICT_IdDictDictionary_H
9 #include "Identifier/Identifier.h"
42 const std::string&
version =
"",
43 const std::string&
date =
"",
44 const std::string&
author =
"");
54 const std::string&
name()
const;
57 const std::string&
version()
const;
145 const std::string& last_field =
"")
const;
156 const std::string& last_field =
"")
const;
203 size_t first_field_index=0)
const;
239 const std::string&
sep,
240 std::string& unpackedId)
const;
251 size_t first_field_index,
266 size_t first_field_index,
267 size_t begin_field_index,
268 size_t end_field_index,
314 std::map<std::string, std::unique_ptr<IdDictField> >
m_fields;
318 std::vector<std::unique_ptr<IdDictGroup> >
m_groups;
370 inline const std::string&
377 inline const std::string&
JetConstituentVector::iterator iterator
void dump() const
Dump regions and trees for each group.
const std::vector< IdDictRegion * > & all_regions()
Non-const access to vector of all regions.
MultiRange build_multirange() const
Get MultiRange for full dictionary.
int reset(size_t index1, size_t index2, size_t region_index, Identifier &packedId) const
Reset fields from index1 to index2.
const std::string & version() const
Dictionary version.
void generate_implementation(const IdDictMgr &idd, const std::string &tag="")
entries_type::const_iterator entries_const_it
void resolve_references(IdDictMgr &idd)
const IdDictRegion & region(size_t i) const
Region at index i.
IdDictSubRegion * find_subregion(const std::string &subregion_name)
const IdDictField * find_field(const std::string &name) const
std::vector< IdDictDictEntry * > entries_type
std::vector< IdDictGroup * > groups_type
void set_dict_tag(const std::string &tag)
Set the dictionary tag.
std::map< std::string, std::unique_ptr< IdDictSubRegion > > m_subregions
const std::string & name() const
Dictionary name.
const IdDictLabel * find_label(const std::string &field, const std::string &label) const
const std::string & file_name() const
Access to file name.
int pack32(const ExpandedIdentifier &id, size_t index1, size_t index2, Identifier &packedId) const
Pack to 32bits the subset of id between (inclusive) index1 and index2 - this is generic,...
IdDictField * add_field(std::unique_ptr< IdDictField > field)
bool verify() const
Here, we verify global constraints : (this must only be applied after the resolve_references and gene...
void reset_implementation()
IdDictDictionary * m_parent_dict
const IdDictRegion * find_region(const std::string ®ion_name) const
std::vector< std::unique_ptr< IdDictGroup > > m_groups
bool m_generated_implementation
void set_file_name(const std::string &name)
Set file name.
groups_type::iterator groups_it
std::vector< IdDictRegion * > m_regions
groups_type::const_iterator groups_const_it
void add_subdictionary_name(const std::string &name)
regions_type::const_iterator regions_const_it
bool do_checks() const
Checks are performed by default in debug compilation and NOT in optimized compilation.
IdDictGroup * find_group(const std::string &group_name)
std::map< std::string, std::unique_ptr< IdDictField > > m_fields
int get_label_value(const std::string &field, const std::string &label, int &value) const
int unpack(const std::string &group, const Identifier &id, const ExpandedIdentifier &prefix, size_t index2, ExpandedIdentifier &unpackedId) const
Unpack the value_type id to an expanded Identifier for a given group, considering the provided prefix...
A MultiRange combines several Ranges.
void add_region(IdDictRegion *region)
bool do_neighbours() const
Neighbour initialization is performed by default One can switch or query this mode for any idHelper w...
regions_type::iterator regions_it
std::vector< IdDictRegion * > regions_type
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
Identifier::size_type size_type
entries_type::iterator entries_it
std::vector< std::string > m_subdictionary_names
const std::string & dict_tag() const
Access to the dictionary tag.
void set_parent_dict(IdDictDictionary *parent_dict)
unsigned long long value_type
void set_do_neighbours(bool do_neighbours)
unsigned long long size_type
size_t n_regions() const
Number of contained regions.
void integrate_bits()
Set up integral of bits for efficient unpacking.
IdDictSubRegion * add_subregion(std::unique_ptr< IdDictSubRegion > subregion)
void add_dictentry(std::unique_ptr< IdDictDictEntry > entry)
int copy(const Identifier &idin, size_t first_field_index, size_t begin_field_index, size_t end_field_index, size_t region_index, Identifier &idout) const
Copy a number of fields of the value_type id into another value_type id.
std::vector< IdDictRegion * > m_all_regions
void set_do_checks(bool do_checks)