ATLAS Offline Software
LArOnlineID_Base.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 LARONLINEID_BASE_H
6 #define LARONLINEID_BASE_H
7 
12 #include "Identifier/MultiRange.h"
13 #include "AthenaKernel/CLASS_DEF.h"
14 #include "boost/range/iterator_range.hpp"
15 #include <vector>
16 
17 
18 
19 
97 {
98  public:
99 
101 
103  using id_iterator = std::vector<HWIdentifier>::const_iterator;
105  using id_range = boost::iterator_range<id_iterator>;
106 
110  LArOnlineID_Base(const std::string& name,
111  const std::string& group,
112  bool is_slar);
116  virtual ~LArOnlineID_Base();
117 
123  bool checks) const;
124 
128  HWIdentifier feedthrough_Id(IdentifierHash feedthroughHash) const;
129 
133  IdentifierHash feedthrough_Hash(HWIdentifier feedthroughId) const;
134 
139  id_iterator feedthrough_end () const;
140  id_range feedthrough_range() const;
141 
142 
143 
148  int pos_neg,
149  int feedthrough,
150  int slot) const;
152  int pos_neg,
153  int feedthrough,
154  int slot,
155  bool checks) const;
159  HWIdentifier feb_Id(IdentifierHash febHash) const;
160 
164  IdentifierHash feb_Hash(HWIdentifier febId) const;
165 
169  id_iterator feb_begin() const;
170  id_iterator feb_end () const;
171  id_range feb_range() const;
172 
173 
174 
179  int pos_neg,
180  int feedthrough,
181  int slot,
182  int channel) const;
184  int pos_neg,
185  int feedthrough,
186  int slot,
187  int channel,
188  bool checks) const;
192  HWIdentifier channel_Id(IdentifierHash channelHash) const;
193 
198 
202  id_iterator channel_begin() const;
203  id_iterator channel_end () const;
204  id_range channel_range() const;
205 
206 
210  HWIdentifier feedthrough_Id(const HWIdentifier Id) const ;
218  HWIdentifier feb_Id(const HWIdentifier feedthroughId, int slot) const ;
222  HWIdentifier channel_Id(const HWIdentifier feedthroughId, int slot, int channel) const;
223  HWIdentifier channel_Id(const HWIdentifier feedthroughId, int slot, int channel,
224  bool checks) const;
228  HWIdentifier channel_Id(const HWIdentifier febId, int channel) const;
229  HWIdentifier channel_Id(const HWIdentifier febId, int channel,
230  bool checks) const;
231 
232 
236  size_type feedthroughHashMax () const;
240  size_type febHashMax () const;
244  size_type channelHashMax () const;
245 
250  int pos_neg,
251  int feedthrough,
252  int slot ) const;
256  HWIdentifier calib_module_Id(IdentifierHash calibModuleHash) const;
260  IdentifierHash calib_module_Hash(HWIdentifier calibModuleId) const;
261 
266  id_iterator calib_module_end () const;
268 
269 
274  int pos_neg,
275  int feedthrough,
276  int slot,
277  int channel ) const;
281  HWIdentifier calib_channel_Id(IdentifierHash calibChannelHash) const;
288 
289 
293  HWIdentifier calib_module_Id(const HWIdentifier ChannelId) const ;
297  HWIdentifier calib_module_Id(const HWIdentifier FeedthroughId, int slot) const ;
301  HWIdentifier calib_channel_Id(const HWIdentifier FeedthroughId, int slot, int channel ) const ;
305  HWIdentifier calib_channel_Id(const HWIdentifier febId, int ChannelId) const ;
306 
308 
312  size_type calibModuleHashMax () const;
313 
318 
319 
323  /* recommended methods */
324  bool isEMBchannel (const HWIdentifier id) const;
325  virtual bool isEMECchannel (const HWIdentifier id) const = 0; // differs for Main and DT
326  virtual bool isHECchannel (const HWIdentifier id) const = 0; // differs for Main and DT
327  bool isFCALchannel (const HWIdentifier id) const;
328  virtual bool isEMECIW (const HWIdentifier id) const = 0; // differs for Main and DT
329  virtual bool isEMECOW (const HWIdentifier id) const = 0; // differs for Main and DT
330  bool isEMBPS (const HWIdentifier id) const;
331  bool isEMECPS (const HWIdentifier id) const;
332  bool isPS (const HWIdentifier id) const;
333  bool isNotWarmCableConnected (const HWIdentifier id) const;
334  bool isCalibration (const HWIdentifier id) const;
335 
336  /* To be used with care */
337  bool isHecOnline (const HWIdentifier id) const;
338  bool isHecOnlineFebId (const HWIdentifier febId) const;
339  bool isEMECinHECchannel (const HWIdentifier id) const;
340 
341  /* obsolete */
342  bool isEmBarrelOnline (const HWIdentifier id) const;
343  bool isEmEndcapOnline (const HWIdentifier id) const;
344  bool isEndcapOnline (const HWIdentifier id) const;
345  bool isFcalOnline (const HWIdentifier id) const;
346  bool isEmEndcapStandardOnline (const HWIdentifier id) const;
347  bool isEmEndcapSpecialOnline (const HWIdentifier id) const;
348 
352  int channelInSlotMax (const HWIdentifier Id) const;
353 
357  std::string feedthrough_name(const HWIdentifier id ) const;
358 
362  std::string channel_name(const HWIdentifier id ) const;
363 
368  int barrel_ec(const HWIdentifier id)const;
369 
374  int pos_neg(const HWIdentifier id)const;
375 
383  int feedthrough(const HWIdentifier id)const;
384 
390  int slot(const HWIdentifier id)const;
391 
396  int channel(const HWIdentifier id)const;
397 
402  int is_slar(const HWIdentifier id)const;
403 
404 
408  bool isValidId(const HWIdentifier id) const;
409 
413  virtual int initialize_from_dictionary (const IdDictMgr& dict_mgr);
414 
415 
427  IdContext febContext() const;
431  IdContext channelContext() const;
432 
433 protected:
434 /*==== */
435 
436  enum {NOT_VALID_HASH = 256000};
438 
440 
442 
443  // Check methods
444  void channel_Id_checks(int barrel_ec,
445  int pos_neg,
446  int feedthrough,
447  int slot,
448  int channel ) const;
449 
450  void channel_Id_checks(const HWIdentifier feedthroughId,
451  int slot,
452  int channel ) const;
453 
454  void channel_Id_checks(const HWIdentifier febId,
455  int channel ) const;
456 
457  void feb_Id_checks(int barrel_ec, int pos_neg, int feedthrough, int slot ) const;
458 
459  void feedthrough_Id_checks(int barrel_ec, int pos_neg, int feedthrough ) const;
460 
462  int get_expanded_id (const HWIdentifier& id,
463  ExpandedIdentifier& exp_id,
464  const IdContext* context) const;
465  int get_expanded_calib_id (const HWIdentifier& id,
466  ExpandedIdentifier& exp_id,
467  const IdContext* context) const;
468  int initLevelsFromDict(const std::string& group_name) ;
469  int init_hashes();
470  int init_calib_hashes();
471 
472  size_type m_laronlineRegion_index; // LArOnline_region
475  size_type m_bec_index; // [0 Barrel, 1 Endcap]
476  size_type m_side_index; // [-1 negative-side, 1 positive-side]
477  size_type m_feedthrough_index; // [0,31] or [0,24]
481 
490 
491  std::vector<HWIdentifier> m_feedthrough_vec;
492  std::vector<HWIdentifier> m_feb_vec;
493  std::vector<HWIdentifier> m_channel_vec;
494 
495  /* Calib */
500  std::vector<HWIdentifier> m_calib_module_vec;
501  std::vector<HWIdentifier> m_calib_channel_vec;
502 
514 
518  class HashCalc
519  {
520  public:
521  HashCalc() : m_hash(0) {}
523  };
525  {
526  public:
527  HashCalcFeb() : m_hash(0) {}
529  std::vector<int> m_slot_values; // need to save slot values for enumerated slot field
530  };
531  std::vector<HashCalcFeb> m_feb_hash_calcs;
532  std::vector<HashCalc> m_chan_hash_calcs;
533 
534 };
535 
536 static const int s_lar_online_field_value = 4 ;
537 static const int s_lar_onlineCalib_field_value = 5 ;
538 
539 //=====================
540 // Inline Definitions
541 //=====================
542 
544 /*=============================================================================== */
545 {
546  std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_feb_vec.begin(),m_feb_vec.end(),febId);
547  if ( it != m_feb_vec.end() ){
548  return (it - m_feb_vec.begin());
549  }
550  return (0);
551 }
552 
553 
555 /*=========================================================================*/
556 {
557  std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_channel_vec.begin(),m_channel_vec.end(),channelId);
558  if ( it != m_channel_vec.end() ){
559  return (it - m_channel_vec.begin());
560  }
561  return(0) ;
562 }
563 
564 /* CALIB inline Identifiers */
565 /*==========================*/
566 
567 inline HWIdentifier LArOnlineID_Base::calib_module_Id(int barrel_ec, int pos_neg,
568  int feedthrough, int slot ) const
569 /*=============================================================== */
570 {
571  HWIdentifier result(0);
572  /*Pack fields independently */
573  m_lar_impl.pack (lar_field_value(), result);
574  m_laronline_impl.pack (5 , result);
575  m_bec_impl.pack (barrel_ec , result);
576  m_side_impl.pack (pos_neg , result);
577  m_feedthrough_impl.pack(feedthrough , result);
578  m_slot_impl.pack (slot , result);
579  return result;
580 }
581 
582 inline HWIdentifier LArOnlineID_Base::calib_module_Id(const HWIdentifier feedthroughId , int slot) const
583 /*==================================================================================== */
584 {
585  HWIdentifier result(feedthroughId);
586  /* Pack fields independently */
587  m_slot_impl.reset (result);
588  m_slot_impl.pack (slot , result);
589  return(result);
590 }
591 
593 /*======================================================================= */
594 {
595  HWIdentifier result(calibChannelId);
596  m_channel_in_slot_impl.reset(result);
597  return(result);
598 }
599 
601 /*=========================================================================== */
602 {
603  return(m_calib_module_vec[calibModuleHashId]);
604 }
605 
607 /*=============================================================================== */
608 {
609  std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_calib_module_vec.begin(),m_calib_module_vec.end(),calibModuleId);
610  if ( it != m_calib_module_vec.end() ){
611  return (it - m_calib_module_vec.begin());
612  }
613  return (0);
614 }
615 
616 inline HWIdentifier LArOnlineID_Base::calib_channel_Id( int barrel_ec, int pos_neg, int feedthrough,
617  int slot, int channel ) const
618 /*============================================================================== */
619 {
620  HWIdentifier result(0);
621  /* Pack fields independently */
622  m_lar_impl.pack (lar_field_value() , result);
623  m_laronline_impl.pack (5 , result);
624  m_bec_impl.pack (barrel_ec , result);
625  m_side_impl.pack (pos_neg , result);
626  m_feedthrough_impl.pack (feedthrough , result);
627  m_slot_impl.pack (slot , result);
628  m_channel_in_slot_impl.pack(channel , result);
629 
630  return result;
631 }
632 
633 inline HWIdentifier LArOnlineID_Base::calib_channel_Id(const HWIdentifier feedthroughId,int slot,int channel) const
634 /*==================================================================================================== */
635 {
636  HWIdentifier result(feedthroughId);
637  /* Pack fields independently */
638  m_slot_impl.reset (result);
639  m_channel_in_slot_impl.reset(result);
640  m_slot_impl.pack (slot , result);
641  m_channel_in_slot_impl.pack (channel, result);
642 
643  return result;
644 }
645 
647 /*======================================================================================= */
648 {
649  HWIdentifier result(febId);
650  /* Pack fields independently */
651  m_channel_in_slot_impl.reset(result);
652  m_channel_in_slot_impl.pack (channel, result);
653 
654  return result;
655 }
657 /*===================================================================*/
658 {
659  return(m_calib_channel_vec[channelHashId]);
660 }
661 
663 /*=========================================================================*/
664 {
665  std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_calib_channel_vec.begin(),m_calib_channel_vec.end(),channelId);
666  if ( it != m_calib_channel_vec.end() ){
667  return (it - m_calib_channel_vec.begin());
668  }
669  return(0) ;
670 }
671 
672 /* Calib */
674 /*=======================================================================*/
675 {
676  return m_calibModuleHashMax;
677 }
679 /*====================================================================*/
680 {
681  return m_calibChannelHashMax;
682 }
683 
684 
685 
686 
687 
688 /* Calib */
690 /*====================================================================*/
691 {
692  return(m_calib_module_vec.begin());
693 }
695 /*==================================================================*/
696 {
697  return(m_calib_module_vec.end());
698 }
700 /*==================================================================*/
701 {
703 }
704 
706 /*======================================================================*/
707 {
708  return(m_calib_channel_vec.begin());
709 }
711 /*======================================================================*/
712 {
713  return(m_calib_channel_vec.end());
714 }
716 /*======================================================================*/
717 {
719 }
720 
721 
722 
723 //using the macro below we can assign an identifier (and a version)
724 //This is required and checked at compile time when you try to record/retrieve
725 CLASS_DEF( LArOnlineID_Base , 28598761 , 1 )
726 
727 
728 #endif // LARONLINE_ID_BASE_H
729 
730 
731 
LArOnlineID_Base::m_side_index
size_type m_side_index
Definition: LArOnlineID_Base.h:476
LArOnlineID_Base::id_iterator
std::vector< HWIdentifier >::const_iterator id_iterator
Type for iterators over identifiers.
Definition: LArOnlineID_Base.h:103
LArOnlineID_Base::channel_Hash
IdentifierHash channel_Hash(HWIdentifier channelId) const
Create channel_hash from channel_Id.
Definition: LArOnlineID_Base.cxx:1636
LArOnlineID_Base::NOT_VALID_HASH
@ NOT_VALID_HASH
Definition: LArOnlineID_Base.h:436
LArOnlineID_Base::LArOnlineID_Base
LArOnlineID_Base(const std::string &name, const std::string &group, bool is_slar)
Default constructor.
Definition: LArOnlineID_Base.cxx:51
get_generator_info.result
result
Definition: get_generator_info.py:21
LArOnlineID_Base::feedthrough_range
id_range feedthrough_range() const
Definition: LArOnlineID_Base.cxx:1447
LArOnlineID_Base::m_slar_impl
IdDictFieldImplementation m_slar_impl
Definition: LArOnlineID_Base.h:513
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
LArOnlineID_Base::size_type
Identifier::size_type size_type
Definition: LArOnlineID_Base.h:100
LArOnlineID_Base::HashCalcFeb::m_hash
IdentifierHash m_hash
Definition: LArOnlineID_Base.h:528
LArOnlineID_Base::feedthrough_name
std::string feedthrough_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.
Definition: LArOnlineID_Base.cxx:79
LArOnlineID_Base::HashCalcFeb::m_slot_values
std::vector< int > m_slot_values
Definition: LArOnlineID_Base.h:529
LArOnlineID_Base::m_feedthrough_impl
IdDictFieldImplementation m_feedthrough_impl
Definition: LArOnlineID_Base.h:508
LArOnlineID_Base::isEMECIW
virtual bool isEMECIW(const HWIdentifier id) const =0
LArOnlineID_Base::isHecOnlineFebId
bool isHecOnlineFebId(const HWIdentifier febId) const
Definition: LArOnlineID_Base.cxx:1858
LArOnlineID_Base::feb_Id_checks
void feb_Id_checks(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Definition: LArOnlineID_Base.cxx:758
LArOnlineID_Base::HashCalcFeb::HashCalcFeb
HashCalcFeb()
Definition: LArOnlineID_Base.h:527
LArOnlineID_Base::m_channel_vec
std::vector< HWIdentifier > m_channel_vec
Definition: LArOnlineID_Base.h:493
skel.it
it
Definition: skel.GENtoEVGEN.py:407
LArOnlineID_Base::slot
int slot(const HWIdentifier id) const
Return the slot number of a hardware cell identifier: slot = [1,15] Slot-ID in top part of the crat...
Definition: LArOnlineID_Base.cxx:1961
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:102
LArOnlineID_Base::m_slot_impl
IdDictFieldImplementation m_slot_impl
Definition: LArOnlineID_Base.h:509
LArOnlineID_Base::HashCalc
Define the Hash identifier for channels and febs.
Definition: LArOnlineID_Base.h:519
LArOnlineID_Base::m_laronline_impl
IdDictFieldImplementation m_laronline_impl
Definition: LArOnlineID_Base.h:505
LArOnlineID_Base::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: LArOnlineID_Base.h:105
LArOnlineID_Base::calibChannelHashMax
size_type calibChannelHashMax() const
Define calibration channel hash tables max size.
Definition: LArOnlineID_Base.h:678
LArOnlineID_Base::feb_begin
id_iterator feb_begin() const
Returns an iterator pointing to a feb identifier collection.
Definition: LArOnlineID_Base.cxx:1910
LArOnlineID_Base::feedthrough_begin
id_iterator feedthrough_begin() const
Return an iterator pointing to Feedthrough identifiers collection.
Definition: LArOnlineID_Base.cxx:1435
LArOnlineID_Base::isFcalOnline
bool isFcalOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1732
LArOnlineID_Base::calib_module_Id
HWIdentifier calib_module_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Build calibration module identifier from fields.
Definition: LArOnlineID_Base.h:567
LArOnlineID_Base::m_laronline_index
size_type m_laronline_index
Definition: LArOnlineID_Base.h:474
LArOnlineID_Base::m_dict
const IdDictDictionary * m_dict
Definition: LArOnlineID_Base.h:482
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
LArOnlineID_Base::feedthroughContext
IdContext feedthroughContext() const
Define context for feedthroughs.
Definition: LArOnlineID_Base.cxx:262
LArOnlineID_Base::m_side_impl
IdDictFieldImplementation m_side_impl
Definition: LArOnlineID_Base.h:507
HWIdentifier
Definition: HWIdentifier.h:13
LArOnlineID_Base::barrel_ec
int barrel_ec(const HWIdentifier id) const
Return the position barrel or endcap of a hardware cell identifier: barrel_ec = [0,...
Definition: LArOnlineID_Base.cxx:1942
LArOnlineID_Base::channel_end
id_iterator channel_end() const
Definition: LArOnlineID_Base.cxx:1931
LArOnlineID_Base::m_feedthroughHashMax
size_type m_feedthroughHashMax
Definition: LArOnlineID_Base.h:487
LArOnlineID_Base::initialize_from_dictionary
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
initialization from the identifier dictionary
Definition: LArOnlineID_Base.cxx:321
LArOnlineID_Base::m_calib_channel_vec
std::vector< HWIdentifier > m_calib_channel_vec
Definition: LArOnlineID_Base.h:501
LArOnlineID_Base::m_bec_slot_impl
IdDictFieldImplementation m_bec_slot_impl
Definition: LArOnlineID_Base.h:512
LArOnlineID_Base::m_calibModuleHashMax
size_type m_calibModuleHashMax
Definition: LArOnlineID_Base.h:498
LArOnlineID_Base::~LArOnlineID_Base
virtual ~LArOnlineID_Base()
Default destructor.
AtlasDetectorID::size_type
Identifier::size_type size_type
Definition: AtlasDetectorID.h:385
LArOnlineID_Base::m_feb_hash_calcs
std::vector< HashCalcFeb > m_feb_hash_calcs
Definition: LArOnlineID_Base.h:531
LArOnlineID_Base::channelHashMax
size_type channelHashMax() const
Define channel hash tables max size.
Definition: LArOnlineID_Base.cxx:1901
LArOnlineID_Base::isFCALchannel
bool isFCALchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1657
LArOnlineID_Base::is_slar
int is_slar(const HWIdentifier id) const
Return whether the channel is in slar or not is_ slar = [0,1] in all FEB.
Definition: LArOnlineID_Base.cxx:1973
LArOnlineID_Base::m_channel_in_slot_impl
IdDictFieldImplementation m_channel_in_slot_impl
Definition: LArOnlineID_Base.h:510
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
LArOnlineID_Base::m_full_feedthrough_range
MultiRange m_full_feedthrough_range
Definition: LArOnlineID_Base.h:484
LArOnlineID_Base::channel
int channel(const HWIdentifier id) const
Return the channel number of a hardware cell identifier channel = [0,127] in all FEB.
Definition: LArOnlineID_Base.cxx:1967
LArOnlineID_Base::feb_range
id_range feb_range() const
Definition: LArOnlineID_Base.cxx:1920
LArOnlineID_Base::m_febHashMax
size_type m_febHashMax
Definition: LArOnlineID_Base.h:488
LArOnlineID_Base::feedthrough_Hash
IdentifierHash feedthrough_Hash(HWIdentifier feedthroughId) const
Create hash id from feedthrough identifiers.
Definition: LArOnlineID_Base.cxx:1416
LArOnlineID_Base::channel_range
id_range channel_range() const
Definition: LArOnlineID_Base.cxx:1936
LArOnlineID_Base::m_slar_index
size_type m_slar_index
Definition: LArOnlineID_Base.h:480
LArOnlineID_Base::channelInSlotMax
int channelInSlotMax(const HWIdentifier Id) const
Return the Maximum channel number of a given feb slot.
Definition: LArOnlineID_Base.cxx:293
LArOnlineID_Base::isHECchannel
virtual bool isHECchannel(const HWIdentifier id) const =0
LArOnlineID_Base::m_calibChannelHashMax
size_type m_calibChannelHashMax
Definition: LArOnlineID_Base.h:499
LArOnlineID_Base::channelContext
IdContext channelContext() const
Define context for channel.
Definition: LArOnlineID_Base.cxx:273
LArOnlineID_Base::isEMECOW
virtual bool isEMECOW(const HWIdentifier id) const =0
LArOnlineID_Base::isEMECPS
bool isEMECPS(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1675
LArOnlineID_Base::get_expanded_id
int get_expanded_id(const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded HWIdentifier from HWIdentifier (return == 0 for OK)
Definition: LArOnlineID_Base.cxx:794
LArOnlineID_Base::calib_module_Hash
IdentifierHash calib_module_Hash(HWIdentifier calibModuleId) const
create calibration module_hash identifier from module Identifier
Definition: LArOnlineID_Base.h:606
LArOnlineID_Base::channel_Id
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields
Definition: LArOnlineID_Base.cxx:1569
LArOnlineID_Base::pos_neg
int pos_neg(const HWIdentifier id) const
Return the side of a hardware cell identifier pos_neg = [0,1] positive-side or negative-side Barrel...
Definition: LArOnlineID_Base.cxx:1954
LArOnlineID_Base::isEmEndcapStandardOnline
bool isEmEndcapStandardOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1752
mc.group_name
group_name
Definition: mc.PhPy8EG_A14NNPDF23_NNLOPS_example.py:33
LArOnlineID_Base::initLevelsFromDict
int initLevelsFromDict(const std::string &group_name)
Definition: LArOnlineID_Base.cxx:847
LArOnlineID_Base::init_calib_hashes
int init_calib_hashes()
Definition: LArOnlineID_Base.cxx:1981
AtlasDetectorID::group
const std::string & group() const
Group name for this helper.
Definition: AtlasDetectorID.cxx:32
LArOnlineID_Base::m_channelHashMax
size_type m_channelHashMax
Definition: LArOnlineID_Base.h:489
LArOnlineID_Base::m_full_calib_laronline_range
MultiRange m_full_calib_laronline_range
Definition: LArOnlineID_Base.h:496
LArOnlineID_Base::isEndcapOnline
bool isEndcapOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1726
LArOnlineID_Base::febContext
IdContext febContext() const
Define context for feb.
Definition: LArOnlineID_Base.cxx:283
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:121
LArOnlineID_Base::isValidId
bool isValidId(const HWIdentifier id) const
Returns false if the identifier is not a LAr-online id or any of the sub-fields is out of range.
Definition: LArOnlineID_Base.cxx:1333
LArOnlineID_Base::m_lar_index
size_type m_lar_index
Definition: LArOnlineID_Base.h:473
LArOnlineID_Base::isHecOnline
bool isHecOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1837
LArOnlineID_Base::feb_Id
HWIdentifier feb_Id(int barrel_ec, int pos_neg, int feedthrough, int slot) const
Create feb_Id from fields.
Definition: LArOnlineID_Base.cxx:1483
LArOnlineID_Base::m_feedthrough_index
size_type m_feedthrough_index
Definition: LArOnlineID_Base.h:477
LArOnlineID_Base::m_bec_index
size_type m_bec_index
Definition: LArOnlineID_Base.h:475
LArOnlineID_Base::channel_Hash_binary_search
IdentifierHash channel_Hash_binary_search(HWIdentifier channelId) const
Definition: LArOnlineID_Base.h:554
LArOnlineID_Base::febHashMax
size_type febHashMax() const
define feb hash tables max size
Definition: LArOnlineID_Base.cxx:1896
LArOnlineID_Base::feb_end
id_iterator feb_end() const
Definition: LArOnlineID_Base.cxx:1915
LArOnlineID_Base::m_feedthrough_vec
std::vector< HWIdentifier > m_feedthrough_vec
Definition: LArOnlineID_Base.h:491
LArOnlineID_Base::m_lar_impl
IdDictFieldImplementation m_lar_impl
Field Implementation.
Definition: LArOnlineID_Base.h:504
LArOnlineID_Base
Helper for the Liquid Argon Calorimeter cell identifiers.
Definition: LArOnlineID_Base.h:97
LArOnlineID_Base::feb_Hash_binary_search
IdentifierHash feb_Hash_binary_search(HWIdentifier channelId) const
Definition: LArOnlineID_Base.h:543
MultiRange
A MultiRange combines several Ranges.
Definition: MultiRange.h:17
HWIdentifier.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArOnlineID_Base::isEMECchannel
virtual bool isEMECchannel(const HWIdentifier id) const =0
IdentifierHash.h
LArOnlineID_Base::feedthroughHashMax
size_type feedthroughHashMax() const
Define feedthrough hash tables max size.
Definition: LArOnlineID_Base.cxx:1891
LArOnlineID_Base::HashCalc::m_hash
IdentifierHash m_hash
Definition: LArOnlineID_Base.h:522
LArOnlineID_Base::calib_channel_end
id_iterator calib_channel_end() const
Definition: LArOnlineID_Base.h:710
LArOnlineID_Base::isCalibration
bool isCalibration(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1787
LArOnlineID_Base::calib_channel_begin
id_iterator calib_channel_begin() const
Return an iterator pointing to a collection of calibration channel identifiers.
Definition: LArOnlineID_Base.h:705
LArOnlineID_Base::calibModuleHashMax
size_type calibModuleHashMax() const
Define calibration module hash tables max size.
Definition: LArOnlineID_Base.h:673
LArOnlineID_Base::cryostatEndContext
IdContext cryostatEndContext() const
Define context for cryostat (obsolete)
Definition: LArOnlineID_Base.cxx:252
MultiRange.h
LArOnlineID_Base::isEmEndcapSpecialOnline
bool isEmEndcapSpecialOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1775
LArOnlineID_Base::isEMBchannel
bool isEMBchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1652
LArOnlineID_Base::m_chan_hash_calcs
std::vector< HashCalc > m_chan_hash_calcs
Definition: LArOnlineID_Base.h:532
IdDictDictionary
Definition: IdDictDictionary.h:30
LArOnlineID_Base::m_bec_impl
IdDictFieldImplementation m_bec_impl
Definition: LArOnlineID_Base.h:506
IdDictFieldImplementation.h
LArOnlineID_Base::calib_channel_range
id_range calib_channel_range() const
Definition: LArOnlineID_Base.h:715
LArOnlineID_Base::channel_Id_checks
void channel_Id_checks(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
Definition: LArOnlineID_Base.cxx:687
LArOnlineID_Base::get_expanded_calib_id
int get_expanded_calib_id(const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
Definition: LArOnlineID_Base.cxx:821
LArOnlineID_Base::feedthrough
int feedthrough(const HWIdentifier id) const
Return the feedthrough of a hardware cell identifier : feedthrough = [0,31] Barrel - A/C side or H/...
Definition: LArOnlineID_Base.cxx:1948
LArOnlineID_Base::feedthrough_Id_checks
void feedthrough_Id_checks(int barrel_ec, int pos_neg, int feedthrough) const
Definition: LArOnlineID_Base.cxx:775
LArOnlineID_Base::m_full_feb_range
MultiRange m_full_feb_range
Definition: LArOnlineID_Base.h:485
LArOnlineID_Base::m_feb_vec
std::vector< HWIdentifier > m_feb_vec
Definition: LArOnlineID_Base.h:492
LArOnlineID_Base::m_full_channel_range
MultiRange m_full_channel_range
Definition: LArOnlineID_Base.h:486
LArOnlineID_Base::feedthrough_end
id_iterator feedthrough_end() const
Definition: LArOnlineID_Base.cxx:1441
LArOnlineID_Base::calib_module_begin
id_iterator calib_module_begin() const
Return an iterator pointing to a calibFeb identifier 's collection.
Definition: LArOnlineID_Base.h:689
LArOnlineID_Base::m_full_laronline_range
MultiRange m_full_laronline_range
Definition: LArOnlineID_Base.h:483
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
LArOnlineID_Base::isEMBPS
bool isEMBPS(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1665
LArOnlineID_Base::HashCalc::HashCalc
HashCalc()
Definition: LArOnlineID_Base.h:521
LArOnlineID_Base::isPS
bool isPS(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1681
LArOnlineID_Base::m_full_calib_module_range
MultiRange m_full_calib_module_range
Definition: LArOnlineID_Base.h:497
LArOnlineID_Base::m_slot_index
size_type m_slot_index
Definition: LArOnlineID_Base.h:478
LArOnlineID_Base::calib_module_end
id_iterator calib_module_end() const
Definition: LArOnlineID_Base.h:694
LArOnlineID_Base::isEmEndcapOnline
bool isEmEndcapOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1737
LArOnlineID_Base::isNotWarmCableConnected
bool isNotWarmCableConnected(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1688
LArOnlineID_Base::m_channel_in_slot_index
size_type m_channel_in_slot_index
Definition: LArOnlineID_Base.h:479
Identifier::size_type
unsigned long long size_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:29
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
LArOnlineID_Base::calib_module_range
id_range calib_module_range() const
Definition: LArOnlineID_Base.h:699
LArOnlineID_Base::channel_name
std::string channel_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.
Definition: LArOnlineID_Base.cxx:225
LArOnlineID_Base::calib_channel_Hash
IdentifierHash calib_channel_Hash(HWIdentifier channelId) const
Definition: LArOnlineID_Base.h:662
LArOnlineID_Base::m_calib_module_vec
std::vector< HWIdentifier > m_calib_module_vec
Definition: LArOnlineID_Base.h:500
LArOnlineID_Base::HashCalcFeb
Definition: LArOnlineID_Base.h:525
LArOnlineID_Base::m_laronlineRegion_index
size_type m_laronlineRegion_index
Definition: LArOnlineID_Base.h:472
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
LArOnlineID_Base::calib_channel_Id
HWIdentifier calib_channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create calibration channel identifiers from fields
Definition: LArOnlineID_Base.h:616
CLASS_DEF.h
macros to associate a CLID to a type
LArOnlineID_Base::isEMECinHECchannel
bool isEMECinHECchannel(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1877
LArOnlineID_Base::m_bec_ft_impl
IdDictFieldImplementation m_bec_ft_impl
Definition: LArOnlineID_Base.h:511
LArOnlineID_Base::channel_begin
id_iterator channel_begin() const
Returns an iterator pointing to a channel identifier collection.
Definition: LArOnlineID_Base.cxx:1926
LArOnlineID_Base::feb_Hash
IdentifierHash feb_Hash(HWIdentifier febId) const
Create feb hash identifiers from feb identifiers.
Definition: LArOnlineID_Base.cxx:1516
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:52
LArOnlineID_Base::isEmBarrelOnline
bool isEmBarrelOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1720
LArOnlineID_Base::feedthrough_Id
HWIdentifier feedthrough_Id(int barrel_ec, int pos_neg, int feedthrough) const
Create a feedthrough identifier from fields.
Definition: LArOnlineID_Base.cxx:1404
LArOnlineID_Base::m_this_is_slar
bool m_this_is_slar
Definition: LArOnlineID_Base.h:437
LArOnlineID_Base::init_hashes
int init_hashes()
Definition: LArOnlineID_Base.cxx:1130