ATLAS Offline Software
LArMiniFCAL_ID.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 LARMiniFCAL_ID_H
6 #define LARMiniFCAL_ID_H
7 
12 #include "IdDict/IdDictDefs.h"
13 
17 
18 #include "boost/range/iterator_range.hpp"
19 #include <vector>
20 #include <algorithm>
21 #include <set>
22 
23 
53 class Range;
54 class LArMiniFCAL_region;
55 
57 {
58 public:
59 
61 
63 
65 
68  bool is_initialized() const;
69 
71  Identifier module_id (const ExpandedIdentifier& exp_id) const ;
72 
74  Identifier channel_id (const ExpandedIdentifier& exp_id) const ;
75 
77  Identifier module_id ( int pos_neg, int module ) const ;
78  Identifier module_id ( int pos_neg, int module, bool checks ) const ;
79 
81  Identifier channel_id( int pos_neg, int module, int depth,
82  int eta, int phi ) const ;
83  Identifier channel_id( int pos_neg, int module, int depth,
84  int eta, int phi, bool checks ) const ;
85 
88  Identifier module_id (const Identifier id ) const;
89 
92  Identifier channel_id( const Identifier moduleId, int depth,
93  int eta, int phi) const ;
94  Identifier channel_id( const Identifier moduleId, int depth,
95  int eta, int phi, bool checks) const ;
96 
97  bool is_supercell (const Identifier channelId) const;
98 
100  Identifier module_id (IdentifierHash module_hash_id) const;
101 
104 
107 
109  size_type module_hash_max () const;
110 
112  typedef std::vector<Identifier>::const_iterator id_iterator;
114  typedef boost::iterator_range<id_iterator> id_range;
115 
117  id_iterator mod_begin () const;
119  id_iterator mod_end () const;
121  id_range mod_range () const;
122 
124  id_iterator minifcal_begin () const;
126  id_iterator minifcal_end () const;
128  id_range minifcal_range () const;
129 
131  const std::vector<Identifier>& channel_ids() const;
132 
134  const std::vector<Identifier>& module_ids() const;
135 
136 
138  int pos_neg (const Identifier id)const;
140  int module (const Identifier id)const;
142  int depth (const Identifier id)const;
144  int eta (const Identifier id)const;
146  int phi (const Identifier id)const;
147 
150  int eta_min(const Identifier regId) const;
153  int eta_max(const Identifier regId) const;
156  int phi_min(const Identifier regId) const;
159  int phi_max(const Identifier regId) const;
160 
165  int get_neighbours(const IdentifierHash id, const LArNeighbours::neighbourOption& option, std::vector<IdentifierHash>& neighbourList) const;
166 
169  IdContext module_context () const;
170 
172  virtual int initialize_from_dictionary (const IdDictMgr& dict_mgr);
173 
176  // Inherited from CaloIDHelper:
177  //
178  //Identifier channel_id (IdentifierHash hashId) const;
179  //Identifier region_id (IdentifierHash hashId) const;
180  //IdentifierHash channel_hash (Identifier channelId) const;
181  //IdentifierHash region_hash (Identifier regionId) const;
182  //size_type channel_hash_max() const;
183  //size_type region_hash_max() const;
184  //IdContext channel_context() const;
185  //IdContext region_context() const;
186  //const std::vector<const IdDictRegion*>& dictRegions() const;
187  //float etaGranularity(const IdentifierHash regHash) const;
188  //float phiGranularity(const IdentifierHash regHash) const;
189  //float eta0(const IdentifierHash regHash) const;
190  //float phi0(const IdentifierHash regHash) const;
191  //virtual int get_id (const IdentifierHash& hash_id,
192  // Identifier& id,
193  // const IdContext* context = 0 ) const;
194  //virtual int get_hash (const Identifier& id,
195  // IdentifierHash& hash_id,
196  // const IdContext* context = 0 ) const;
197 
198 
199 private:
200 
201 
202  enum {NOT_VALID_HASH = 64000};
203 
204  int phi_min_init(const Identifier regId) const;
205 
206  std::vector<std::set<IdentifierHash> > m_neighbors_2d_vec;
207  std::vector<std::set<IdentifierHash> > m_neighbors_3d_next_vec;
208  std::vector<std::set<IdentifierHash> > m_neighbors_3d_prev_vec;
209 
210  // Check methods
211 
212  void module_id_checks ( int pos_neg, int module ) const;
213  void channel_id_checks ( int pos_neg, int module,
214  int depth, int eta, int phi ) const;
215  void channel_id_checks ( const Identifier moduleId,
216  int depth, int eta, int phi) const;
217 
219  virtual int get_expanded_id (const Identifier& id, ExpandedIdentifier& exp_id, const IdContext* context) const;
220 
221  int initLevelsFromDict();
222 
223  int init_hashes();
224 
225  int init_neighbors_from_file(const std::string& filename, std::vector<std::set<IdentifierHash> > &vec);
226 
227  int init_neighbors_2d(const std::string& filename)
228  {
230  }
231 
232  int init_neighbors_3d_next(const std::string& filename)
233  {
235  }
236 
237  int init_neighbors_3d_prev(const std::string& filename)
238  {
240  }
241 
242  int init_neighbors(const IdDictMgr& dict_mgr) ;
243 
244  // flag to protect for when helper hasn't been able to be
245  // initialized - no description in xml dictionary
255 
259 
261 
262  std::vector<short int> m_vecOfCellInfo;
263  std::vector<short int> m_vecOfPhiMin;
264 
265 
273 
275 
276 };
277 
278 //using the macro below we can assign an identifier (and a version)
279 //This is required and checked at compile time when you try to record/retrieve
280 CLASS_DEF( LArMiniFCAL_ID , 79264204 , 1 )
281 
282 
283 //--------------------
284 // Inline definitions
285 //--------------------
286 
287 //----------------------------------------------------------------------------
288 inline bool
289 LArMiniFCAL_ID::is_initialized() const
290 {
291  return m_is_initialized;
292 }
293 
294 //----------------------------------------------------------------------------
295 inline Identifier
297 {
298  return this->module_id ( exp_id[m_POSNEG_INDEX],
299  exp_id[m_MODULE_INDEX] );
300 }
301 
302 //----------------------------------------------------------------------------
303 inline Identifier
305 {
306  return this->channel_id (exp_id[m_POSNEG_INDEX],
307  exp_id[m_MODULE_INDEX],
308  exp_id[m_DEPTH_INDEX],
309  exp_id[m_ETA_INDEX],
310  exp_id[m_PHI_INDEX]);
311 }
312 
313 //----------------------------------------------------------------------------
314 inline Identifier
315 LArMiniFCAL_ID::module_id (int pos_neg, int module, bool checks) const
316 {
317 
318  Identifier result(0);
319 
320  // Do checks
321  if(checks) {
323  }
324 
325  // Pack fields independently
330 
331  return result;
332 }
333 
334 inline Identifier
335 LArMiniFCAL_ID::module_id (int pos_neg, int module) const
336 {
337  return module_id (pos_neg, module, do_checks());
338 }
339 
340 //----------------------------------------------------------------------------
341 inline Identifier
342 LArMiniFCAL_ID::channel_id ( int pos_neg, int module, int depth,
343  int eta, int phi,
344  bool checks ) const
345 {
346 
347  // Do checks
348  if(checks) {
350  }
351 
352  Identifier result(0);
353  // Pack fields independently
361 
362  return result;
363 }
364 
365 inline Identifier
366 LArMiniFCAL_ID::channel_id ( int pos_neg, int module, int depth,
367  int eta, int phi ) const
368 {
369  return channel_id (pos_neg, module, depth, eta, phi, do_checks());
370 }
371 
372 //----------------------------------------------------------------------------
373 inline Identifier
375 {
376 
378  // reset depth/eta/phi
382  return (result);
383 }
384 
385 //----------------------------------------------------------------------------
386 inline Identifier
388  int eta, int phi,
389  bool checks) const
390 {
391  // Do checks
392  if(checks) {
394  }
395 
397 
398  // Reset the fields and then set the values
405 
406  return result;
407 }
408 
409 inline Identifier
411  int eta, int phi) const
412 {
413  return channel_id (module_id, depth, eta, phi, do_checks());
414 }
415 
416 //----------------------------------------------------------------------------
418 {
419  return region_id(module_hash_id);
420 }
421 
422 //----------------------------------------------------------------------------
424 {
425  return region_hash (module_id);
426 }
427 
428 //----------------------------------------------------------------------------
430 {
431  return channel_hash (channelId);
432 }
433 
434 //----------------------------------------------------------------------------
436 {
437  return region_hash_max();
438 }
439 
440 //----------------------------------------------------------------------------
442 {
443  return regions().begin();
444 }
445 
446 //----------------------------------------------------------------------------
448 {
449  return regions().end();
450 }
451 
452 //----------------------------------------------------------------------------
454 {
455  return regions().range();
456 }
457 
458 //----------------------------------------------------------------------------
460 {
461  return channels().begin();
462 }
463 
464 //----------------------------------------------------------------------------
466 {
467  return channels().end();
468 }
469 
470 //----------------------------------------------------------------------------
472 {
473  return channels().range();
474 }
475 
476 //----------------------------------------------------------------------------
477 inline const std::vector<Identifier>& LArMiniFCAL_ID::channel_ids() const
478 {
479  return channels().ids();
480 }
481 
482 //----------------------------------------------------------------------------
483 inline const std::vector<Identifier>& LArMiniFCAL_ID::module_ids() const
484 {
485  return regions().ids();
486 }
487 
488 //----------------------------------------------------------------------------
489 inline int LArMiniFCAL_ID::pos_neg (const Identifier id)const
490 {
491  return (m_pn_impl.unpack(id));
492 }
493 
494 //----------------------------------------------------------------------------
495 inline int LArMiniFCAL_ID::module (const Identifier id)const
496 {
497  return (m_module_impl.unpack(id));
498 }
499 
500 //----------------------------------------------------------------------------
501 inline int LArMiniFCAL_ID::depth (const Identifier id)const
502 {
503  int result = m_depth_impl.unpack(id);
504  return(result);
505 }
506 
507 //----------------------------------------------------------------------------
508 inline int LArMiniFCAL_ID::eta (const Identifier id)const
509 {
510  int result = m_eta_impl.unpack(id);
511  return(result);
512 }
513 
514 //----------------------------------------------------------------------------
515 inline int LArMiniFCAL_ID::phi(const Identifier id)const
516 {
517  int result = m_phi_impl.unpack(id);
518  return(result);
519 }
520 
521 //----------------------------------------------------------------------------
522 inline int LArMiniFCAL_ID::phi_min(const Identifier modId) const
523 {
524  IdentifierHash modHash = module_hash(modId);
525  unsigned int index = modHash;
526  return (m_vecOfPhiMin[index]);
527 }
528 
529 //----------------------------------------------------------------------------
530 inline bool LArMiniFCAL_ID::is_supercell(const Identifier /*channelId*/) const
531 {
532  return false;
533 }
534 
535 #endif // LARMiniFCAL_ID_H
LArMiniFCAL_ID::m_is_initialized
bool m_is_initialized
Definition: LArMiniFCAL_ID.h:246
LArMiniFCAL_ID::eta_max
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
Definition: LArMiniFCAL_ID.cxx:69
LArNeighbours::neighbourOption
neighbourOption
Definition: LArNeighbours.h:12
LArMiniFCAL_ID::m_full_module_range
MultiRange m_full_module_range
Definition: LArMiniFCAL_ID.h:257
LArMiniFCAL_ID::channel_ids
const std::vector< Identifier > & channel_ids() const
provide access to channel id vector, accessed via hash
Definition: LArMiniFCAL_ID.h:477
egammaParameters::depth
@ depth
pointing depth of the shower as calculated in egammaqgcld
Definition: egammaParamDefs.h:276
LArMiniFCAL_ID::m_full_channel_range
MultiRange m_full_channel_range
Definition: LArMiniFCAL_ID.h:256
get_generator_info.result
result
Definition: get_generator_info.py:21
LArMiniFCAL_ID::m_ETA_INDEX
size_type m_ETA_INDEX
Definition: LArMiniFCAL_ID.h:253
LArMiniFCAL_ID::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: LArMiniFCAL_ID.h:114
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
LArMiniFCAL_ID::init_neighbors
int init_neighbors(const IdDictMgr &dict_mgr)
Definition: LArMiniFCAL_ID.cxx:725
CaloIDHelper::HashGroup::end
id_iterator end() const
Return an end iterator over the group's Identifiers.
CaloIDHelper::HashGroup::range
id_range range() const
Return an iterator range over the group's Identifiers.
LArMiniFCAL_ID::mod_begin
id_iterator mod_begin() const
begin iterator over set of module Identifiers
Definition: LArMiniFCAL_ID.h:441
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
LArMiniFCAL_ID::m_PHI_INDEX
size_type m_PHI_INDEX
Definition: LArMiniFCAL_ID.h:254
index
Definition: index.py:1
LArMiniFCAL_ID::module
int module(const Identifier id) const
module [0]
Definition: LArMiniFCAL_ID.h:495
LArMiniFCAL_ID::m_module_impl
IdDictFieldImplementation m_module_impl
Definition: LArMiniFCAL_ID.h:269
LArID_Exception.h
LArMiniFCAL_ID::module_hash
IdentifierHash module_hash(Identifier module_id) const
create hash id from module id
Definition: LArMiniFCAL_ID.h:423
LArMiniFCAL_ID::LArMiniFCAL_ID
LArMiniFCAL_ID()
Definition: LArMiniFCAL_ID.cxx:26
CaloIDHelper::HashGroup::begin
id_iterator begin() const
Return a begin iterator over the group's Identifiers.
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:102
LArMiniFCAL_ID::depth
int depth(const Identifier id) const
depth [0,3]
Definition: LArMiniFCAL_ID.h:501
IdDictFieldImplementation::pack
void pack(int value, Identifier &id) const
Definition: IdDictFieldImplementation.h:173
LArMiniFCAL_ID::m_MODULE_INDEX
size_type m_MODULE_INDEX
Definition: LArMiniFCAL_ID.h:251
CaloIDHelper::region_id
Identifier region_id(IdentifierHash hashId) const
Return the region Identifier for a given hash code (no checking).
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:9
AtlasDetectorID::lar_field_value
int lar_field_value() const
Definition: AtlasDetectorID.h:609
LArMiniFCAL_ID::m_lar_impl
IdDictFieldImplementation m_lar_impl
Definition: LArMiniFCAL_ID.h:266
LArMiniFCAL_ID::size_type
Identifier::size_type size_type
Definition: LArMiniFCAL_ID.h:60
IdDictFieldImplementation::unpack
int unpack(Identifier id) const
Identifier manipulation methods.
Definition: IdDictFieldImplementation.h:147
LArMiniFCAL_ID::is_initialized
bool is_initialized() const
check whether LArMiniFCAL ID helper has been initialized - returns false if description is not availa...
Definition: LArMiniFCAL_ID.h:289
LArMiniFCAL_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: LArMiniFCAL_ID.cxx:405
LArMiniFCAL_ID::m_depth_impl
IdDictFieldImplementation m_depth_impl
Definition: LArMiniFCAL_ID.h:270
CaloIDHelper::regions
const HashGroup & regions() const
Return the HashGroup for regions.
IdDictFieldImplementation::reset
void reset(Identifier &id) const
Definition: IdDictFieldImplementation.h:183
IdDictDefs.h
CaloIDHelper::size_type
Identifier::size_type size_type
Definition: CaloIDHelper.h:39
python.PyAthena.module
module
Definition: PyAthena.py:131
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
LArMiniFCAL_ID::phi_min
int phi_min(const Identifier regId) const
min value of phi index (-999 == failure)
Definition: LArMiniFCAL_ID.h:522
LArMiniFCAL_ID::NOT_VALID_HASH
@ NOT_VALID_HASH
Definition: LArMiniFCAL_ID.h:202
LArMiniFCAL_ID::phi_min_init
int phi_min_init(const Identifier regId) const
Definition: LArMiniFCAL_ID.cxx:90
CaloIDHelper::region_hash_max
size_type region_hash_max() const
One more than the largest region hash code.
LArMiniFCAL_ID::phi
int phi(const Identifier id) const
phi [0,15]
Definition: LArMiniFCAL_ID.h:515
LArMiniFCAL_ID::id_iterator
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
Definition: LArMiniFCAL_ID.h:112
LArMiniFCAL_ID::m_pn_impl
IdDictFieldImplementation m_pn_impl
Definition: LArMiniFCAL_ID.h:268
CaloIDHelper::HashGroup::ids
const std::vector< Identifier > & ids() const
Return a vector of all Identifiers for this group.
CaloIDHelper
Base class to factor out code common among Calo ID helpers.
Definition: CaloIDHelper.h:34
LArMiniFCAL_ID::init_hashes
int init_hashes()
Definition: LArMiniFCAL_ID.cxx:627
LArMiniFCAL_ID::m_LAR_INDEX
size_type m_LAR_INDEX
Definition: LArMiniFCAL_ID.h:248
LArMiniFCAL_ID::m_pn_mod_impl
IdDictFieldImplementation m_pn_mod_impl
Definition: LArMiniFCAL_ID.h:274
LArMiniFCAL_ID::m_POSNEG_INDEX
size_type m_POSNEG_INDEX
Definition: LArMiniFCAL_ID.h:250
LArMiniFCAL_ID::mod_range
id_range mod_range() const
range over set of module Identifiers
Definition: LArMiniFCAL_ID.h:453
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:121
LArMiniFCAL_ID::m_neighbors_3d_next_vec
std::vector< std::set< IdentifierHash > > m_neighbors_3d_next_vec
Definition: LArMiniFCAL_ID.h:207
LArMiniFCAL_ID::~LArMiniFCAL_ID
~LArMiniFCAL_ID()
LArMiniFCAL_ID::module_id
Identifier module_id(const ExpandedIdentifier &exp_id) const
module identifier for a channel from ExpandedIdentifier
Definition: LArMiniFCAL_ID.h:296
LArMiniFCAL_ID::module_context
IdContext module_context() const
context for modules – method kept for backward compatibility.
Definition: LArMiniFCAL_ID.cxx:206
LArMiniFCAL_ID::init_neighbors_from_file
int init_neighbors_from_file(const std::string &filename, std::vector< std::set< IdentifierHash > > &vec)
Definition: LArMiniFCAL_ID.cxx:644
LArMiniFCAL_ID::module_id_checks
void module_id_checks(int pos_neg, int module) const
Definition: LArMiniFCAL_ID.cxx:350
LArMiniFCAL_ID::module_ids
const std::vector< Identifier > & module_ids() const
provide access to module id vector, accessed via hash
Definition: LArMiniFCAL_ID.h:483
MultiRange
A MultiRange combines several Ranges.
Definition: MultiRange.h:17
LArMiniFCAL_ID::mod_end
id_iterator mod_end() const
end iterator over set of module Identifiers
Definition: LArMiniFCAL_ID.h:447
LArMiniFCAL_ID::minifcal_begin
id_iterator minifcal_begin() const
begin iterator over full set of Fcal Identifiers for channels
Definition: LArMiniFCAL_ID.h:459
IdentifierHash.h
LArMiniFCAL_ID::m_MiniFCAL_INDEX
size_type m_MiniFCAL_INDEX
Definition: LArMiniFCAL_ID.h:249
LArMiniFCAL_ID::initLevelsFromDict
int initLevelsFromDict()
Definition: LArMiniFCAL_ID.cxx:425
Range
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
Definition: DetectorDescription/Identifier/Identifier/Range.h:29
LArMiniFCAL_ID::is_supercell
bool is_supercell(const Identifier channelId) const
Definition: LArMiniFCAL_ID.h:530
LArMiniFCAL_ID::m_vecOfCellInfo
std::vector< short int > m_vecOfCellInfo
Definition: LArMiniFCAL_ID.h:262
IdDictFieldImplementation.h
CaloIDHelper::channels
const HashGroup & channels() const
Return the HashGroup for channels (cells).
LArMiniFCAL_ID::init_neighbors_3d_next
int init_neighbors_3d_next(const std::string &filename)
Definition: LArMiniFCAL_ID.h:232
LArMiniFCAL_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 = all2D,...
Definition: LArMiniFCAL_ID.cxx:137
LArMiniFCAL_ID::pos_neg
int pos_neg(const Identifier id) const
pos_neg : +/- 2 (A/C side)
Definition: LArMiniFCAL_ID.h:489
LArMiniFCAL_ID::m_eta_impl
IdDictFieldImplementation m_eta_impl
Definition: LArMiniFCAL_ID.h:271
CaloIDHelper::channel_hash
IdentifierHash channel_hash(Identifier channelId) const
Convert a connected channel (cell) Identifier to a hash code.
LArMiniFCAL_ID
Helper class for LArMiniFCAL offline identifiers.
Definition: LArMiniFCAL_ID.h:57
LArMiniFCAL_ID::m_neighbors_3d_prev_vec
std::vector< std::set< IdentifierHash > > m_neighbors_3d_prev_vec
Definition: LArMiniFCAL_ID.h:208
LArMiniFCAL_ID::initialize_from_dictionary
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
initialization from the identifier dictionary
Definition: LArMiniFCAL_ID.cxx:211
LArMiniFCAL_ID::m_fcal_region_index
size_type m_fcal_region_index
Definition: LArMiniFCAL_ID.h:247
CaloIDHelper.h
Base class to factor out code common among Calo ID helpers.
LArMiniFCAL_ID::m_phi_impl
IdDictFieldImplementation m_phi_impl
Definition: LArMiniFCAL_ID.h:272
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
LArMiniFCAL_ID::m_two_sym_sides
bool m_two_sym_sides
Definition: LArMiniFCAL_ID.h:260
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:23
LArMiniFCAL_ID::minifcal_end
id_iterator minifcal_end() const
end iterator over full set of Fcal Identifiers for channels
Definition: LArMiniFCAL_ID.h:465
LArMiniFCAL_ID::m_vecOfPhiMin
std::vector< short int > m_vecOfPhiMin
Definition: LArMiniFCAL_ID.h:263
LArMiniFCAL_ID::channel_id
Identifier channel_id(const ExpandedIdentifier &exp_id) const
cell identifier for a channel from ExpandedIdentifier
Definition: LArMiniFCAL_ID.h:304
LArMiniFCAL_ID::m_full_depth_range
MultiRange m_full_depth_range
Definition: LArMiniFCAL_ID.h:258
LArMiniFCAL_ID::phi_max
int phi_max(const Identifier regId) const
max value of phi index (-999 == failure)
Definition: LArMiniFCAL_ID.cxx:116
LArMiniFCAL_ID::m_neighbors_2d_vec
std::vector< std::set< IdentifierHash > > m_neighbors_2d_vec
Definition: LArMiniFCAL_ID.h:206
LArMiniFCAL_ID::m_DEPTH_INDEX
size_type m_DEPTH_INDEX
Definition: LArMiniFCAL_ID.h:252
LArMiniFCAL_ID::init_neighbors_3d_prev
int init_neighbors_3d_prev(const std::string &filename)
Definition: LArMiniFCAL_ID.h:237
Identifier::size_type
unsigned long long size_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:29
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
LArNeighbours.h
LArMiniFCAL_ID::m_fcal_impl
IdDictFieldImplementation m_fcal_impl
Definition: LArMiniFCAL_ID.h:267
LArMiniFCAL_ID::init_neighbors_2d
int init_neighbors_2d(const std::string &filename)
Definition: LArMiniFCAL_ID.h:227
LArMiniFCAL_ID::eta_min
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
Definition: LArMiniFCAL_ID.cxx:43
LArMiniFCAL_ID::channel_id_checks
void channel_id_checks(int pos_neg, int module, int depth, int eta, int phi) const
Definition: LArMiniFCAL_ID.cxx:366
AtlasDetectorID::do_checks
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
Definition: AtlasDetectorID.cxx:471
LArMiniFCAL_ID::eta
int eta(const Identifier id) const
eta [0,63] module 1 ; [0,31] module 2 ; [0,15] module 3
Definition: LArMiniFCAL_ID.h:508
LArMiniFCAL_ID::minifcal_range
id_range minifcal_range() const
range over full set of Fcal Identifiers for channels
Definition: LArMiniFCAL_ID.h:471
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
LArMiniFCAL_ID::module_hash_max
size_type module_hash_max() const
region hash table max size
Definition: LArMiniFCAL_ID.h:435
CLASS_DEF.h
macros to associate a CLID to a type
CaloIDHelper::region_hash
IdentifierHash region_hash(Identifier regionId) const
Convert a connected region Identifier to a hash code.
AtlasDetectorID::lar_fcal_field_value
int lar_fcal_field_value() const
Definition: AtlasDetectorID.h:645
LArMiniFCAL_ID::channel_hash_binary_search
IdentifierHash channel_hash_binary_search(Identifier channelId) const
create hash id from channel id – method NOT optimised, please use channel_hash() above
Definition: LArMiniFCAL_ID.h:429
CaloIDHelper::channel_id
Identifier channel_id(IdentifierHash hashId) const
Return the channel (cell) Identifier for a given hash code (no checking).
Identifier
Definition: IdentifierFieldParser.cxx:14