ATLAS Offline Software
LArOnlineID_Base.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARONLINEID_BASE_H
6 #define LARONLINEID_BASE_H
7 
12 #include "Identifier/Range.h"
14 #include "IdDict/IdDictDefs.h"
16 #include "boost/range/iterator_range.hpp"
17 #include "string.h"
18 #include <vector>
19 #include <algorithm>
20 
21 #include <iostream>
22 
23 
24 class IdentifierHash;
25 class Range;
26 
27 
105 {
106  public:
107 
109 
111  typedef std::vector<HWIdentifier>::const_iterator id_iterator;
113  typedef boost::iterator_range<id_iterator> id_range;
114 
118  LArOnlineID_Base(void);
123 
129  bool checks) const;
130 
134  HWIdentifier feedthrough_Id(IdentifierHash feedthroughHash) const;
135 
139  IdentifierHash feedthrough_Hash(HWIdentifier feedthroughId) const;
140 
145  id_iterator feedthrough_end () const;
146  id_range feedthrough_range() const;
147 
148 
149 
154  int pos_neg,
155  int feedthrough,
156  int slot) const;
158  int pos_neg,
159  int feedthrough,
160  int slot,
161  bool checks) const;
165  HWIdentifier feb_Id(IdentifierHash febHash) const;
166 
170  IdentifierHash feb_Hash(HWIdentifier febId) const;
171 
175  id_iterator feb_begin() const;
176  id_iterator feb_end () const;
177  id_range feb_range() const;
178 
179 
180 
185  int pos_neg,
186  int feedthrough,
187  int slot,
188  int channel) const;
190  int pos_neg,
191  int feedthrough,
192  int slot,
193  int channel,
194  bool checks) const;
198  HWIdentifier channel_Id(IdentifierHash channelHash) const;
199 
204 
208  id_iterator channel_begin() const;
209  id_iterator channel_end () const;
210  id_range channel_range() const;
211 
212 
216  HWIdentifier feedthrough_Id(const HWIdentifier Id) const ;
224  HWIdentifier feb_Id(const HWIdentifier feedthroughId, int slot) const ;
228  HWIdentifier channel_Id(const HWIdentifier feedthroughId, int slot, int channel) const;
229  HWIdentifier channel_Id(const HWIdentifier feedthroughId, int slot, int channel,
230  bool checks) const;
234  HWIdentifier channel_Id(const HWIdentifier febId, int channel) const;
235  HWIdentifier channel_Id(const HWIdentifier febId, int channel,
236  bool checks) const;
237 
238 
242  size_type feedthroughHashMax (void) const;
246  size_type febHashMax (void) const;
250  size_type channelHashMax (void) const;
251 
256  int pos_neg,
257  int feedthrough,
258  int slot ) const;
262  HWIdentifier calib_module_Id(IdentifierHash calibModuleHash) const;
266  IdentifierHash calib_module_Hash(HWIdentifier calibModuleId) const;
267 
272  id_iterator calib_module_end () const;
274 
275 
280  int pos_neg,
281  int feedthrough,
282  int slot,
283  int channel ) const;
287  HWIdentifier calib_channel_Id(IdentifierHash calibChannelHash) const;
294 
295 
299  HWIdentifier calib_module_Id(const HWIdentifier ChannelId) const ;
303  HWIdentifier calib_module_Id(const HWIdentifier FeedthroughId, int slot) const ;
307  HWIdentifier calib_channel_Id(const HWIdentifier FeedthroughId, int slot, int channel ) const ;
311  HWIdentifier calib_channel_Id(const HWIdentifier febId, int ChannelId) const ;
312 
314 
318  size_type calibModuleHashMax (void) const;
319 
323  size_type calibChannelHashMax (void) const;
324 
325 
329  /* recommended methods */
330  bool isEMBchannel (const HWIdentifier id) const;
331  virtual bool isEMECchannel (const HWIdentifier id) const = 0; // differs for Main and DT
332  virtual bool isHECchannel (const HWIdentifier id) const = 0; // differs for Main and DT
333  bool isFCALchannel (const HWIdentifier id) const;
334  virtual bool isEMECIW (const HWIdentifier id) const = 0; // differs for Main and DT
335  virtual bool isEMECOW (const HWIdentifier id) const = 0; // differs for Main and DT
336  bool isEMBPS (const HWIdentifier id) const;
337  bool isEMECPS (const HWIdentifier id) const;
338  bool isPS (const HWIdentifier id) const;
339  bool isNotWarmCableConnected (const HWIdentifier id) const;
340  bool isCalibration (const HWIdentifier id) const;
341 
342  /* To be used with care */
343  bool isHecOnline (const HWIdentifier id) const;
344  bool isHecOnlineFebId (const HWIdentifier febId) const;
345  bool isEMECinHECchannel (const HWIdentifier id) const;
346 
347  /* obsolete */
348  bool isEmBarrelOnline (const HWIdentifier id) const;
349  bool isEmEndcapOnline (const HWIdentifier id) const;
350  bool isEndcapOnline (const HWIdentifier id) const;
351  bool isFcalOnline (const HWIdentifier id) const;
352  bool isEmEndcapStandardOnline (const HWIdentifier id) const;
353  bool isEmEndcapSpecialOnline (const HWIdentifier id) const;
354 
358  int channelInSlotMax (const HWIdentifier Id) const;
359 
363  std::string feedthrough_name(const HWIdentifier id ) const;
364 
368  std::string channel_name(const HWIdentifier id ) const;
369 
374  int barrel_ec(const HWIdentifier id)const;
375 
380  int pos_neg(const HWIdentifier id)const;
381 
389  int feedthrough(const HWIdentifier id)const;
390 
396  int slot(const HWIdentifier id)const;
397 
402  int channel(const HWIdentifier id)const;
403 
408  int is_slar(const HWIdentifier id)const;
409 
410 
414  bool isValidId(const HWIdentifier id) const;
415 
419  virtual int initialize_from_dictionary (const IdDictMgr& dict_mgr);
420 
421 
425  IdContext cryostatEndContext(void) const;
429  IdContext feedthroughContext(void) const;
433  IdContext febContext(void) const;
437  IdContext channelContext(void) const;
438 
439 protected:
440 /*==== */
441 
442  enum {NOT_VALID_HASH = 256000};
444 
446 
448 
449  // Check methods
450  void channel_Id_checks(int barrel_ec,
451  int pos_neg,
452  int feedthrough,
453  int slot,
454  int channel ) const;
455 
456  void channel_Id_checks(const HWIdentifier feedthroughId,
457  int slot,
458  int channel ) const;
459 
460  void channel_Id_checks(const HWIdentifier febId,
461  int channel ) const;
462 
463  void feb_Id_checks(int barrel_ec, int pos_neg, int feedthrough, int slot ) const;
464 
465  void feedthrough_Id_checks(int barrel_ec, int pos_neg, int feedthrough ) const;
466 
468  int get_expanded_id (const HWIdentifier& id,
469  ExpandedIdentifier& exp_id,
470  const IdContext* context) const;
471  int get_expanded_calib_id (const HWIdentifier& id,
472  ExpandedIdentifier& exp_id,
473  const IdContext* context) const;
474  int initLevelsFromDict(const std::string& group_name) ;
475  int init_hashes(void) ;
476  int init_calib_hashes(void) ;
477 
478  size_type m_laronlineRegion_index; // LArOnline_region
481  size_type m_bec_index; // [0 Barrel, 1 Endcap]
482  size_type m_side_index; // [-1 negative-side, 1 positive-side]
483  size_type m_feedthrough_index; // [0,31] or [0,24]
487 
496 
497  std::vector<HWIdentifier> m_feedthrough_vec;
498  std::vector<HWIdentifier> m_feb_vec;
499  std::vector<HWIdentifier> m_channel_vec;
500 
501  /* Calib */
506  std::vector<HWIdentifier> m_calib_module_vec;
507  std::vector<HWIdentifier> m_calib_channel_vec;
508 
520 
524  class HashCalc
525  {
526  public:
527  HashCalc() : m_hash(0) {}
529  };
531  {
532  public:
533  HashCalcFeb() : m_hash(0) {}
535  std::vector<int> m_slot_values; // need to save slot values for enumerated slot field
536  };
537  std::vector<HashCalcFeb> m_feb_hash_calcs;
538  std::vector<HashCalc> m_chan_hash_calcs;
539 
540 };
541 
542 static const int s_lar_online_field_value = 4 ;
543 static const int s_lar_onlineCalib_field_value = 5 ;
544 
545 //=====================
546 // Inline Definitions
547 //=====================
548 
550 /*=============================================================================== */
551 {
552  std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_feb_vec.begin(),m_feb_vec.end(),febId);
553  if ( it != m_feb_vec.end() ){
554  return (it - m_feb_vec.begin());
555  }
556  return (0);
557 }
558 
559 
561 /*=========================================================================*/
562 {
563  std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_channel_vec.begin(),m_channel_vec.end(),channelId);
564  if ( it != m_channel_vec.end() ){
565  return (it - m_channel_vec.begin());
566  }
567  return(0) ;
568 }
569 
570 /* CALIB inline Identifiers */
571 /*==========================*/
572 
573 inline HWIdentifier LArOnlineID_Base::calib_module_Id(int barrel_ec, int pos_neg,
574  int feedthrough, int slot ) const
575 /*=============================================================== */
576 {
577  HWIdentifier result(0);
578  /*Pack fields independently */
579  m_lar_impl.pack (lar_field_value(), result);
580  m_laronline_impl.pack (5 , result);
581  m_bec_impl.pack (barrel_ec , result);
582  m_side_impl.pack (pos_neg , result);
583  m_feedthrough_impl.pack(feedthrough , result);
584  m_slot_impl.pack (slot , result);
585  return result;
586 }
587 
588 inline HWIdentifier LArOnlineID_Base::calib_module_Id(const HWIdentifier feedthroughId , int slot) const
589 /*==================================================================================== */
590 {
591  HWIdentifier result(feedthroughId);
592  /* Pack fields independently */
593  m_slot_impl.reset (result);
594  m_slot_impl.pack (slot , result);
595  return(result);
596 }
597 
599 /*======================================================================= */
600 {
601  HWIdentifier result(calibChannelId);
602  m_channel_in_slot_impl.reset(result);
603  return(result);
604 }
605 
607 /*=========================================================================== */
608 {
609  return(m_calib_module_vec[calibModuleHashId]);
610 }
611 
613 /*=============================================================================== */
614 {
615  std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_calib_module_vec.begin(),m_calib_module_vec.end(),calibModuleId);
616  if ( it != m_calib_module_vec.end() ){
617  return (it - m_calib_module_vec.begin());
618  }
619  return (0);
620 }
621 
622 inline HWIdentifier LArOnlineID_Base::calib_channel_Id( int barrel_ec, int pos_neg, int feedthrough,
623  int slot, int channel ) const
624 /*============================================================================== */
625 {
626  HWIdentifier result(0);
627  /* Pack fields independently */
628  m_lar_impl.pack (lar_field_value() , result);
629  m_laronline_impl.pack (5 , result);
630  m_bec_impl.pack (barrel_ec , result);
631  m_side_impl.pack (pos_neg , result);
632  m_feedthrough_impl.pack (feedthrough , result);
633  m_slot_impl.pack (slot , result);
634  m_channel_in_slot_impl.pack(channel , result);
635 
636  return result;
637 }
638 
639 inline HWIdentifier LArOnlineID_Base::calib_channel_Id(const HWIdentifier feedthroughId,int slot,int channel) const
640 /*==================================================================================================== */
641 {
642  HWIdentifier result(feedthroughId);
643  /* Pack fields independently */
644  m_slot_impl.reset (result);
645  m_channel_in_slot_impl.reset(result);
646  m_slot_impl.pack (slot , result);
647  m_channel_in_slot_impl.pack (channel, result);
648 
649  return result;
650 }
651 
653 /*======================================================================================= */
654 {
655  HWIdentifier result(febId);
656  /* Pack fields independently */
657  m_channel_in_slot_impl.reset(result);
658  m_channel_in_slot_impl.pack (channel, result);
659 
660  return result;
661 }
663 /*===================================================================*/
664 {
665  return(m_calib_channel_vec[channelHashId]);
666 }
667 
669 /*=========================================================================*/
670 {
671  std::vector<HWIdentifier>::const_iterator it = std::lower_bound(m_calib_channel_vec.begin(),m_calib_channel_vec.end(),channelId);
672  if ( it != m_calib_channel_vec.end() ){
673  return (it - m_calib_channel_vec.begin());
674  }
675  return(0) ;
676 }
677 
678 /* Calib */
680 /*=======================================================================*/
681 {
682  return m_calibModuleHashMax;
683 }
685 /*====================================================================*/
686 {
687  return m_calibChannelHashMax;
688 }
689 
690 
691 
692 
693 
694 /* Calib */
696 /*====================================================================*/
697 {
698  return(m_calib_module_vec.begin());
699 }
701 /*==================================================================*/
702 {
703  return(m_calib_module_vec.end());
704 }
706 /*==================================================================*/
707 {
709 }
710 
712 /*======================================================================*/
713 {
714  return(m_calib_channel_vec.begin());
715 }
717 /*======================================================================*/
718 {
719  return(m_calib_channel_vec.end());
720 }
722 /*======================================================================*/
723 {
725 }
726 
727 
728 
729 //using the macro below we can assign an identifier (and a version)
730 //This is required and checked at compile time when you try to record/retrieve
731 CLASS_DEF( LArOnlineID_Base , 28598761 , 1 )
732 
733 
734 #endif // LARONLINE_ID_BASE_H
735 
736 
737 
LArOnlineID_Base::m_side_index
size_type m_side_index
Definition: LArOnlineID_Base.h:482
LArOnlineID_Base::feedthroughHashMax
size_type feedthroughHashMax(void) const
Define feedthrough hash tables max size.
Definition: LArOnlineID_Base.cxx:1891
LArOnlineID_Base::febContext
IdContext febContext(void) const
Define context for feb.
Definition: LArOnlineID_Base.cxx:276
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:442
get_generator_info.result
result
Definition: get_generator_info.py:21
LArOnlineID_Base::cryostatEndContext
IdContext cryostatEndContext(void) const
Define context for cryostat (obsolete)
Definition: LArOnlineID_Base.cxx:245
LArOnlineID_Base::feedthrough_range
id_range feedthrough_range() const
Definition: LArOnlineID_Base.cxx:1447
LArOnlineID_Base::febHashMax
size_type febHashMax(void) const
define feb hash tables max size
Definition: LArOnlineID_Base.cxx:1896
LArOnlineID_Base::m_slar_impl
IdDictFieldImplementation m_slar_impl
Definition: LArOnlineID_Base.h:519
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:28
LArOnlineID_Base::HashCalcFeb::m_hash
IdentifierHash m_hash
Definition: LArOnlineID_Base.h:534
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:72
LArOnlineID_Base::size_type
Identifier::size_type size_type
Definition: LArOnlineID_Base.h:108
LArOnlineID_Base::HashCalcFeb::m_slot_values
std::vector< int > m_slot_values
Definition: LArOnlineID_Base.h:535
LArOnlineID_Base::m_feedthrough_impl
IdDictFieldImplementation m_feedthrough_impl
Definition: LArOnlineID_Base.h:514
LArOnlineID_Base::init_calib_hashes
int init_calib_hashes(void)
Definition: LArOnlineID_Base.cxx:1981
LArOnlineID_Base::isEMECIW
virtual bool isEMECIW(const HWIdentifier id) const =0
LArOnlineID_Base::calibModuleHashMax
size_type calibModuleHashMax(void) const
Define calibration module hash tables max size.
Definition: LArOnlineID_Base.h:679
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:752
LArOnlID_Exception.h
LArOnlineID_Base::HashCalcFeb::HashCalcFeb
HashCalcFeb()
Definition: LArOnlineID_Base.h:533
LArOnlineID_Base::m_channel_vec
std::vector< HWIdentifier > m_channel_vec
Definition: LArOnlineID_Base.h:499
Range.h
skel.it
it
Definition: skel.GENtoEVGEN.py:423
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
LArOnlineID_Base::calibChannelHashMax
size_type calibChannelHashMax(void) const
Define calibration channel hash tables max size.
Definition: LArOnlineID_Base.h:684
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:108
LArOnlineID_Base::m_slot_impl
IdDictFieldImplementation m_slot_impl
Definition: LArOnlineID_Base.h:515
LArOnlineID_Base::HashCalc
Define the Hash identifier for channels and febs.
Definition: LArOnlineID_Base.h:525
LArOnlineID_Base::m_laronline_impl
IdDictFieldImplementation m_laronline_impl
Definition: LArOnlineID_Base.h:511
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::feedthroughContext
IdContext feedthroughContext(void) const
Define context for feedthroughs.
Definition: LArOnlineID_Base.cxx:255
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:573
LArOnlineID_Base::m_laronline_index
size_type m_laronline_index
Definition: LArOnlineID_Base.h:480
LArOnlineID_Base::m_dict
const IdDictDictionary * m_dict
Definition: LArOnlineID_Base.h:488
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
LArOnlineID_Base::m_side_impl
IdDictFieldImplementation m_side_impl
Definition: LArOnlineID_Base.h:513
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::id_iterator
std::vector< HWIdentifier >::const_iterator id_iterator
Type for iterators over identifiers.
Definition: LArOnlineID_Base.h:111
LArOnlineID_Base::m_feedthroughHashMax
size_type m_feedthroughHashMax
Definition: LArOnlineID_Base.h:493
LArOnlineID_Base::initialize_from_dictionary
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
initialization from the identifier dictionary
Definition: LArOnlineID_Base.cxx:314
LArOnlineID_Base::m_calib_channel_vec
std::vector< HWIdentifier > m_calib_channel_vec
Definition: LArOnlineID_Base.h:507
LArOnlineID_Base::m_bec_slot_impl
IdDictFieldImplementation m_bec_slot_impl
Definition: LArOnlineID_Base.h:518
LArOnlineID_Base::m_calibModuleHashMax
size_type m_calibModuleHashMax
Definition: LArOnlineID_Base.h:504
IdDictDefs.h
AtlasDetectorID::size_type
Identifier::size_type size_type
Definition: AtlasDetectorID.h:384
LArOnlineID_Base::m_feb_hash_calcs
std::vector< HashCalcFeb > m_feb_hash_calcs
Definition: LArOnlineID_Base.h:537
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:516
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
LArOnlineID_Base::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: LArOnlineID_Base.h:113
LArOnlineID_Base::m_full_feedthrough_range
MultiRange m_full_feedthrough_range
Definition: LArOnlineID_Base.h:490
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:494
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:486
LArOnlineID_Base::channelInSlotMax
int channelInSlotMax(const HWIdentifier Id) const
Return the Maximum channel number of a given feb slot.
Definition: LArOnlineID_Base.cxx:286
LArOnlineID_Base::isHECchannel
virtual bool isHECchannel(const HWIdentifier id) const =0
LArOnlineID_Base::m_calibChannelHashMax
size_type m_calibChannelHashMax
Definition: LArOnlineID_Base.h:505
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:788
LArOnlineID_Base::calib_module_Hash
IdentifierHash calib_module_Hash(HWIdentifier calibModuleId) const
create calibration module_hash identifier from module Identifier
Definition: LArOnlineID_Base.h:612
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:841
LArOnlineID_Base::m_channelHashMax
size_type m_channelHashMax
Definition: LArOnlineID_Base.h:495
LArOnlineID_Base::m_full_calib_laronline_range
MultiRange m_full_calib_laronline_range
Definition: LArOnlineID_Base.h:502
LArOnlineID_Base::isEndcapOnline
bool isEndcapOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1726
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
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:479
LArOnlineID_Base::isHecOnline
bool isHecOnline(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1837
LArOnlineID_Base::init_hashes
int init_hashes(void)
Definition: LArOnlineID_Base.cxx:1124
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:483
LArOnlineID_Base::m_bec_index
size_type m_bec_index
Definition: LArOnlineID_Base.h:481
LArOnlineID_Base::channel_Hash_binary_search
IdentifierHash channel_Hash_binary_search(HWIdentifier channelId) const
Definition: LArOnlineID_Base.h:560
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:497
LArOnlineID_Base::m_lar_impl
IdDictFieldImplementation m_lar_impl
Field Implementation.
Definition: LArOnlineID_Base.h:510
LArOnlineID_Base
Helper for the Liquid Argon Calorimeter cell identifiers.
Definition: LArOnlineID_Base.h:105
LArOnlineID_Base::feb_Hash_binary_search
IdentifierHash feb_Hash_binary_search(HWIdentifier channelId) const
Definition: LArOnlineID_Base.h:549
MultiRange
A MultiRange combines several Ranges.
Definition: DetectorDescription/Identifier/Identifier/Range.h:351
HWIdentifier.h
LArOnlineID_Base::isEMECchannel
virtual bool isEMECchannel(const HWIdentifier id) const =0
IdentifierHash.h
LArOnlineID_Base::HashCalc::m_hash
IdentifierHash m_hash
Definition: LArOnlineID_Base.h:528
LArOnlineID_Base::channelHashMax
size_type channelHashMax(void) const
Define channel hash tables max size.
Definition: LArOnlineID_Base.cxx:1901
LArOnlineID_Base::calib_channel_end
id_iterator calib_channel_end() const
Definition: LArOnlineID_Base.h:716
LArOnlineID_Base::isCalibration
bool isCalibration(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1787
Range
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
Definition: DetectorDescription/Identifier/Identifier/Range.h:27
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:711
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:538
IdDictDictionary
Definition: IdDictDefs.h:97
LArOnlineID_Base::m_bec_impl
IdDictFieldImplementation m_bec_impl
Definition: LArOnlineID_Base.h:512
IdDictFieldImplementation.h
LArOnlineID_Base::calib_channel_range
id_range calib_channel_range() const
Definition: LArOnlineID_Base.h:721
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:681
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:815
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:769
LArOnlineID_Base::m_full_feb_range
MultiRange m_full_feb_range
Definition: LArOnlineID_Base.h:491
LArOnlineID_Base::m_feb_vec
std::vector< HWIdentifier > m_feb_vec
Definition: LArOnlineID_Base.h:498
LArOnlineID_Base::m_full_channel_range
MultiRange m_full_channel_range
Definition: LArOnlineID_Base.h:492
LArOnlineID_Base::channelContext
IdContext channelContext(void) const
Define context for channel.
Definition: LArOnlineID_Base.cxx:266
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:695
LArOnlineID_Base::~LArOnlineID_Base
~LArOnlineID_Base(void)
Default destructor.
LArOnlineID_Base::m_full_laronline_range
MultiRange m_full_laronline_range
Definition: LArOnlineID_Base.h:489
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
LArOnlineID_Base::isEMBPS
bool isEMBPS(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1665
LArOnlineID_Base::HashCalc::HashCalc
HashCalc()
Definition: LArOnlineID_Base.h:527
LArOnlineID_Base::isPS
bool isPS(const HWIdentifier id) const
Definition: LArOnlineID_Base.cxx:1681
Identifier::size_type
IDENTIFIER_TYPE size_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:41
LArOnlineID_Base::m_full_calib_module_range
MultiRange m_full_calib_module_range
Definition: LArOnlineID_Base.h:503
LArOnlineID_Base::LArOnlineID_Base
LArOnlineID_Base(void)
Default constructor.
Definition: LArOnlineID_Base.cxx:46
LArOnlineID_Base::m_slot_index
size_type m_slot_index
Definition: LArOnlineID_Base.h:484
LArOnlineID_Base::calib_module_end
id_iterator calib_module_end() const
Definition: LArOnlineID_Base.h:700
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:485
IdDictFieldImplementation
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
Definition: IdDictFieldImplementation.h:58
IdentifierHash
Definition: IdentifierHash.h:38
LArOnlineID_Base::calib_module_range
id_range calib_module_range() const
Definition: LArOnlineID_Base.h:705
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:218
LArOnlineID_Base::calib_channel_Hash
IdentifierHash calib_channel_Hash(HWIdentifier channelId) const
Definition: LArOnlineID_Base.h:668
LArOnlineID_Base::m_calib_module_vec
std::vector< HWIdentifier > m_calib_module_vec
Definition: LArOnlineID_Base.h:506
LArOnlineID_Base::HashCalcFeb
Definition: LArOnlineID_Base.h:531
LArOnlineID_Base::m_laronlineRegion_index
size_type m_laronlineRegion_index
Definition: LArOnlineID_Base.h:478
IdContext
class IdContext
Definition: IdContext.h:34
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:622
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:517
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:57
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:443