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 "AthenaKernel/CLASS_DEF.h"
13 #include "boost/range/iterator_range.hpp"
14 #include <vector>
15 #include <algorithm>
16 #include <set>
17 class IdDictMgr;
18 
19 
51 {
52 public:
53 
55 
57 
59 
62  bool is_initialized() const;
63 
65  Identifier module_id (const ExpandedIdentifier& exp_id) const ;
66 
68  Identifier channel_id (const ExpandedIdentifier& exp_id) const ;
69 
71  Identifier module_id ( int pos_neg, int module ) const ;
72  Identifier module_id ( int pos_neg, int module, bool checks ) const ;
73 
75  Identifier channel_id( int pos_neg, int module, int depth,
76  int eta, int phi ) const ;
77  Identifier channel_id( int pos_neg, int module, int depth,
78  int eta, int phi, bool checks ) const ;
79 
82  Identifier module_id (const Identifier id ) const;
83 
86  Identifier channel_id( const Identifier moduleId, int depth,
87  int eta, int phi) const ;
88  Identifier channel_id( const Identifier moduleId, int depth,
89  int eta, int phi, bool checks) const ;
90 
91  bool is_supercell (const Identifier channelId) const;
92 
94  Identifier module_id (IdentifierHash module_hash_id) const;
95 
98 
101 
103  size_type module_hash_max () const;
104 
106  typedef std::vector<Identifier>::const_iterator id_iterator;
108  typedef boost::iterator_range<id_iterator> id_range;
109 
111  id_iterator mod_begin () const;
113  id_iterator mod_end () const;
115  id_range mod_range () const;
116 
118  id_iterator minifcal_begin () const;
120  id_iterator minifcal_end () const;
122  id_range minifcal_range () const;
123 
125  const std::vector<Identifier>& channel_ids() const;
126 
128  const std::vector<Identifier>& module_ids() const;
129 
130 
132  int pos_neg (const Identifier id)const;
134  int module (const Identifier id)const;
136  int depth (const Identifier id)const;
138  int eta (const Identifier id)const;
140  int phi (const Identifier id)const;
141 
144  int eta_min(const Identifier regId) const;
147  int eta_max(const Identifier regId) const;
150  int phi_min(const Identifier regId) const;
153  int phi_max(const Identifier regId) const;
154 
159  int get_neighbours(const IdentifierHash id, const LArNeighbours::neighbourOption& option, std::vector<IdentifierHash>& neighbourList) const;
160 
163  IdContext module_context () const;
164 
166  virtual int initialize_from_dictionary (const IdDictMgr& dict_mgr);
167 
170  // Inherited from CaloIDHelper:
171  //
172  //Identifier channel_id (IdentifierHash hashId) const;
173  //Identifier region_id (IdentifierHash hashId) const;
174  //IdentifierHash channel_hash (Identifier channelId) const;
175  //IdentifierHash region_hash (Identifier regionId) const;
176  //size_type channel_hash_max() const;
177  //size_type region_hash_max() const;
178  //IdContext channel_context() const;
179  //IdContext region_context() const;
180  //const std::vector<const IdDictRegion*>& dictRegions() const;
181  //float etaGranularity(const IdentifierHash regHash) const;
182  //float phiGranularity(const IdentifierHash regHash) const;
183  //float eta0(const IdentifierHash regHash) const;
184  //float phi0(const IdentifierHash regHash) const;
185  //virtual int get_id (const IdentifierHash& hash_id,
186  // Identifier& id,
187  // const IdContext* context = 0 ) const;
188  //virtual int get_hash (const Identifier& id,
189  // IdentifierHash& hash_id,
190  // const IdContext* context = 0 ) const;
191 
192 
193 private:
194 
195 
196  enum {NOT_VALID_HASH = 64000};
197 
198  int phi_min_init(const Identifier regId) const;
199 
200  std::vector<std::set<IdentifierHash> > m_neighbors_2d_vec;
201  std::vector<std::set<IdentifierHash> > m_neighbors_3d_next_vec;
202  std::vector<std::set<IdentifierHash> > m_neighbors_3d_prev_vec;
203 
204  // Check methods
205 
206  void module_id_checks ( int pos_neg, int module ) const;
207  void channel_id_checks ( int pos_neg, int module,
208  int depth, int eta, int phi ) const;
209  void channel_id_checks ( const Identifier moduleId,
210  int depth, int eta, int phi) const;
211 
213  virtual int get_expanded_id (const Identifier& id, ExpandedIdentifier& exp_id, const IdContext* context) const;
214 
215  int initLevelsFromDict();
216 
217  int init_hashes();
218 
219  int init_neighbors_from_file(const std::string& filename, std::vector<std::set<IdentifierHash> > &vec);
220 
221  int init_neighbors_2d(const std::string& filename)
222  {
224  }
225 
226  int init_neighbors_3d_next(const std::string& filename)
227  {
229  }
230 
231  int init_neighbors_3d_prev(const std::string& filename)
232  {
234  }
235 
236  int init_neighbors(const IdDictMgr& dict_mgr) ;
237 
238  // flag to protect for when helper hasn't been able to be
239  // initialized - no description in xml dictionary
249 
253 
255 
256  std::vector<short int> m_vecOfCellInfo;
257  std::vector<short int> m_vecOfPhiMin;
258 
259 
267 
269 
270 };
271 
272 //using the macro below we can assign an identifier (and a version)
273 //This is required and checked at compile time when you try to record/retrieve
274 CLASS_DEF( LArMiniFCAL_ID , 79264204 , 1 )
275 
276 
277 //--------------------
278 // Inline definitions
279 //--------------------
280 
281 //----------------------------------------------------------------------------
282 inline bool
283 LArMiniFCAL_ID::is_initialized() const
284 {
285  return m_is_initialized;
286 }
287 
288 //----------------------------------------------------------------------------
289 inline Identifier
291 {
292  return this->module_id ( exp_id[m_POSNEG_INDEX],
293  exp_id[m_MODULE_INDEX] );
294 }
295 
296 //----------------------------------------------------------------------------
297 inline Identifier
299 {
300  return this->channel_id (exp_id[m_POSNEG_INDEX],
301  exp_id[m_MODULE_INDEX],
302  exp_id[m_DEPTH_INDEX],
303  exp_id[m_ETA_INDEX],
304  exp_id[m_PHI_INDEX]);
305 }
306 
307 //----------------------------------------------------------------------------
308 inline Identifier
309 LArMiniFCAL_ID::module_id (int pos_neg, int module, bool checks) const
310 {
311 
312  Identifier result(0);
313 
314  // Do checks
315  if(checks) {
317  }
318 
319  // Pack fields independently
324 
325  return result;
326 }
327 
328 inline Identifier
329 LArMiniFCAL_ID::module_id (int pos_neg, int module) const
330 {
331  return module_id (pos_neg, module, do_checks());
332 }
333 
334 //----------------------------------------------------------------------------
335 inline Identifier
336 LArMiniFCAL_ID::channel_id ( int pos_neg, int module, int depth,
337  int eta, int phi,
338  bool checks ) const
339 {
340 
341  // Do checks
342  if(checks) {
344  }
345 
346  Identifier result(0);
347  // Pack fields independently
355 
356  return result;
357 }
358 
359 inline Identifier
360 LArMiniFCAL_ID::channel_id ( int pos_neg, int module, int depth,
361  int eta, int phi ) const
362 {
363  return channel_id (pos_neg, module, depth, eta, phi, do_checks());
364 }
365 
366 //----------------------------------------------------------------------------
367 inline Identifier
369 {
370 
372  // reset depth/eta/phi
376  return (result);
377 }
378 
379 //----------------------------------------------------------------------------
380 inline Identifier
382  int eta, int phi,
383  bool checks) const
384 {
385  // Do checks
386  if(checks) {
388  }
389 
391 
392  // Reset the fields and then set the values
399 
400  return result;
401 }
402 
403 inline Identifier
405  int eta, int phi) const
406 {
407  return channel_id (module_id, depth, eta, phi, do_checks());
408 }
409 
410 //----------------------------------------------------------------------------
412 {
413  return region_id(module_hash_id);
414 }
415 
416 //----------------------------------------------------------------------------
418 {
419  return region_hash (module_id);
420 }
421 
422 //----------------------------------------------------------------------------
424 {
425  return channel_hash (channelId);
426 }
427 
428 //----------------------------------------------------------------------------
430 {
431  return region_hash_max();
432 }
433 
434 //----------------------------------------------------------------------------
436 {
437  return regions().begin();
438 }
439 
440 //----------------------------------------------------------------------------
442 {
443  return regions().end();
444 }
445 
446 //----------------------------------------------------------------------------
448 {
449  return regions().range();
450 }
451 
452 //----------------------------------------------------------------------------
454 {
455  return channels().begin();
456 }
457 
458 //----------------------------------------------------------------------------
460 {
461  return channels().end();
462 }
463 
464 //----------------------------------------------------------------------------
466 {
467  return channels().range();
468 }
469 
470 //----------------------------------------------------------------------------
471 inline const std::vector<Identifier>& LArMiniFCAL_ID::channel_ids() const
472 {
473  return channels().ids();
474 }
475 
476 //----------------------------------------------------------------------------
477 inline const std::vector<Identifier>& LArMiniFCAL_ID::module_ids() const
478 {
479  return regions().ids();
480 }
481 
482 //----------------------------------------------------------------------------
483 inline int LArMiniFCAL_ID::pos_neg (const Identifier id)const
484 {
485  return (m_pn_impl.unpack(id));
486 }
487 
488 //----------------------------------------------------------------------------
489 inline int LArMiniFCAL_ID::module (const Identifier id)const
490 {
491  return (m_module_impl.unpack(id));
492 }
493 
494 //----------------------------------------------------------------------------
495 inline int LArMiniFCAL_ID::depth (const Identifier id)const
496 {
497  int result = m_depth_impl.unpack(id);
498  return(result);
499 }
500 
501 //----------------------------------------------------------------------------
502 inline int LArMiniFCAL_ID::eta (const Identifier id)const
503 {
504  int result = m_eta_impl.unpack(id);
505  return(result);
506 }
507 
508 //----------------------------------------------------------------------------
509 inline int LArMiniFCAL_ID::phi(const Identifier id)const
510 {
511  int result = m_phi_impl.unpack(id);
512  return(result);
513 }
514 
515 //----------------------------------------------------------------------------
516 inline int LArMiniFCAL_ID::phi_min(const Identifier modId) const
517 {
518  IdentifierHash modHash = module_hash(modId);
519  unsigned int index = modHash;
520  return (m_vecOfPhiMin[index]);
521 }
522 
523 //----------------------------------------------------------------------------
524 inline bool LArMiniFCAL_ID::is_supercell(const Identifier /*channelId*/) const
525 {
526  return false;
527 }
528 
529 #endif // LARMiniFCAL_ID_H
LArMiniFCAL_ID::m_is_initialized
bool m_is_initialized
Definition: LArMiniFCAL_ID.h:240
LArMiniFCAL_ID::eta_max
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
Definition: LArMiniFCAL_ID.cxx:73
LArNeighbours::neighbourOption
neighbourOption
Definition: LArNeighbours.h:12
LArMiniFCAL_ID::m_full_module_range
MultiRange m_full_module_range
Definition: LArMiniFCAL_ID.h:251
LArMiniFCAL_ID::channel_ids
const std::vector< Identifier > & channel_ids() const
provide access to channel id vector, accessed via hash
Definition: LArMiniFCAL_ID.h:471
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:250
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:247
LArMiniFCAL_ID::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: LArMiniFCAL_ID.h:108
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:729
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:435
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
LArMiniFCAL_ID::m_PHI_INDEX
size_type m_PHI_INDEX
Definition: LArMiniFCAL_ID.h:248
index
Definition: index.py:1
LArMiniFCAL_ID::module
int module(const Identifier id) const
module [0]
Definition: LArMiniFCAL_ID.h:489
LArMiniFCAL_ID::m_module_impl
IdDictFieldImplementation m_module_impl
Definition: LArMiniFCAL_ID.h:263
LArMiniFCAL_ID::module_hash
IdentifierHash module_hash(Identifier module_id) const
create hash id from module id
Definition: LArMiniFCAL_ID.h:417
LArMiniFCAL_ID::LArMiniFCAL_ID
LArMiniFCAL_ID()
Definition: LArMiniFCAL_ID.cxx:30
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:495
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:245
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:260
LArMiniFCAL_ID::size_type
Identifier::size_type size_type
Definition: LArMiniFCAL_ID.h:54
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:283
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:409
LArMiniFCAL_ID::m_depth_impl
IdDictFieldImplementation m_depth_impl
Definition: LArMiniFCAL_ID.h:264
CaloIDHelper::regions
const HashGroup & regions() const
Return the HashGroup for regions.
IdDictFieldImplementation::reset
void reset(Identifier &id) const
Definition: IdDictFieldImplementation.h:183
CaloIDHelper::size_type
Identifier::size_type size_type
Definition: CaloIDHelper.h:39
python.PyAthena.module
module
Definition: PyAthena.py:131
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:516
LArMiniFCAL_ID::NOT_VALID_HASH
@ NOT_VALID_HASH
Definition: LArMiniFCAL_ID.h:196
LArMiniFCAL_ID::phi_min_init
int phi_min_init(const Identifier regId) const
Definition: LArMiniFCAL_ID.cxx:94
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:509
LArMiniFCAL_ID::id_iterator
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
Definition: LArMiniFCAL_ID.h:106
LArMiniFCAL_ID::m_pn_impl
IdDictFieldImplementation m_pn_impl
Definition: LArMiniFCAL_ID.h:262
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:631
LArMiniFCAL_ID::m_LAR_INDEX
size_type m_LAR_INDEX
Definition: LArMiniFCAL_ID.h:242
LArMiniFCAL_ID::m_pn_mod_impl
IdDictFieldImplementation m_pn_mod_impl
Definition: LArMiniFCAL_ID.h:268
LArMiniFCAL_ID::m_POSNEG_INDEX
size_type m_POSNEG_INDEX
Definition: LArMiniFCAL_ID.h:244
LArMiniFCAL_ID::mod_range
id_range mod_range() const
range over set of module Identifiers
Definition: LArMiniFCAL_ID.h:447
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:201
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:290
LArMiniFCAL_ID::module_context
IdContext module_context() const
context for modules – method kept for backward compatibility.
Definition: LArMiniFCAL_ID.cxx:210
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:648
LArMiniFCAL_ID::module_id_checks
void module_id_checks(int pos_neg, int module) const
Definition: LArMiniFCAL_ID.cxx:354
LArMiniFCAL_ID::module_ids
const std::vector< Identifier > & module_ids() const
provide access to module id vector, accessed via hash
Definition: LArMiniFCAL_ID.h:477
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:441
LArMiniFCAL_ID::minifcal_begin
id_iterator minifcal_begin() const
begin iterator over full set of Fcal Identifiers for channels
Definition: LArMiniFCAL_ID.h:453
IdentifierHash.h
LArMiniFCAL_ID::m_MiniFCAL_INDEX
size_type m_MiniFCAL_INDEX
Definition: LArMiniFCAL_ID.h:243
LArMiniFCAL_ID::initLevelsFromDict
int initLevelsFromDict()
Definition: LArMiniFCAL_ID.cxx:429
LArMiniFCAL_ID::is_supercell
bool is_supercell(const Identifier channelId) const
Definition: LArMiniFCAL_ID.h:524
LArMiniFCAL_ID::m_vecOfCellInfo
std::vector< short int > m_vecOfCellInfo
Definition: LArMiniFCAL_ID.h:256
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:226
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:141
LArMiniFCAL_ID::pos_neg
int pos_neg(const Identifier id) const
pos_neg : +/- 2 (A/C side)
Definition: LArMiniFCAL_ID.h:483
LArMiniFCAL_ID::m_eta_impl
IdDictFieldImplementation m_eta_impl
Definition: LArMiniFCAL_ID.h:265
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:51
LArMiniFCAL_ID::m_neighbors_3d_prev_vec
std::vector< std::set< IdentifierHash > > m_neighbors_3d_prev_vec
Definition: LArMiniFCAL_ID.h:202
LArMiniFCAL_ID::initialize_from_dictionary
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
initialization from the identifier dictionary
Definition: LArMiniFCAL_ID.cxx:215
LArMiniFCAL_ID::m_fcal_region_index
size_type m_fcal_region_index
Definition: LArMiniFCAL_ID.h:241
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:266
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:254
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:459
LArMiniFCAL_ID::m_vecOfPhiMin
std::vector< short int > m_vecOfPhiMin
Definition: LArMiniFCAL_ID.h:257
LArMiniFCAL_ID::channel_id
Identifier channel_id(const ExpandedIdentifier &exp_id) const
cell identifier for a channel from ExpandedIdentifier
Definition: LArMiniFCAL_ID.h:298
LArMiniFCAL_ID::m_full_depth_range
MultiRange m_full_depth_range
Definition: LArMiniFCAL_ID.h:252
LArMiniFCAL_ID::phi_max
int phi_max(const Identifier regId) const
max value of phi index (-999 == failure)
Definition: LArMiniFCAL_ID.cxx:120
LArMiniFCAL_ID::m_neighbors_2d_vec
std::vector< std::set< IdentifierHash > > m_neighbors_2d_vec
Definition: LArMiniFCAL_ID.h:200
LArMiniFCAL_ID::m_DEPTH_INDEX
size_type m_DEPTH_INDEX
Definition: LArMiniFCAL_ID.h:246
LArMiniFCAL_ID::init_neighbors_3d_prev
int init_neighbors_3d_prev(const std::string &filename)
Definition: LArMiniFCAL_ID.h:231
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:261
LArMiniFCAL_ID::init_neighbors_2d
int init_neighbors_2d(const std::string &filename)
Definition: LArMiniFCAL_ID.h:221
LArMiniFCAL_ID::eta_min
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
Definition: LArMiniFCAL_ID.cxx:47
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:370
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:476
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:502
LArMiniFCAL_ID::minifcal_range
id_range minifcal_range() const
range over full set of Fcal Identifiers for channels
Definition: LArMiniFCAL_ID.h:465
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:429
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:423
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