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 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
15 #ifndef CALOIDENTIFIER_TILE_BASE_ID_H
16 #define CALOIDENTIFIER_TILE_BASE_ID_H
17 
19 // #include "Identifier/IdentifierHash.h"
24 
25 #include "AthenaKernel/CLASS_DEF.h"
26 
27 #include "boost/range/iterator_range.hpp"
28 #include <string>
29 #include <vector>
30 #include <set>
31 
32 class IdentifierHash;
33 
34 
39 class Tile_Base_ID : public CaloIDHelper {
40 
41  friend class TileNeighbour;
42 
43 public:
44 
46  Tile_Base_ID (const std::string& name, bool supercell);
47 
48  enum SECTION { ONLINE = 0, BARREL = 1, EXTBAR = 2, GAPDET = 3, AUXDET = 4 ,
49  SBARREL = 5, SEXTBAR = 6,
51  SUPERCELL_MASK = 4
52  };
53  enum SAMPLE { SAMP_A = 0,
54  SAMP_B = 1, SAMP_BC = 1, SAMP_C = 1, // synonyms
55  SAMP_D = 2, SAMP_E = 3, SAMP_X = 4 };
56  enum SIDE { NEGATIVE = -1, POSITIVE = 1, TWOSIDES = 0 };
57  enum GAIN { LOWGAIN = 0, HIGHGAIN = 1 };
58  enum SIZE { NSIDES = 2, NSECTIONS = 3, NREGIONS = NSIDES * NSECTIONS };
59 
61  Identifier tile_system () const;
62 
64  Identifier tile_barrel () const;
65 
67  Identifier tile_extbarrel () const;
68 
70  Identifier tile_gap () const;
71 
73  Identifier tile_det ( int section) const;
74  Identifier tile_det ( int section, bool checks) const;
75 
77  Identifier region_id ( int index) const;
78  Identifier region_id ( int section, int side) const;
79  Identifier region_id ( int section, int side, bool checks) const;
80  Identifier region_id ( const Identifier& any_id) const;
81 
82  Identifier module_id ( int section, int side,
83  int module) const;
84  Identifier module_id ( int section, int side,
85  int module, bool checks) const;
86  Identifier module_id ( const Identifier& any_id) const;
87  Identifier tower_id ( int section, int side,
88  int module, int tower) const;
89  Identifier tower_id ( int section, int side,
90  int module, int tower,
91  bool checks) const;
92  Identifier tower_id ( const Identifier& any_id) const;
93  Identifier cell_id ( const Identifier & any_id ) const;
94  Identifier cell_id ( int section, int side,
95  int module, int tower,
96  int sample ) const;
97  Identifier cell_id ( int section, int side,
98  int module, int tower,
99  int sample, bool checks ) const;
100  Identifier pmt_id ( const Identifier & any_id ) const;
102  int pmt ) const;
104  int pmt, bool checks ) const;
105  Identifier pmt_id ( int section, int side,
106  int module, int tower,
107  int sample, int pmt ) const;
108  Identifier pmt_id ( int section, int side,
109  int module, int tower,
110  int sample, int pmt,
111  bool checks) const;
113  int pmt, int adc ) const;
115  int pmt, int adc,
116  bool checks ) const;
118  int adc ) const;
120  int adc, bool checks ) const;
121  Identifier adc_id ( int section, int side,
122  int module, int tower,
123  int sample, int pmt,
124  int adc ) const;
125  Identifier adc_id ( int section, int side,
126  int module, int tower,
127  int sample, int pmt,
128  int adc, bool checks ) const;
129 
131  Identifier cell_id (const IdentifierHash& hash_id) const;
134 
136 // bool is_tile (const Identifier& id) const;
137  bool is_tile_barrel (const Identifier& id) const;
138  bool is_tile_extbarrel (const Identifier& id) const;
139  bool is_tile_gap (const Identifier& id) const;
140  bool is_tile_gapscin (const Identifier& id) const;
141  bool is_tile_aux (const Identifier& id) const;
142 
143  bool is_negative (const Identifier& id) const;
144  bool is_positive (const Identifier& id) const;
145  bool is_twosides (const Identifier& id) const;
146 
147  bool is_low_gain (const Identifier& id) const;
148  bool is_high_gain (const Identifier& id) const;
149 
150  bool is_supercell (const Identifier& id) const;
151 
152  int region ( int section, int side ) const;
153  int region ( const Identifier & id ) const;
154  int system ( const Identifier & id ) const;
155  int section ( const Identifier & id ) const;
156  int side ( const Identifier & id ) const;
157  int module ( const Identifier & id ) const;
158  int tower ( const Identifier & id ) const;
159  int sample ( const Identifier & id ) const;
160  int pmt ( const Identifier & id ) const;
161  int adc ( const Identifier & id ) const;
162 
163  // fast way to get Tile sampling (be careful - doesn't work for MBTS)
164  int sampling ( const Identifier & id ) const { return m_sample_impl.unpack(id); }
165 
166  std::string to_string (const Identifier & id, int level=0) const;
167  std::string to_string (const IdentifierHash & hash_id, int level=0) const;
168 
169 
172  IdContext region_context (void) const;
173 
175  IdContext module_context (void) const;
176 
178  IdContext tower_context (void) const;
179 
181  IdContext cell_context (void) const;
182 
184  IdContext pmt_context (void) const;
185 
187  IdContext adc_context (void) const;
188 
189 
191  virtual int get_id (const IdentifierHash& hash_id, Identifier& id, const IdContext* context = 0 ) const;
192 
194  virtual int get_hash (const Identifier& id, IdentifierHash& hash_id, const IdContext* context = 0 ) const;
195 
197  int initialize_base_from_dictionary (const IdDictMgr& dict_mgr,
198  const std::string& group_name);
199 
201  size_type region_hash_max (void) const;
202  size_type module_hash_max (void) const;
203  size_type tower_hash_max (void) const;
204  size_type cell_hash_max (void) const;
205  size_type pmt_hash_max (void) const;
206  size_type adc_hash_max (void) const;
207 
209  typedef std::vector<Identifier>::const_iterator id_iterator;
211  typedef boost::iterator_range<id_iterator> id_range;
212 
214  id_iterator reg_begin () const;
215  id_iterator reg_end () const;
216  id_range reg_range () const;
217 
219  id_iterator region_begin () const { return reg_begin(); }
220  id_iterator region_end () const { return reg_end(); }
221  id_range region_range () const { return reg_range(); }
222 
224  id_iterator module_begin () const;
225  id_iterator module_end () const;
226  id_range module_range () const;
227 
229  id_iterator tower_begin () const;
230  id_iterator tower_end () const;
231  id_range tower_range () const;
232 
234  id_iterator cell_begin () const;
235  id_iterator cell_end () const;
236  id_range cell_range () const;
237 
239  id_iterator pmt_begin () const;
240  id_iterator pmt_end () const;
241  id_range pmt_range () const;
242 
244  id_iterator adc_begin () const;
245  id_iterator adc_end () const;
246  id_range adc_range () const;
247 
249  const std::vector<Identifier>& region_ids() const;
250  const std::vector<Identifier>& module_ids() const;
251  const std::vector<Identifier>& tower_ids() const;
252  const std::vector<Identifier>& cell_ids() const;
253  const std::vector<Identifier>& pmt_ids() const;
254  const std::vector<Identifier>& adc_ids() const;
255 
256 
258  int eta_min(const Identifier& id) const;
259  int eta_max(const Identifier& id) const;
260  int region_eta_min(const Identifier& id) const;
261  int region_eta_max(const Identifier& id) const;
262  int phi_max(const Identifier& id) const;
263 
264  enum {NOT_VALID_HASH = 64000};
265 
267  bool module_id (const Identifier& region_id,
268  int module,
269  Identifier& module_id ) const;
270  bool tower_id (const Identifier& region_id,
271  int module, int tower,
272  Identifier& tower_id ) const;
273  bool cell_id (const Identifier& region_id,
274  int module, int tower, int sample,
275  Identifier& cell_id ) const;
276  bool pmt_id (const Identifier& cell_id,
277  int pmt,
278  Identifier& pmt_id ) const;
279  bool adc_id (const Identifier& pmt_id,
280  int adc,
281  Identifier& adc_id ) const;
282  bool adc_id (const Identifier& cell_id,
283  int pmt, int adc,
284  Identifier& adc_id ) const;
285 
287  Identifier region_id (const ExpandedIdentifier& exp_id) const;
288  Identifier module_id (const ExpandedIdentifier& exp_id) const;
289  Identifier tower_id (const ExpandedIdentifier& exp_id) const;
290  Identifier cell_id (const ExpandedIdentifier& exp_id) const;
291  Identifier pmt_id (const ExpandedIdentifier& exp_id) const;
292  Identifier adc_id (const ExpandedIdentifier& exp_id) const;
293 
294 
307  int get_neighbours(const IdentifierHash& id,
308  const LArNeighbours::neighbourOption& option,
309  std::vector<IdentifierHash>& neighbourList) const;
310 
311 
312 private:
313 
314  int decode_section (int section) const
315  {
316  return section >= SBARREL ? (section & SECTION_MASK) : section;
317  }
318 
319  int encode_section (int section) const
320  {
321  return m_supercell ? (section | SUPERCELL_MASK) : section;
322  }
323 
325  virtual int get_expanded_id (const Identifier& id, ExpandedIdentifier& exp_id, const IdContext* context) const;
326 
328  int get_field ( const Identifier & id,
329  size_type index ) const;
330 
331  int initLevelsFromDict (const std::string& group_name) ;
332 
333  int init_hashes(void) ;
334 
335  int eta_min(const Identifier& id, const IdContext& context) const;
336  int eta_max(const Identifier& id, const IdContext& context) const;
337 
338  unsigned m_supercell;
339 
349 
359 
366 
371 
373 };
374 
375 
376 #endif // not CALOIDENTIFIER_TILE_BASE_ID_H
377 
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:354
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:314
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:365
Tile_Base_ID::cell_hash_max
size_type cell_hash_max(void) const
Definition: Tile_Base_ID.cxx:1313
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:209
Tile_Base_ID::SAMP_B
@ SAMP_B
Definition: Tile_Base_ID.h:54
Tile_Base_ID::reg_range
id_range reg_range() const
Definition: Tile_Base_ID.cxx:1338
Tile_Base_ID::ONLINE
@ ONLINE
Definition: Tile_Base_ID.h:48
Tile_Base_ID::m_section_impl
IdDictFieldImplementation m_section_impl
Definition: Tile_Base_ID.h:351
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:219
Tile_Base_ID::m_MODULE_INDEX
size_type m_MODULE_INDEX
Definition: Tile_Base_ID.h:344
Tile_Base_ID::cell_context
IdContext cell_context(void) const
id for cells
Definition: Tile_Base_ID.cxx:1059
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:350
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:49
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:358
Tile_Base_ID::SAMP_A
@ SAMP_A
Definition: Tile_Base_ID.h:53
Tile_Base_ID::NREGIONS
@ NREGIONS
Definition: Tile_Base_ID.h:58
Tile_Base_ID::SAMP_BC
@ SAMP_BC
Definition: Tile_Base_ID.h:54
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:48
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:319
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:102
Tile_Base_ID::region_hash_max
size_type region_hash_max(void) const
hash tables max size
Definition: Tile_Base_ID.cxx:1298
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:347
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:57
Tile_Base_ID::GAPDET
@ GAPDET
Definition: Tile_Base_ID.h:48
Tile_Base_ID::m_neighbour
TileNeighbour m_neighbour
Definition: Tile_Base_ID.h:372
Tile_Base_ID::NSIDES
@ NSIDES
Definition: Tile_Base_ID.h:58
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:55
Tile_Base_ID::module_hash_max
size_type module_hash_max(void) const
Definition: Tile_Base_ID.cxx:1303
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::BARREL
@ BARREL
Definition: Tile_Base_ID.h:48
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:148
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:353
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:56
Tile_Base_ID::NOT_VALID_HASH
@ NOT_VALID_HASH
Definition: Tile_Base_ID.h:264
Tile_Base_ID::region
int region(int section, int side) const
Definition: Tile_Base_ID.cxx:119
Tile_Base_ID::module_context
IdContext module_context(void) const
id for modules
Definition: Tile_Base_ID.cxx:1047
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:54
Tile_Base_ID::Tile_Base_ID
Tile_Base_ID(const std::string &name, bool supercell)
Constructor.
Definition: Tile_Base_ID.cxx:33
Tile_Base_ID::m_SECTION_INDEX
size_type m_SECTION_INDEX
Definition: Tile_Base_ID.h:342
Tile_Base_ID::m_pmts
CaloIDHelper::HashGroup m_pmts
Definition: Tile_Base_ID.h:369
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:340
Tile_Base_ID::EXTBAR
@ EXTBAR
Definition: Tile_Base_ID.h:48
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: IdDictDefs.h:32
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:50
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:39
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:51
Tile_Base_ID::m_ADC_INDEX
size_type m_ADC_INDEX
Definition: Tile_Base_ID.h:348
Tile_Base_ID::tile_extbarrel
Identifier tile_extbarrel() const
build identifier for Tile Extended Barrel
Definition: Tile_Base_ID.cxx:336
Tile_Base_ID::tower_context
IdContext tower_context(void) const
id for towers
Definition: Tile_Base_ID.cxx:1053
Tile_Base_ID::POSITIVE
@ POSITIVE
Definition: Tile_Base_ID.h:56
mc.group_name
group_name
Definition: mc.PhPy8EG_A14NNPDF23_NNLOPS_example.py:33
TileNeighbour.h
Tile_Base_ID::LOWGAIN
@ LOWGAIN
Definition: Tile_Base_ID.h:57
Tile_Base_ID::sampling
int sampling(const Identifier &id) const
Definition: Tile_Base_ID.h:164
Tile_Base_ID::SBARREL
@ SBARREL
Definition: Tile_Base_ID.h:49
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:58
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:345
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:221
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::init_hashes
int init_hashes(void)
Definition: Tile_Base_ID.cxx:1750
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:53
Tile_Base_ID::NSECTIONS
@ NSECTIONS
Definition: Tile_Base_ID.h:58
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::NEGATIVE
@ NEGATIVE
Definition: Tile_Base_ID.h:56
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:361
Tile_Base_ID::m_towers
CaloIDHelper::HashGroup m_towers
Definition: Tile_Base_ID.h:368
Tile_Base_ID::m_pmt_impl
IdDictFieldImplementation m_pmt_impl
Definition: Tile_Base_ID.h:356
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:48
Tile_Base_ID::m_adc_impl
IdDictFieldImplementation m_adc_impl
Definition: Tile_Base_ID.h:357
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::tower_hash_max
size_type tower_hash_max(void) const
Definition: Tile_Base_ID.cxx:1308
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::adc_context
IdContext adc_context(void) const
id for ADCs
Definition: Tile_Base_ID.cxx:1071
Tile_Base_ID::pmt_hash_max
size_type pmt_hash_max(void) const
Definition: Tile_Base_ID.cxx:1318
Tile_Base_ID::m_supercell
unsigned m_supercell
Definition: Tile_Base_ID.h:338
Tile_Base_ID::m_sample_impl
IdDictFieldImplementation m_sample_impl
Definition: Tile_Base_ID.h:355
Tile_Base_ID::m_side_impl
IdDictFieldImplementation m_side_impl
Definition: Tile_Base_ID.h:352
Tile_Base_ID::SAMP_D
@ SAMP_D
Definition: Tile_Base_ID.h:55
Tile_Base_ID::m_full_cell_range
MultiRange m_full_cell_range
Definition: Tile_Base_ID.h:363
Tile_Base_ID::m_SIDE_INDEX
size_type m_SIDE_INDEX
Definition: Tile_Base_ID.h:343
Tile_Base_ID::m_adcs
CaloIDHelper::HashGroup m_adcs
Definition: Tile_Base_ID.h:370
Tile_Base_ID::region_end
id_iterator region_end() const
Definition: Tile_Base_ID.h:220
Tile_Base_ID::m_modules
CaloIDHelper::HashGroup m_modules
Definition: Tile_Base_ID.h:367
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:364
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.
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:341
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::pmt_context
IdContext pmt_context(void) const
id for PMTs
Definition: Tile_Base_ID.cxx:1065
Tile_Base_ID::m_full_tower_range
MultiRange m_full_tower_range
Definition: Tile_Base_ID.h:362
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:211
Tile_Base_ID::region_context
IdContext region_context(void) const
access to IdContext's which define which levels of fields are contained in the id
Definition: Tile_Base_ID.cxx:1041
Tile_Base_ID::adc_hash_max
size_type adc_hash_max(void) const
Definition: Tile_Base_ID.cxx:1323
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:56
Tile_Base_ID::m_full_region_range
MultiRange m_full_region_range
Definition: Tile_Base_ID.h:360
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::m_SAMPLE_INDEX
size_type m_SAMPLE_INDEX
Definition: Tile_Base_ID.h:346
CLASS_DEF.h
macros to associate a CLID to a type
Tile_Base_ID::GAIN
GAIN
Definition: Tile_Base_ID.h:57
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:55
Identifier
Definition: IdentifierFieldParser.cxx:14