ATLAS Offline Software
Tile_Base_ID.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 /*
3  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4 */
12 #ifndef CALOIDENTIFIER_TILE_BASE_ID_H
13 #define CALOIDENTIFIER_TILE_BASE_ID_H
14 
16 // #include "Identifier/IdentifierHash.h"
21 
22 #include "AthenaKernel/CLASS_DEF.h"
23 
24 #include "boost/range/iterator_range.hpp"
25 #include <string>
26 #include <vector>
27 #include <set>
28 
29 class IdentifierHash;
30 
31 
36 class Tile_Base_ID : public CaloIDHelper {
37 
38  friend class TileNeighbour;
39 
40 public:
41 
43  Tile_Base_ID (const std::string& name,
44  const std::string& group,
45  bool supercell);
46 
47  enum SECTION { ONLINE = 0, BARREL = 1, EXTBAR = 2, GAPDET = 3, AUXDET = 4 ,
48  SBARREL = 5, SEXTBAR = 6,
50  SUPERCELL_MASK = 4
51  };
52  enum SAMPLE { SAMP_A = 0,
53  SAMP_B = 1, SAMP_BC = 1, SAMP_C = 1, // synonyms
54  SAMP_D = 2, SAMP_E = 3, SAMP_X = 4 };
55  enum SIDE { NEGATIVE = -1, POSITIVE = 1, TWOSIDES = 0 };
56  enum GAIN { LOWGAIN = 0, HIGHGAIN = 1 };
57  enum SIZE { NSIDES = 2, NSECTIONS = 3, NREGIONS = NSIDES * NSECTIONS };
58 
60  Identifier tile_system () const;
61 
63  Identifier tile_barrel () const;
64 
66  Identifier tile_extbarrel () const;
67 
69  Identifier tile_gap () const;
70 
72  Identifier tile_det ( int section) const;
73  Identifier tile_det ( int section, bool checks) const;
74 
76  Identifier region_id ( int index) const;
77  Identifier region_id ( int section, int side) const;
78  Identifier region_id ( int section, int side, bool checks) const;
79  Identifier region_id ( const Identifier& any_id) const;
80 
81  Identifier module_id ( int section, int side,
82  int module) const;
83  Identifier module_id ( int section, int side,
84  int module, bool checks) const;
85  Identifier module_id ( const Identifier& any_id) const;
86  Identifier tower_id ( int section, int side,
87  int module, int tower) const;
88  Identifier tower_id ( int section, int side,
89  int module, int tower,
90  bool checks) const;
91  Identifier tower_id ( const Identifier& any_id) const;
92  Identifier cell_id ( const Identifier & any_id ) const;
93  Identifier cell_id ( int section, int side,
94  int module, int tower,
95  int sample ) const;
96  Identifier cell_id ( int section, int side,
97  int module, int tower,
98  int sample, bool checks ) const;
99  Identifier pmt_id ( const Identifier & any_id ) const;
101  int pmt ) const;
103  int pmt, bool checks ) const;
104  Identifier pmt_id ( int section, int side,
105  int module, int tower,
106  int sample, int pmt ) const;
107  Identifier pmt_id ( int section, int side,
108  int module, int tower,
109  int sample, int pmt,
110  bool checks) const;
112  int pmt, int adc ) const;
114  int pmt, int adc,
115  bool checks ) const;
117  int adc ) const;
119  int adc, bool checks ) const;
120  Identifier adc_id ( int section, int side,
121  int module, int tower,
122  int sample, int pmt,
123  int adc ) const;
124  Identifier adc_id ( int section, int side,
125  int module, int tower,
126  int sample, int pmt,
127  int adc, bool checks ) const;
128 
130  Identifier cell_id (const IdentifierHash& hash_id) const;
133 
135 // bool is_tile (const Identifier& id) const;
136  bool is_tile_barrel (const Identifier& id) const;
137  bool is_tile_extbarrel (const Identifier& id) const;
138  bool is_tile_gap (const Identifier& id) const;
139  bool is_tile_gapscin (const Identifier& id) const;
140  bool is_tile_aux (const Identifier& id) const;
141 
142  bool is_negative (const Identifier& id) const;
143  bool is_positive (const Identifier& id) const;
144  bool is_twosides (const Identifier& id) const;
145 
146  bool is_low_gain (const Identifier& id) const;
147  bool is_high_gain (const Identifier& id) const;
148 
149  bool is_supercell (const Identifier& id) const;
150 
151  int region ( int section, int side ) const;
152  int region ( const Identifier & id ) const;
153  int system ( const Identifier & id ) const;
154  int section ( const Identifier & id ) const;
155  int side ( const Identifier & id ) const;
156  int module ( const Identifier & id ) const;
157  int tower ( const Identifier & id ) const;
158  int sample ( const Identifier & id ) const;
159  int pmt ( const Identifier & id ) const;
160  int adc ( const Identifier & id ) const;
161 
162  // fast way to get Tile sampling (be careful - doesn't work for MBTS)
163  int sampling ( const Identifier & id ) const { return m_sample_impl.unpack(id); }
164 
165  std::string to_string (const Identifier & id, int level=0) const;
166  std::string to_string (const IdentifierHash & hash_id, int level=0) const;
167 
168 
171  IdContext region_context () const;
172 
174  IdContext module_context () const;
175 
177  IdContext tower_context () const;
178 
180  IdContext cell_context () const;
181 
183  IdContext pmt_context () const;
184 
186  IdContext adc_context () const;
187 
188 
190  virtual int get_id (const IdentifierHash& hash_id, Identifier& id, const IdContext* context = 0 ) const;
191 
193  virtual int get_hash (const Identifier& id, IdentifierHash& hash_id, const IdContext* context = 0 ) const;
194 
196  int initialize_base_from_dictionary (const IdDictMgr& dict_mgr,
197  const std::string& group_name);
198 
200  size_type region_hash_max () const;
201  size_type module_hash_max () const;
202  size_type tower_hash_max () const;
203  size_type cell_hash_max () const;
204  size_type pmt_hash_max () const;
205  size_type adc_hash_max () const;
206 
208  typedef std::vector<Identifier>::const_iterator id_iterator;
210  typedef boost::iterator_range<id_iterator> id_range;
211 
213  id_iterator reg_begin () const;
214  id_iterator reg_end () const;
215  id_range reg_range () const;
216 
218  id_iterator region_begin () const { return reg_begin(); }
219  id_iterator region_end () const { return reg_end(); }
220  id_range region_range () const { return reg_range(); }
221 
223  id_iterator module_begin () const;
224  id_iterator module_end () const;
225  id_range module_range () const;
226 
228  id_iterator tower_begin () const;
229  id_iterator tower_end () const;
230  id_range tower_range () const;
231 
233  id_iterator cell_begin () const;
234  id_iterator cell_end () const;
235  id_range cell_range () const;
236 
238  id_iterator pmt_begin () const;
239  id_iterator pmt_end () const;
240  id_range pmt_range () const;
241 
243  id_iterator adc_begin () const;
244  id_iterator adc_end () const;
245  id_range adc_range () const;
246 
248  const std::vector<Identifier>& region_ids() const;
249  const std::vector<Identifier>& module_ids() const;
250  const std::vector<Identifier>& tower_ids() const;
251  const std::vector<Identifier>& cell_ids() const;
252  const std::vector<Identifier>& pmt_ids() const;
253  const std::vector<Identifier>& adc_ids() const;
254 
255 
257  int eta_min(const Identifier& id) const;
258  int eta_max(const Identifier& id) const;
259  int region_eta_min(const Identifier& id) const;
260  int region_eta_max(const Identifier& id) const;
261  int phi_max(const Identifier& id) const;
262 
263  enum {NOT_VALID_HASH = 64000};
264 
266  bool module_id (const Identifier& region_id,
267  int module,
268  Identifier& module_id ) const;
269  bool tower_id (const Identifier& region_id,
270  int module, int tower,
271  Identifier& tower_id ) const;
272  bool cell_id (const Identifier& region_id,
273  int module, int tower, int sample,
274  Identifier& cell_id ) const;
275  bool pmt_id (const Identifier& cell_id,
276  int pmt,
277  Identifier& pmt_id ) const;
278  bool adc_id (const Identifier& pmt_id,
279  int adc,
280  Identifier& adc_id ) const;
281  bool adc_id (const Identifier& cell_id,
282  int pmt, int adc,
283  Identifier& adc_id ) const;
284 
286  Identifier region_id (const ExpandedIdentifier& exp_id) const;
287  Identifier module_id (const ExpandedIdentifier& exp_id) const;
288  Identifier tower_id (const ExpandedIdentifier& exp_id) const;
289  Identifier cell_id (const ExpandedIdentifier& exp_id) const;
290  Identifier pmt_id (const ExpandedIdentifier& exp_id) const;
291  Identifier adc_id (const ExpandedIdentifier& exp_id) const;
292 
293 
306  int get_neighbours(const IdentifierHash& id,
307  const LArNeighbours::neighbourOption& option,
308  std::vector<IdentifierHash>& neighbourList) const;
309 
310 
311 private:
312 
313  int decode_section (int section) const
314  {
315  return section >= SBARREL ? (section & SECTION_MASK) : section;
316  }
317 
318  int encode_section (int section) const
319  {
320  return m_supercell ? (section | SUPERCELL_MASK) : section;
321  }
322 
324  virtual int get_expanded_id (const Identifier& id, ExpandedIdentifier& exp_id, const IdContext* context) const;
325 
327  int get_field ( const Identifier & id,
328  size_type index ) const;
329 
330  int initLevelsFromDict (const std::string& group_name);
331 
332  int init_hashes();
333 
334  int eta_min(const Identifier& id, const IdContext& context) const;
335  int eta_max(const Identifier& id, const IdContext& context) const;
336 
337  unsigned m_supercell;
338 
348 
358 
365 
370 
372 };
373 
374 
375 #endif // not CALOIDENTIFIER_TILE_BASE_ID_H
376 
Tile_Base_ID::module_id
Identifier module_id(int section, int side, int module) const
Definition: Tile_Base_ID.cxx:505
Tile_Base_ID::m_tower_impl
IdDictFieldImplementation m_tower_impl
Definition: Tile_Base_ID.h:353
Tile_Base_ID::eta_min
int eta_min(const Identifier &id) const
max values (-999 == failure)
Definition: Tile_Base_ID.cxx:1545
Tile_Base_ID::is_tile_aux
bool is_tile_aux(const Identifier &id) const
Definition: Tile_Base_ID.cxx:232
LArNeighbours::neighbourOption
neighbourOption
Definition: LArNeighbours.h:12
Tile_Base_ID::decode_section
int decode_section(int section) const
Definition: Tile_Base_ID.h:313
Tile_Base_ID::pmt_range
id_range pmt_range() const
Definition: Tile_Base_ID.cxx:1398
Tile_Base_ID::is_positive
bool is_positive(const Identifier &id) const
Definition: Tile_Base_ID.cxx:250
Tile_Base_ID::m_full_adc_range
MultiRange m_full_adc_range
Definition: Tile_Base_ID.h:364
Tile_Base_ID::tower_begin
id_iterator tower_begin() const
iterator over set of tower Identifiers
Definition: Tile_Base_ID.cxx:1358
Tile_Base_ID::id_iterator
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
Definition: Tile_Base_ID.h:208
Tile_Base_ID::SAMP_B
@ SAMP_B
Definition: Tile_Base_ID.h:53
Tile_Base_ID::adc_context
IdContext adc_context() const
id for ADCs
Definition: Tile_Base_ID.cxx:1071
Tile_Base_ID::reg_range
id_range reg_range() const
Definition: Tile_Base_ID.cxx:1338
Tile_Base_ID::cell_hash_max
size_type cell_hash_max() const
Definition: Tile_Base_ID.cxx:1313
Tile_Base_ID::ONLINE
@ ONLINE
Definition: Tile_Base_ID.h:47
Tile_Base_ID::m_section_impl
IdDictFieldImplementation m_section_impl
Definition: Tile_Base_ID.h:350
Tile_Base_ID::module_context
IdContext module_context() const
id for modules
Definition: Tile_Base_ID.cxx:1047
Tile_Base_ID::is_tile_gap
bool is_tile_gap(const Identifier &id) const
Definition: Tile_Base_ID.cxx:223
Tile_Base_ID::region_begin
id_iterator region_begin() const
iterator over set of region Identifiers (synonyms for naming consistency)
Definition: Tile_Base_ID.h:218
Tile_Base_ID::tower_hash_max
size_type tower_hash_max() const
Definition: Tile_Base_ID.cxx:1308
Tile_Base_ID::m_MODULE_INDEX
size_type m_MODULE_INDEX
Definition: Tile_Base_ID.h:343
Tile_Base_ID::cell_end
id_iterator cell_end() const
Definition: Tile_Base_ID.cxx:1378
index
Definition: index.py:1
Tile_Base_ID::m_system_impl
IdDictFieldImplementation m_system_impl
Definition: Tile_Base_ID.h:349
Tile_Base_ID::pmt
int pmt(const Identifier &id) const
Definition: Tile_Base_ID.cxx:180
Tile_Base_ID::region_ids
const std::vector< Identifier > & region_ids() const
provide access to id vectors, accessed via hash
Definition: Tile_Base_ID.cxx:1418
Tile_Base_ID::SEXTBAR
@ SEXTBAR
Definition: Tile_Base_ID.h:48
Tile_Base_ID::cell_range
id_range cell_range() const
Definition: Tile_Base_ID.cxx:1383
Tile_Base_ID::m_slar_impl
IdDictFieldImplementation m_slar_impl
Definition: Tile_Base_ID.h:357
Tile_Base_ID::SAMP_A
@ SAMP_A
Definition: Tile_Base_ID.h:52
Tile_Base_ID::NREGIONS
@ NREGIONS
Definition: Tile_Base_ID.h:57
Tile_Base_ID::SAMP_BC
@ SAMP_BC
Definition: Tile_Base_ID.h:53
Tile_Base_ID::side
int side(const Identifier &id) const
Definition: Tile_Base_ID.cxx:153
Tile_Base_ID::module_end
id_iterator module_end() const
Definition: Tile_Base_ID.cxx:1348
Tile_Base_ID::AUXDET
@ AUXDET
Definition: Tile_Base_ID.h:47
Tile_Base_ID::sample
int sample(const Identifier &id) const
Definition: Tile_Base_ID.cxx:171
Tile_Base_ID::encode_section
int encode_section(int section) const
Definition: Tile_Base_ID.h:318
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:102
Tile_Base_ID::is_tile_extbarrel
bool is_tile_extbarrel(const Identifier &id) const
Definition: Tile_Base_ID.cxx:214
Tile_Base_ID::m_PMT_INDEX
size_type m_PMT_INDEX
Definition: Tile_Base_ID.h:346
Tile_Base_ID::initLevelsFromDict
int initLevelsFromDict(const std::string &group_name)
Definition: Tile_Base_ID.cxx:1613
Tile_Base_ID::cell_ids
const std::vector< Identifier > & cell_ids() const
Definition: Tile_Base_ID.cxx:1433
Tile_Base_ID::HIGHGAIN
@ HIGHGAIN
Definition: Tile_Base_ID.h:56
Tile_Base_ID::GAPDET
@ GAPDET
Definition: Tile_Base_ID.h:47
Tile_Base_ID::m_neighbour
TileNeighbour m_neighbour
Definition: Tile_Base_ID.h:371
Tile_Base_ID::NSIDES
@ NSIDES
Definition: Tile_Base_ID.h:57
Tile_Base_ID::tower
int tower(const Identifier &id) const
Definition: Tile_Base_ID.cxx:165
Tile_Base_ID::SAMP_E
@ SAMP_E
Definition: Tile_Base_ID.h:54
Tile_Base_ID::cell_begin
id_iterator cell_begin() const
iterator over set of cell Identifiers
Definition: Tile_Base_ID.cxx:1373
Tile_Base_ID::pmt_hash_max
size_type pmt_hash_max() const
Definition: Tile_Base_ID.cxx:1318
Tile_Base_ID::BARREL
@ BARREL
Definition: Tile_Base_ID.h:47
Tile_Base_ID::system
int system(const Identifier &id) const
Definition: Tile_Base_ID.cxx:141
IdDictFieldImplementation::unpack
int unpack(Identifier id) const
Identifier manipulation methods.
Definition: IdDictFieldImplementation.h:147
Tile_Base_ID::get_expanded_id
virtual int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded Identifier from Identifier (return == 0 for OK)
Definition: Tile_Base_ID.cxx:1590
Tile_Base_ID::m_module_impl
IdDictFieldImplementation m_module_impl
Definition: Tile_Base_ID.h:352
Tile_Base_ID::is_high_gain
bool is_high_gain(const Identifier &id) const
Definition: Tile_Base_ID.cxx:286
Tile_Base_ID::TWOSIDES
@ TWOSIDES
Definition: Tile_Base_ID.h:55
Tile_Base_ID::NOT_VALID_HASH
@ NOT_VALID_HASH
Definition: Tile_Base_ID.h:263
Tile_Base_ID::region
int region(int section, int side) const
Definition: Tile_Base_ID.cxx:119
Tile_Base_ID::region_hash_max
size_type region_hash_max() const
hash tables max size
Definition: Tile_Base_ID.cxx:1298
Tile_Base_ID::initialize_base_from_dictionary
int initialize_base_from_dictionary(const IdDictMgr &dict_mgr, const std::string &group_name)
initialization from the identifier dictionary
Definition: Tile_Base_ID.cxx:1181
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
Tile_Base_ID::get_field
int get_field(const Identifier &id, size_type index) const
unpack one field from Identifier
Definition: Tile_Base_ID.cxx:108
Tile_Base_ID::SAMP_C
@ SAMP_C
Definition: Tile_Base_ID.h:53
Tile_Base_ID::m_SECTION_INDEX
size_type m_SECTION_INDEX
Definition: Tile_Base_ID.h:341
Tile_Base_ID::m_pmts
CaloIDHelper::HashGroup m_pmts
Definition: Tile_Base_ID.h:368
Tile_Base_ID::tile_det
Identifier tile_det(int section) const
build identifier for any Tilecal section
Definition: Tile_Base_ID.cxx:398
CaloIDHelper::size_type
Identifier::size_type size_type
Definition: CaloIDHelper.h:39
Tile_Base_ID::m_tile_region_index
size_type m_tile_region_index
Definition: Tile_Base_ID.h:339
Tile_Base_ID::EXTBAR
@ EXTBAR
Definition: Tile_Base_ID.h:47
Tile_Base_ID::region_id
Identifier region_id(int index) const
build single region, module, tower, cell, pmt, adc identifiers
Definition: Tile_Base_ID.cxx:405
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
IdDictMgr
Definition: IdDictMgr.h:14
Tile_Base_ID::get_id
virtual int get_id(const IdentifierHash &hash_id, Identifier &id, const IdContext *context=0) const
create compact id from hash id (return == 0 for OK)
Definition: Tile_Base_ID.cxx:1077
Tile_Base_ID::adc
int adc(const Identifier &id) const
Definition: Tile_Base_ID.cxx:186
Tile_Base_ID::tile_gap
Identifier tile_gap() const
build identifier for Tile Gap detector (ITC + gap/crack scintillators)
Definition: Tile_Base_ID.cxx:355
Tile_Base_ID::is_tile_gapscin
bool is_tile_gapscin(const Identifier &id) const
Definition: Tile_Base_ID.cxx:268
Tile_Base_ID::module
int module(const Identifier &id) const
Definition: Tile_Base_ID.cxx:159
Tile_Base_ID::tower_id
Identifier tower_id(int section, int side, int module, int tower) const
Definition: Tile_Base_ID.cxx:562
Tile_Base_ID::SECTION_MASK
@ SECTION_MASK
Definition: Tile_Base_ID.h:49
CaloIDHelper
Base class to factor out code common among Calo ID helpers.
Definition: CaloIDHelper.h:34
Tile_Base_ID::tile_system
Identifier tile_system() const
build identifier for whole TileCal
Definition: Tile_Base_ID.cxx:301
Tile_Base_ID
This class factors out code common between TileID and Tile_SuperCell_ID.
Definition: Tile_Base_ID.h:36
Tile_Base_ID::module_range
id_range module_range() const
Definition: Tile_Base_ID.cxx:1353
Tile_Base_ID::adc_range
id_range adc_range() const
Definition: Tile_Base_ID.cxx:1413
Tile_Base_ID::SUPERCELL_MASK
@ SUPERCELL_MASK
Definition: Tile_Base_ID.h:50
Tile_Base_ID::m_ADC_INDEX
size_type m_ADC_INDEX
Definition: Tile_Base_ID.h:347
Tile_Base_ID::tile_extbarrel
Identifier tile_extbarrel() const
build identifier for Tile Extended Barrel
Definition: Tile_Base_ID.cxx:336
Tile_Base_ID::POSITIVE
@ POSITIVE
Definition: Tile_Base_ID.h:55
mc.group_name
group_name
Definition: mc.PhPy8EG_A14NNPDF23_NNLOPS_example.py:33
Tile_Base_ID::adc_hash_max
size_type adc_hash_max() const
Definition: Tile_Base_ID.cxx:1323
TileNeighbour.h
Tile_Base_ID::LOWGAIN
@ LOWGAIN
Definition: Tile_Base_ID.h:56
AtlasDetectorID::group
const std::string & group() const
Group name for this helper.
Definition: AtlasDetectorID.cxx:27
Tile_Base_ID::sampling
int sampling(const Identifier &id) const
Definition: Tile_Base_ID.h:163
Tile_Base_ID::SBARREL
@ SBARREL
Definition: Tile_Base_ID.h:48
Tile_Base_ID::tower_end
id_iterator tower_end() const
Definition: Tile_Base_ID.cxx:1363
Tile_Base_ID::module_ids
const std::vector< Identifier > & module_ids() const
Definition: Tile_Base_ID.cxx:1423
Tile_Base_ID::SIZE
SIZE
Definition: Tile_Base_ID.h:57
Tile_Base_ID::region_eta_max
int region_eta_max(const Identifier &id) const
Definition: Tile_Base_ID.cxx:1563
Tile_Base_ID::module_begin
id_iterator module_begin() const
iterator over set of module Identifiers
Definition: Tile_Base_ID.cxx:1343
Tile_Base_ID::m_TOWER_INDEX
size_type m_TOWER_INDEX
Definition: Tile_Base_ID.h:344
Tile_Base_ID::reg_end
id_iterator reg_end() const
Definition: Tile_Base_ID.cxx:1333
Tile_Base_ID::region_range
id_range region_range() const
Definition: Tile_Base_ID.h:220
Tile_Base_ID::get_hash
virtual int get_hash(const Identifier &id, IdentifierHash &hash_id, const IdContext *context=0) const
create hash id from compact id (return == 0 for OK)
Definition: Tile_Base_ID.cxx:1151
Tile_Base_ID::pmt_begin
id_iterator pmt_begin() const
iterator over set of pmt Identifiers
Definition: Tile_Base_ID.cxx:1388
Tile_Base_ID::adc_id
Identifier adc_id(const Identifier &cell_id, int pmt, int adc) const
Definition: Tile_Base_ID.cxx:802
Tile_Base_ID::SAMPLE
SAMPLE
Definition: Tile_Base_ID.h:52
Tile_Base_ID::NSECTIONS
@ NSECTIONS
Definition: Tile_Base_ID.h:57
MultiRange
A MultiRange combines several Ranges.
Definition: MultiRange.h:17
CaloIDHelper::name
const std::string & name() const
Return the name for this helper.
Tile_Base_ID::adc_begin
id_iterator adc_begin() const
iterator over set of adc Identifiers
Definition: Tile_Base_ID.cxx:1403
Tile_Base_ID::init_hashes
int init_hashes()
Definition: Tile_Base_ID.cxx:1750
Tile_Base_ID::NEGATIVE
@ NEGATIVE
Definition: Tile_Base_ID.h:55
Tile_Base_ID::adc_end
id_iterator adc_end() const
Definition: Tile_Base_ID.cxx:1408
Tile_Base_ID::m_full_module_range
MultiRange m_full_module_range
Definition: Tile_Base_ID.h:360
Tile_Base_ID::m_towers
CaloIDHelper::HashGroup m_towers
Definition: Tile_Base_ID.h:367
Tile_Base_ID::m_pmt_impl
IdDictFieldImplementation m_pmt_impl
Definition: Tile_Base_ID.h:355
Tile_Base_ID::phi_max
int phi_max(const Identifier &id) const
Definition: Tile_Base_ID.cxx:1569
Tile_Base_ID::tower_ids
const std::vector< Identifier > & tower_ids() const
Definition: Tile_Base_ID.cxx:1428
Tile_Base_ID::SECTION
SECTION
Definition: Tile_Base_ID.h:47
Tile_Base_ID::m_adc_impl
IdDictFieldImplementation m_adc_impl
Definition: Tile_Base_ID.h:356
Tile_Base_ID::tile_barrel
Identifier tile_barrel() const
build identifier for Tile Barrel
Definition: Tile_Base_ID.cxx:318
Tile_Base_ID::get_neighbours
int get_neighbours(const IdentifierHash &id, const LArNeighbours::neighbourOption &option, std::vector< IdentifierHash > &neighbourList) const
access to hashes for neighbours return == 0 for neighbours found option = prevInPhi,...
Definition: Tile_Base_ID.cxx:1786
Tile_Base_ID::region_eta_min
int region_eta_min(const Identifier &id) const
Definition: Tile_Base_ID.cxx:1557
IdDictFieldImplementation.h
Tile_Base_ID::m_supercell
unsigned m_supercell
Definition: Tile_Base_ID.h:337
Tile_Base_ID::m_sample_impl
IdDictFieldImplementation m_sample_impl
Definition: Tile_Base_ID.h:354
Tile_Base_ID::m_side_impl
IdDictFieldImplementation m_side_impl
Definition: Tile_Base_ID.h:351
Tile_Base_ID::SAMP_D
@ SAMP_D
Definition: Tile_Base_ID.h:54
Tile_Base_ID::m_full_cell_range
MultiRange m_full_cell_range
Definition: Tile_Base_ID.h:362
Tile_Base_ID::cell_context
IdContext cell_context() const
id for cells
Definition: Tile_Base_ID.cxx:1059
Tile_Base_ID::m_SIDE_INDEX
size_type m_SIDE_INDEX
Definition: Tile_Base_ID.h:342
Tile_Base_ID::m_adcs
CaloIDHelper::HashGroup m_adcs
Definition: Tile_Base_ID.h:369
Tile_Base_ID::module_hash_max
size_type module_hash_max() const
Definition: Tile_Base_ID.cxx:1303
Tile_Base_ID::region_end
id_iterator region_end() const
Definition: Tile_Base_ID.h:219
Tile_Base_ID::m_modules
CaloIDHelper::HashGroup m_modules
Definition: Tile_Base_ID.h:366
Tile_Base_ID::to_string
std::string to_string(const Identifier &id, int level=0) const
Definition: Tile_Base_ID.cxx:52
Tile_Base_ID::m_full_pmt_range
MultiRange m_full_pmt_range
Definition: Tile_Base_ID.h:363
Tile_Base_ID::eta_max
int eta_max(const Identifier &id) const
Definition: Tile_Base_ID.cxx:1551
Tile_Base_ID::adc_ids
const std::vector< Identifier > & adc_ids() const
Definition: Tile_Base_ID.cxx:1443
Tile_Base_ID::pmt_id
Identifier pmt_id(const Identifier &any_id) const
Definition: Tile_Base_ID.cxx:640
Tile_Base_ID::pmt_end
id_iterator pmt_end() const
Definition: Tile_Base_ID.cxx:1393
CaloIDHelper.h
Base class to factor out code common among Calo ID helpers.
Tile_Base_ID::region_context
IdContext region_context() const
access to IdContext's which define which levels of fields are contained in the id
Definition: Tile_Base_ID.cxx:1041
TileNeighbour
This class return all neighbours for given hash ID of the cell.
Definition: TileNeighbour.h:41
Tile_Base_ID::m_SYSTEM_INDEX
size_type m_SYSTEM_INDEX
Definition: Tile_Base_ID.h:340
Tile_Base_ID::is_supercell
bool is_supercell(const Identifier &id) const
Definition: Tile_Base_ID.cxx:294
Tile_Base_ID::is_twosides
bool is_twosides(const Identifier &id) const
Definition: Tile_Base_ID.cxx:259
Tile_Base_ID::tower_range
id_range tower_range() const
Definition: Tile_Base_ID.cxx:1368
Tile_Base_ID::is_negative
bool is_negative(const Identifier &id) const
Definition: Tile_Base_ID.cxx:241
Tile_Base_ID::tower_context
IdContext tower_context() const
id for towers
Definition: Tile_Base_ID.cxx:1053
Tile_Base_ID::m_full_tower_range
MultiRange m_full_tower_range
Definition: Tile_Base_ID.h:361
Tile_Base_ID::pmt_ids
const std::vector< Identifier > & pmt_ids() const
Definition: Tile_Base_ID.cxx:1438
Tile_Base_ID::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: Tile_Base_ID.h:210
Tile_Base_ID::cell_hash
IdentifierHash cell_hash(const Identifier &cell_id) const
fast conversion from ID to hash for cells
Definition: Tile_Base_ID.cxx:1030
Tile_Base_ID::SIDE
SIDE
Definition: Tile_Base_ID.h:55
Tile_Base_ID::m_full_region_range
MultiRange m_full_region_range
Definition: Tile_Base_ID.h:359
Tile_Base_ID::section
int section(const Identifier &id) const
Definition: Tile_Base_ID.cxx:147
CaloIDHelper::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: CaloIDHelper.h:44
IdDictFieldImplementation
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
Definition: IdDictFieldImplementation.h:58
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
CaloIDHelper::id_iterator
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
Definition: CaloIDHelper.h:42
CaloIDHelper::HashGroup
Manage a list of identifiers.
Definition: CaloIDHelper.h:60
Tile_Base_ID::is_tile_barrel
bool is_tile_barrel(const Identifier &id) const
Test of an Identifier to see if it belongs to a particular part of the calorimeter.
Definition: Tile_Base_ID.cxx:205
Tile_Base_ID::cell_id
Identifier cell_id(const Identifier &any_id) const
Definition: Tile_Base_ID.cxx:581
Tile_Base_ID::is_low_gain
bool is_low_gain(const Identifier &id) const
Definition: Tile_Base_ID.cxx:277
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
Tile_Base_ID::Tile_Base_ID
Tile_Base_ID(const std::string &name, const std::string &group, bool supercell)
Constructor.
Definition: Tile_Base_ID.cxx:31
Tile_Base_ID::m_SAMPLE_INDEX
size_type m_SAMPLE_INDEX
Definition: Tile_Base_ID.h:345
CLASS_DEF.h
macros to associate a CLID to a type
Tile_Base_ID::GAIN
GAIN
Definition: Tile_Base_ID.h:56
Tile_Base_ID::pmt_context
IdContext pmt_context() const
id for PMTs
Definition: Tile_Base_ID.cxx:1065
Tile_Base_ID::reg_begin
id_iterator reg_begin() const
iterator over set of region Identifiers
Definition: Tile_Base_ID.cxx:1328
TileID_Exception.h
Tile_Base_ID::SAMP_X
@ SAMP_X
Definition: Tile_Base_ID.h:54
Identifier
Definition: IdentifierFieldParser.cxx:14