ATLAS Offline Software
LArMiniFCAL_ID.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 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 
62  LArMiniFCAL_ID(void);
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 (void) 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 (void) 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(void) ;
222 
223  int init_hashes(void) ;
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
256 
260 
262 
263  std::vector<short int> m_vecOfCellInfo;
264  std::vector<short int> m_vecOfPhiMin;
265 
266 
274 
276 
277 };
278 
279 //using the macro below we can assign an identifier (and a version)
280 //This is required and checked at compile time when you try to record/retrieve
281 CLASS_DEF( LArMiniFCAL_ID , 79264204 , 1 )
282 
283 
284 //--------------------
285 // Inline definitions
286 //--------------------
287 
288 //----------------------------------------------------------------------------
289 inline bool
290 LArMiniFCAL_ID::is_initialized() const
291 {
292  return m_is_initialized;
293 }
294 
295 //----------------------------------------------------------------------------
296 inline Identifier
298 {
299  return this->module_id ( exp_id[m_POSNEG_INDEX],
300  exp_id[m_MODULE_INDEX] );
301 }
302 
303 //----------------------------------------------------------------------------
304 inline Identifier
306 {
307  return this->channel_id (exp_id[m_POSNEG_INDEX],
308  exp_id[m_MODULE_INDEX],
309  exp_id[m_DEPTH_INDEX],
310  exp_id[m_ETA_INDEX],
311  exp_id[m_PHI_INDEX]);
312 }
313 
314 //----------------------------------------------------------------------------
315 inline Identifier
316 LArMiniFCAL_ID::module_id (int pos_neg, int module, bool checks) const
317 {
318 
319  Identifier result(0);
320 
321  // Do checks
322  if(checks) {
324  }
325 
326  // Pack fields independently
331 
332  return result;
333 }
334 
335 inline Identifier
336 LArMiniFCAL_ID::module_id (int pos_neg, int module) const
337 {
338  return module_id (pos_neg, module, do_checks());
339 }
340 
341 //----------------------------------------------------------------------------
342 inline Identifier
343 LArMiniFCAL_ID::channel_id ( int pos_neg, int module, int depth,
344  int eta, int phi,
345  bool checks ) const
346 {
347 
348  // Do checks
349  if(checks) {
351  }
352 
353  Identifier result(0);
354  // Pack fields independently
362 
363  return result;
364 }
365 
366 inline Identifier
367 LArMiniFCAL_ID::channel_id ( int pos_neg, int module, int depth,
368  int eta, int phi ) const
369 {
370  return channel_id (pos_neg, module, depth, eta, phi, do_checks());
371 }
372 
373 //----------------------------------------------------------------------------
374 inline Identifier
376 {
377 
379  // reset depth/eta/phi
383  return (result);
384 }
385 
386 //----------------------------------------------------------------------------
387 inline Identifier
389  int eta, int phi,
390  bool checks) const
391 {
392  // Do checks
393  if(checks) {
395  }
396 
398 
399  // Reset the fields and then set the values
406 
407  return result;
408 }
409 
410 inline Identifier
412  int eta, int phi) const
413 {
414  return channel_id (module_id, depth, eta, phi, do_checks());
415 }
416 
417 //----------------------------------------------------------------------------
419 {
420  return region_id(module_hash_id);
421 }
422 
423 //----------------------------------------------------------------------------
425 {
426  return region_hash (module_id);
427 }
428 
429 //----------------------------------------------------------------------------
431 {
432  return channel_hash (channelId);
433 }
434 
435 //----------------------------------------------------------------------------
437 {
438  return region_hash_max();
439 }
440 
441 //----------------------------------------------------------------------------
443 {
444  return regions().begin();
445 }
446 
447 //----------------------------------------------------------------------------
449 {
450  return regions().end();
451 }
452 
453 //----------------------------------------------------------------------------
455 {
456  return regions().range();
457 }
458 
459 //----------------------------------------------------------------------------
461 {
462  return channels().begin();
463 }
464 
465 //----------------------------------------------------------------------------
467 {
468  return channels().end();
469 }
470 
471 //----------------------------------------------------------------------------
473 {
474  return channels().range();
475 }
476 
477 //----------------------------------------------------------------------------
478 inline const std::vector<Identifier>& LArMiniFCAL_ID::channel_ids() const
479 {
480  return channels().ids();
481 }
482 
483 //----------------------------------------------------------------------------
484 inline const std::vector<Identifier>& LArMiniFCAL_ID::module_ids() const
485 {
486  return regions().ids();
487 }
488 
489 //----------------------------------------------------------------------------
490 inline int LArMiniFCAL_ID::pos_neg (const Identifier id)const
491 {
492  return (m_pn_impl.unpack(id));
493 }
494 
495 //----------------------------------------------------------------------------
496 inline int LArMiniFCAL_ID::module (const Identifier id)const
497 {
498  return (m_module_impl.unpack(id));
499 }
500 
501 //----------------------------------------------------------------------------
502 inline int LArMiniFCAL_ID::depth (const Identifier id)const
503 {
504  int result = m_depth_impl.unpack(id);
505  return(result);
506 }
507 
508 //----------------------------------------------------------------------------
509 inline int LArMiniFCAL_ID::eta (const Identifier id)const
510 {
511  int result = m_eta_impl.unpack(id);
512  return(result);
513 }
514 
515 //----------------------------------------------------------------------------
516 inline int LArMiniFCAL_ID::phi(const Identifier id)const
517 {
518  int result = m_phi_impl.unpack(id);
519  return(result);
520 }
521 
522 //----------------------------------------------------------------------------
523 inline int LArMiniFCAL_ID::phi_min(const Identifier modId) const
524 {
525  IdentifierHash modHash = module_hash(modId);
526  unsigned int index = modHash;
527  return (m_vecOfPhiMin[index]);
528 }
529 
530 //----------------------------------------------------------------------------
531 inline bool LArMiniFCAL_ID::is_supercell(const Identifier /*channelId*/) const
532 {
533  return false;
534 }
535 
536 #endif // LARMiniFCAL_ID_H
LArMiniFCAL_ID::m_is_initialized
bool m_is_initialized
Definition: LArMiniFCAL_ID.h:246
LArMiniFCAL_ID::module_context
IdContext module_context(void) const
context for modules – method kept for backward compatibility.
Definition: LArMiniFCAL_ID.cxx:208
LArMiniFCAL_ID::eta_max
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
Definition: LArMiniFCAL_ID.cxx:71
LArNeighbours::neighbourOption
neighbourOption
Definition: LArNeighbours.h:12
LArMiniFCAL_ID::m_full_module_range
MultiRange m_full_module_range
Definition: LArMiniFCAL_ID.h:258
LArMiniFCAL_ID::channel_ids
const std::vector< Identifier > & channel_ids() const
provide access to channel id vector, accessed via hash
Definition: LArMiniFCAL_ID.h:478
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:257
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:254
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:64
LArMiniFCAL_ID::init_neighbors
int init_neighbors(const IdDictMgr &dict_mgr)
Definition: LArMiniFCAL_ID.cxx:733
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:442
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
LArMiniFCAL_ID::m_PHI_INDEX
size_type m_PHI_INDEX
Definition: LArMiniFCAL_ID.h:255
index
Definition: index.py:1
LArMiniFCAL_ID::LArMiniFCAL_ID
LArMiniFCAL_ID(void)
Definition: LArMiniFCAL_ID.cxx:26
LArMiniFCAL_ID::module
int module(const Identifier id) const
module [0]
Definition: LArMiniFCAL_ID.h:496
LArMiniFCAL_ID::m_module_impl
IdDictFieldImplementation m_module_impl
Definition: LArMiniFCAL_ID.h:270
LArID_Exception.h
LArMiniFCAL_ID::module_hash
IdentifierHash module_hash(Identifier module_id) const
create hash id from module id
Definition: LArMiniFCAL_ID.h:424
CaloIDHelper::HashGroup::begin
id_iterator begin() const
Return a begin iterator over the group's Identifiers.
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:108
LArMiniFCAL_ID::depth
int depth(const Identifier id) const
depth [0,3]
Definition: LArMiniFCAL_ID.h:502
IdDictFieldImplementation::pack
void pack(int value, Identifier &id) const
Definition: IdDictFieldImplementation.h:174
LArMiniFCAL_ID::~LArMiniFCAL_ID
~LArMiniFCAL_ID(void)
LArMiniFCAL_ID::m_MODULE_INDEX
size_type m_MODULE_INDEX
Definition: LArMiniFCAL_ID.h:252
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:12
AtlasDetectorID::lar_field_value
int lar_field_value() const
Definition: AtlasDetectorID.h:614
LArMiniFCAL_ID::m_lar_impl
IdDictFieldImplementation m_lar_impl
Definition: LArMiniFCAL_ID.h:267
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:148
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:290
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:407
LArMiniFCAL_ID::m_depth_impl
IdDictFieldImplementation m_depth_impl
Definition: LArMiniFCAL_ID.h:271
CaloIDHelper::regions
const HashGroup & regions() const
Return the HashGroup for regions.
IdDictFieldImplementation::reset
void reset(Identifier &id) const
Definition: IdDictFieldImplementation.h:184
IdDictDefs.h
CaloIDHelper::size_type
Identifier::size_type size_type
Definition: CaloIDHelper.h:41
python.PyAthena.module
module
Definition: PyAthena.py:134
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
LArMiniFCAL_ID::phi_min
int phi_min(const Identifier regId) const
min value of phi index (-999 == failure)
Definition: LArMiniFCAL_ID.h:523
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:92
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:516
LArMiniFCAL_ID::module_hash_max
size_type module_hash_max(void) const
region hash table max size
Definition: LArMiniFCAL_ID.h:436
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:269
CaloIDHelper::HashGroup::ids
const std::vector< Identifier > & ids() const
Return a vector of all Identifiers for this group.
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
CaloIDHelper
Base class to factor out code common among Calo ID helpers.
Definition: CaloIDHelper.h:36
LArMiniFCAL_ID::m_minifcal_region_index
size_type m_minifcal_region_index
Definition: LArMiniFCAL_ID.h:248
LArMiniFCAL_ID::m_LAR_INDEX
size_type m_LAR_INDEX
Definition: LArMiniFCAL_ID.h:249
LArMiniFCAL_ID::m_pn_mod_impl
IdDictFieldImplementation m_pn_mod_impl
Definition: LArMiniFCAL_ID.h:275
LArMiniFCAL_ID::m_POSNEG_INDEX
size_type m_POSNEG_INDEX
Definition: LArMiniFCAL_ID.h:251
LArMiniFCAL_ID::mod_range
id_range mod_range() const
range over set of module Identifiers
Definition: LArMiniFCAL_ID.h:454
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
LArMiniFCAL_ID::m_neighbors_3d_next_vec
std::vector< std::set< IdentifierHash > > m_neighbors_3d_next_vec
Definition: LArMiniFCAL_ID.h:207
LArMiniFCAL_ID::module_id
Identifier module_id(const ExpandedIdentifier &exp_id) const
module identifier for a channel from ExpandedIdentifier
Definition: LArMiniFCAL_ID.h:297
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:652
LArMiniFCAL_ID::module_id_checks
void module_id_checks(int pos_neg, int module) const
Definition: LArMiniFCAL_ID.cxx:352
LArMiniFCAL_ID::module_ids
const std::vector< Identifier > & module_ids() const
provide access to module id vector, accessed via hash
Definition: LArMiniFCAL_ID.h:484
MultiRange
A MultiRange combines several Ranges.
Definition: DetectorDescription/Identifier/Identifier/Range.h:351
LArMiniFCAL_ID::mod_end
id_iterator mod_end() const
end iterator over set of module Identifiers
Definition: LArMiniFCAL_ID.h:448
LArMiniFCAL_ID::minifcal_begin
id_iterator minifcal_begin() const
begin iterator over full set of Fcal Identifiers for channels
Definition: LArMiniFCAL_ID.h:460
IdentifierHash.h
LArMiniFCAL_ID::m_MiniFCAL_INDEX
size_type m_MiniFCAL_INDEX
Definition: LArMiniFCAL_ID.h:250
Range
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
Definition: DetectorDescription/Identifier/Identifier/Range.h:27
LArMiniFCAL_ID::is_supercell
bool is_supercell(const Identifier channelId) const
Definition: LArMiniFCAL_ID.h:531
LArMiniFCAL_ID::m_vecOfCellInfo
std::vector< short int > m_vecOfCellInfo
Definition: LArMiniFCAL_ID.h:263
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:139
LArMiniFCAL_ID::pos_neg
int pos_neg(const Identifier id) const
pos_neg : +/- 2 (A/C side)
Definition: LArMiniFCAL_ID.h:490
LArMiniFCAL_ID::m_eta_impl
IdDictFieldImplementation m_eta_impl
Definition: LArMiniFCAL_ID.h:272
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:213
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:273
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:64
LArMiniFCAL_ID::m_two_sym_sides
bool m_two_sym_sides
Definition: LArMiniFCAL_ID.h:261
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
LArMiniFCAL_ID::minifcal_end
id_iterator minifcal_end() const
end iterator over full set of Fcal Identifiers for channels
Definition: LArMiniFCAL_ID.h:466
LArMiniFCAL_ID::m_vecOfPhiMin
std::vector< short int > m_vecOfPhiMin
Definition: LArMiniFCAL_ID.h:264
Identifier::size_type
IDENTIFIER_TYPE size_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:41
LArMiniFCAL_ID::channel_id
Identifier channel_id(const ExpandedIdentifier &exp_id) const
cell identifier for a channel from ExpandedIdentifier
Definition: LArMiniFCAL_ID.h:305
LArMiniFCAL_ID::m_full_depth_range
MultiRange m_full_depth_range
Definition: LArMiniFCAL_ID.h:259
LArMiniFCAL_ID::phi_max
int phi_max(const Identifier regId) const
max value of phi index (-999 == failure)
Definition: LArMiniFCAL_ID.cxx:118
LArMiniFCAL_ID::init_hashes
int init_hashes(void)
Definition: LArMiniFCAL_ID.cxx:635
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:253
LArMiniFCAL_ID::init_neighbors_3d_prev
int init_neighbors_3d_prev(const std::string &filename)
Definition: LArMiniFCAL_ID.h:237
CaloIDHelper::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: CaloIDHelper.h:46
IdDictFieldImplementation
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
Definition: IdDictFieldImplementation.h:58
IdentifierHash
Definition: IdentifierHash.h:38
CaloIDHelper::id_iterator
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
Definition: CaloIDHelper.h:44
LArNeighbours.h
LArMiniFCAL_ID::m_fcal_impl
IdDictFieldImplementation m_fcal_impl
Definition: LArMiniFCAL_ID.h:268
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:45
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:368
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:728
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:509
LArMiniFCAL_ID::minifcal_range
id_range minifcal_range() const
range over full set of Fcal Identifiers for channels
Definition: LArMiniFCAL_ID.h:472
IdContext
class IdContext
Definition: IdContext.h:34
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:650
LArMiniFCAL_ID::initLevelsFromDict
int initLevelsFromDict(void)
Definition: LArMiniFCAL_ID.cxx:427
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:430
CaloIDHelper::channel_id
Identifier channel_id(IdentifierHash hashId) const
Return the channel (cell) Identifier for a given hash code (no checking).