ATLAS Offline Software
Public Member Functions | Public Attributes | Protected Attributes | List of all members
IdDictRegion Class Reference

#include <IdDictRegion.h>

Inheritance diagram for IdDictRegion:
Collaboration diagram for IdDictRegion:

Public Member Functions

 IdDictRegion ()=default
 
virtual ~IdDictRegion ()=default
 
std::string group_name () const
 
Range build_range () const
 
void set_index (size_t index)
 
void add_entry (IdDictRegionEntry *entry)
 
void resolve_references (const IdDictMgr &idd, IdDictDictionary &dictionary)
 
void generate_implementation (const IdDictMgr &idd, IdDictDictionary &dictionary, const std::string &tag="")
 
void find_neighbours (const IdDictDictionary &dictionary)
 
void reset_implementation ()
 
bool verify () const
 
void clear ()
 
size_t fieldSize () const
 
size_t size () const
 

Public Attributes

std::vector< IdDictRegionEntry * > m_entries
 
std::vector< IdDictFieldImplementationm_implementation
 
size_t m_index {}
 
std::string m_name
 
std::string m_group
 
std::string m_tag
 
bool m_is_empty {false}
 
std::string m_next_abs_eta_name
 
std::vector< std::string > m_prev_samp_names
 
std::vector< std::string > m_next_samp_names
 
std::vector< std::string > m_prev_subdet_names
 
std::vector< std::string > m_next_subdet_names
 
IdDictRegionm_prev_abs_eta {}
 
IdDictRegionm_next_abs_eta {}
 
std::vector< IdDictRegion * > m_prev_samp
 
std::vector< IdDictRegion * > m_next_samp
 
std::vector< IdDictRegion * > m_prev_subdet
 
std::vector< IdDictRegion * > m_next_subdet
 
float m_eta0 {}
 
float m_deta {}
 
float m_phi0 {}
 
float m_dphi {}
 

Protected Attributes

bool m_resolved_references {}
 
bool m_generated_implementation {}
 

Detailed Description

Definition at line 20 of file IdDictRegion.h.

Constructor & Destructor Documentation

◆ IdDictRegion()

IdDictRegion::IdDictRegion ( )
default

◆ ~IdDictRegion()

virtual IdDictRegion::~IdDictRegion ( )
virtualdefault

Member Function Documentation

◆ add_entry()

void IdDictRegion::add_entry ( IdDictRegionEntry entry)

Definition at line 23 of file IdDictRegion.cxx.

23  {
24  m_entries.push_back(entry);
25 }

◆ build_range()

Range IdDictRegion::build_range ( ) const
virtual

Implements IdDictDictEntry.

Definition at line 147 of file IdDictRegion.cxx.

147  {
148  Range result;
149 
150  std::vector <IdDictRegionEntry*>::const_iterator it;
151  for (it = m_entries.begin(); it != m_entries.end(); ++it) {
152  const IdDictRegionEntry& entry = *(*it);
153  Range r = entry.build_range();
154  result.add(std::move(r));
155  }
156  return(result);
157 }

◆ clear()

void IdDictRegion::clear ( )
virtual

Implements IdDictDictEntry.

Definition at line 126 of file IdDictRegion.cxx.

126  {
128  for (it = m_entries.begin(); it != m_entries.end(); ++it) {
130  entry->clear();
131  delete entry;
132  }
133  m_entries.clear();
134 }

◆ fieldSize()

size_t IdDictRegion::fieldSize ( ) const

Definition at line 137 of file IdDictRegion.cxx.

137  {
138  return m_implementation.size();
139 }

◆ find_neighbours()

void IdDictRegion::find_neighbours ( const IdDictDictionary dictionary)

Definition at line 54 of file IdDictRegion.cxx.

54  {
55  // Find the neighbours
56  IdDictRegion* region = 0;
57 
58  if ("" != m_next_abs_eta_name) {
59  region = dictionary.find_region(m_next_abs_eta_name, m_group);
60  if (region) {
61  region->m_prev_abs_eta = this;
62  m_next_abs_eta = region;
63  }
64  }
65  for (unsigned int i = 0; i < m_prev_samp_names.size(); ++i) {
66  if ("" != m_prev_samp_names[i]) {
67  region = dictionary.find_region(m_prev_samp_names[i], m_group);
68  if (region) {
69  m_prev_samp.push_back(region);
70  }
71  }
72  }
73  for (unsigned int i = 0; i < m_next_samp_names.size(); ++i) {
74  if ("" != m_next_samp_names[i]) {
75  region = dictionary.find_region(m_next_samp_names[i], m_group);
76  if (region) {
77  m_next_samp.push_back(region);
78  }
79  }
80  }
81 
82  for (unsigned int i = 0; i < m_prev_subdet_names.size(); ++i) {
83  if ("" != m_prev_subdet_names[i]) {
84  region = dictionary.find_region(m_prev_subdet_names[i], m_group);
85  if (region) {
86  m_prev_subdet.push_back(region);
87  }
88  }
89  }
90  for (unsigned int i = 0; i < m_next_subdet_names.size(); ++i) {
91  if ("" != m_next_subdet_names[i]) {
92  region = dictionary.find_region(m_next_subdet_names[i], m_group);
93  if (region) {
94  m_next_subdet.push_back(region);
95  }
96  }
97  }
98 }

◆ generate_implementation()

void IdDictRegion::generate_implementation ( const IdDictMgr idd,
IdDictDictionary dictionary,
const std::string &  tag = "" 
)
virtual

Implements IdDictDictEntry.

Reimplemented in IdDictSubRegion.

Definition at line 37 of file IdDictRegion.cxx.

39  {
40  if (Debugger::debug()) {
41  std::cout << "IdDictRegion::generate_implementation>" << std::endl;
42  }
45  for (it = m_entries.begin(); it != m_entries.end(); ++it) {
47  entry->generate_implementation(idd, dictionary, *this, tag);
48  }
50  }
51 }

◆ group_name()

std::string IdDictRegion::group_name ( ) const
virtual

Implements IdDictDictEntry.

Definition at line 13 of file IdDictRegion.cxx.

13  {
14  return(m_group);
15 }

◆ reset_implementation()

void IdDictRegion::reset_implementation ( )
virtual

Implements IdDictDictEntry.

Reimplemented in IdDictSubRegion.

Definition at line 101 of file IdDictRegion.cxx.

101  {
103  m_implementation.clear(); // remove implementation
105  for (it = m_entries.begin(); it != m_entries.end(); ++it) {
107  entry->reset_implementation();
108  }
109  // reset neighbours
110  m_prev_abs_eta = 0;
111  m_next_abs_eta = 0;
112  m_prev_samp.clear();
113  m_next_samp.clear();
114  m_prev_subdet.clear();
115  m_next_subdet.clear();
116 
118  }
119 }

◆ resolve_references()

void IdDictRegion::resolve_references ( const IdDictMgr idd,
IdDictDictionary dictionary 
)
virtual

Implements IdDictDictEntry.

Definition at line 28 of file IdDictRegion.cxx.

28  {
30  for (it = m_entries.begin(); it != m_entries.end(); ++it) {
32  entry->resolve_references(idd, dictionary, *this);
33  }
34 }

◆ set_index()

void IdDictRegion::set_index ( size_t  index)
virtual

Implements IdDictDictEntry.

Definition at line 18 of file IdDictRegion.cxx.

18  {
19  m_index = index;
20 }

◆ size()

size_t IdDictRegion::size ( ) const

Definition at line 142 of file IdDictRegion.cxx.

142  {
143  return m_entries.size();
144 }

◆ verify()

bool IdDictRegion::verify ( ) const
virtual

Implements IdDictDictEntry.

Definition at line 121 of file IdDictRegion.cxx.

121  {
122  return(true);
123 }

Member Data Documentation

◆ m_deta

float IdDictRegion::m_deta {}

Definition at line 60 of file IdDictRegion.h.

◆ m_dphi

float IdDictRegion::m_dphi {}

Definition at line 62 of file IdDictRegion.h.

◆ m_entries

std::vector<IdDictRegionEntry*> IdDictRegion::m_entries

Definition at line 41 of file IdDictRegion.h.

◆ m_eta0

float IdDictRegion::m_eta0 {}

Definition at line 59 of file IdDictRegion.h.

◆ m_generated_implementation

bool IdDictRegion::m_generated_implementation {}
protected

Definition at line 67 of file IdDictRegion.h.

◆ m_group

std::string IdDictRegion::m_group

Definition at line 45 of file IdDictRegion.h.

◆ m_implementation

std::vector<IdDictFieldImplementation> IdDictRegion::m_implementation

Definition at line 42 of file IdDictRegion.h.

◆ m_index

size_t IdDictRegion::m_index {}

Definition at line 43 of file IdDictRegion.h.

◆ m_is_empty

bool IdDictRegion::m_is_empty {false}

Definition at line 47 of file IdDictRegion.h.

◆ m_name

std::string IdDictRegion::m_name

Definition at line 44 of file IdDictRegion.h.

◆ m_next_abs_eta

IdDictRegion* IdDictRegion::m_next_abs_eta {}

Definition at line 54 of file IdDictRegion.h.

◆ m_next_abs_eta_name

std::string IdDictRegion::m_next_abs_eta_name

Definition at line 48 of file IdDictRegion.h.

◆ m_next_samp

std::vector<IdDictRegion*> IdDictRegion::m_next_samp

Definition at line 56 of file IdDictRegion.h.

◆ m_next_samp_names

std::vector<std::string> IdDictRegion::m_next_samp_names

Definition at line 50 of file IdDictRegion.h.

◆ m_next_subdet

std::vector<IdDictRegion*> IdDictRegion::m_next_subdet

Definition at line 58 of file IdDictRegion.h.

◆ m_next_subdet_names

std::vector<std::string> IdDictRegion::m_next_subdet_names

Definition at line 52 of file IdDictRegion.h.

◆ m_phi0

float IdDictRegion::m_phi0 {}

Definition at line 61 of file IdDictRegion.h.

◆ m_prev_abs_eta

IdDictRegion* IdDictRegion::m_prev_abs_eta {}

Definition at line 53 of file IdDictRegion.h.

◆ m_prev_samp

std::vector<IdDictRegion*> IdDictRegion::m_prev_samp

Definition at line 55 of file IdDictRegion.h.

◆ m_prev_samp_names

std::vector<std::string> IdDictRegion::m_prev_samp_names

Definition at line 49 of file IdDictRegion.h.

◆ m_prev_subdet

std::vector<IdDictRegion*> IdDictRegion::m_prev_subdet

Definition at line 57 of file IdDictRegion.h.

◆ m_prev_subdet_names

std::vector<std::string> IdDictRegion::m_prev_subdet_names

Definition at line 51 of file IdDictRegion.h.

◆ m_resolved_references

bool IdDictRegion::m_resolved_references {}
protected

Definition at line 66 of file IdDictRegion.h.

◆ m_tag

std::string IdDictRegion::m_tag

Definition at line 46 of file IdDictRegion.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
beamspotman.r
def r
Definition: beamspotman.py:676
IdDictRegion::m_next_samp
std::vector< IdDictRegion * > m_next_samp
Definition: IdDictRegion.h:56
get_generator_info.result
result
Definition: get_generator_info.py:21
IdDictRegion::m_prev_abs_eta
IdDictRegion * m_prev_abs_eta
Definition: IdDictRegion.h:53
skel.it
it
Definition: skel.GENtoEVGEN.py:401
IdDictRegion::m_prev_samp
std::vector< IdDictRegion * > m_prev_samp
Definition: IdDictRegion.h:55
IdDictRegion::m_prev_subdet
std::vector< IdDictRegion * > m_prev_subdet
Definition: IdDictRegion.h:57
IdDictRegion
Definition: IdDictRegion.h:20
IdDictRegion::m_next_subdet
std::vector< IdDictRegion * > m_next_subdet
Definition: IdDictRegion.h:58
IdDictRegion::m_next_abs_eta
IdDictRegion * m_next_abs_eta
Definition: IdDictRegion.h:54
IdDictRegion::m_index
size_t m_index
Definition: IdDictRegion.h:43
lumiFormat.i
int i
Definition: lumiFormat.py:85
Debugger::debug
static bool debug()
Definition: Debugger.h:18
IdDictRegion::m_next_abs_eta_name
std::string m_next_abs_eta_name
Definition: IdDictRegion.h:48
IdDictRegion::m_entries
std::vector< IdDictRegionEntry * > m_entries
Definition: IdDictRegion.h:41
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
IdDictRegion::m_group
std::string m_group
Definition: IdDictRegion.h:45
IdDictRegion::m_prev_samp_names
std::vector< std::string > m_prev_samp_names
Definition: IdDictRegion.h:49
master.dictionary
dictionary
Definition: master.py:47
Range
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
Definition: DetectorDescription/Identifier/Identifier/Range.h:29
IdDictRegion::m_next_samp_names
std::vector< std::string > m_next_samp_names
Definition: IdDictRegion.h:50
IdDictRegionEntry
Definition: IdDictRegionEntry.h:14
IdDictRegion::m_prev_subdet_names
std::vector< std::string > m_prev_subdet_names
Definition: IdDictRegion.h:51
IdDictRegion::m_generated_implementation
bool m_generated_implementation
Definition: IdDictRegion.h:67
DeMoScan.index
string index
Definition: DeMoScan.py:364
CaloCondBlobAlgs_fillNoiseFromASCII.tag
string tag
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:24
IdDictRegion::m_implementation
std::vector< IdDictFieldImplementation > m_implementation
Definition: IdDictRegion.h:42
IdDictRegion::m_next_subdet_names
std::vector< std::string > m_next_subdet_names
Definition: IdDictRegion.h:52