|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef LARIDENTIFIER_LARELECTRODEID_H
6 #define LARIDENTIFIER_LARELECTRODEID_H
134 std::vector<HWIdentifier>::const_iterator
electrode_end(
void)
const;
291 static const int s_larconfig_value = 1 ;
312 m_atlas_impl.pack (lar_field_value(),
result);
313 m_configuration_impl.pack(s_larconfig_value,
result);
315 m_zside_impl.pack (zside ,
result);
320 m_electrode_impl.pack (elec ,
result);
327 return(m_electrode_vec[electrodeHashId]);
334 std::vector<HWIdentifier>::const_iterator
it = std::lower_bound(m_electrode_vec.begin(),m_electrode_vec.end(),hvId);
335 if (
it != m_electrode_vec.end() ){
336 return (
it - m_electrode_vec.begin());
344 return m_electrodeHashMax;
351 return(m_electrode_vec.begin());
357 return(m_electrode_vec.end());
364 return (m_detector_impl.unpack(
id));
370 return (m_zside_impl.unpack(
id));
377 return (m_module_impl.unpack(
id));
383 return (m_hvphi_impl.unpack(
id));
389 return (m_hveta_impl.unpack(
id));
395 return (m_hvgap_impl.unpack(
id));
401 return (m_electrode_impl.unpack(
id));
440 int hveta = hv_eta(
id);
442 det == 5 && hveta == 1
454 int hveta = hv_eta(
id);
456 det == 5 && hveta == 2
467 int hveta = hv_eta(
id);
469 det == 5 && hveta == 3
516 int eta = hv_eta(
id);
525 int eta = hv_eta(
id);
575 #endif //LARELECTRODEID_H
bool isEMECPS(const HWIdentifier id) const
Return yes if electrode is in EMEC PreSampler.
void electrodeId_checks(int det, int side, int mod, int phi, int eta, int hvgap, int elec) const
IdDictFieldImplementation m_hveta_impl
int initLevelsFromDict(void)
Scalar phi() const
phi method
IdDictFieldImplementation m_hvphi_impl
Scalar eta() const
pseudorapidity method
Helper for the Liquid Argon Calorimeter cell at the electrode level.
HWIdentifier ElectrodeId(int det, int side, int mod, int phi, int eta, int gap, int elec) const
Create an Electrode identifier from fields.
LArElectrodeID(void)
Default constructor.
IdDictFieldImplementation m_atlas_impl
Field Implementation.
IdentifierHash electrodeHash(HWIdentifier electrode_id) const
Create an electrode hash identifier from an electrode identifier.
bool isEMBPUR(const HWIdentifier id) const
Return yes if electrode is in EMB PUR.
bool const RAWDATA *ch2 const
bool isFCAL1(const HWIdentifier id) const
Return yes if electrode is in FCAL wheel 1.
IdDictFieldImplementation m_configuration_impl
IdentifierHash electrode_hash_binary_search(HWIdentifier elecId) const
def gap(flags, cells_name, *args, **kw)
size_type m_electrodeHashMax
bool isFCAL2(const HWIdentifier id) const
Return yes if electrode is in FCAL wheel 2.
bool isFCAL3(const HWIdentifier id) const
Return yes if electrode is in FCAL wheel 3.
IdDictFieldImplementation m_hvgap_impl
bool isEMECinWHEEL(const HWIdentifier id) const
Return yes if electrode is in EMEC inner wheel.
MultiRange m_full_electrode_range
size_type m_larElectrodeRegion_index
Identifier::size_type size_type
int electrode(const HWIdentifier id) const
Return an integer corresponding to the electrode number of an hardware electrode identifier.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
~LArElectrodeID(void)
Default destructor.
Identifier::size_type size_type
int zside(const HWIdentifier id) const
Return an integer corresponding to the side of an hardware electrode identifier.
bool isHEC(const HWIdentifier id) const
Return yes if electrode is in HEC.
bool isEMECoutWHEEL(const HWIdentifier id) const
Return yes if electrode is in EMEC outer wheel.
int module(const HWIdentifier id) const
Return an integer corresponding to the module of an hardware electrode identifier.
size_type m_larelectrode_index
size_type electrodeHashMax(void) const
Define hash tables max size.
int detector(const HWIdentifier id) const
Return an integer corresponding to the detector of an hardware electrode identifier.
size_type m_configuration_index
int gap(const HWIdentifier id) const
Return an integer corresponding to the cell gap of an hardware electrode identifier.
A MultiRange combines several Ranges.
IdDictFieldImplementation m_detector_impl
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
Initialization from the identifier dictionary.
const IdDictDictionary * m_dict
size_type m_detector_index
int hv_eta(const HWIdentifier id) const
Return an integer corresponding to the high volatge eta sector of an hardware electrode identifier.
int get_expanded_id(const HWIdentifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
std::vector< HWIdentifier > m_electrode_vec
bool isFCAL(const HWIdentifier id) const
Return yes if electrode is in FCAL.
bool isEMEC(const HWIdentifier id) const
Return yes if electrode is in EMEC.
std::vector< HWIdentifier >::const_iterator electrode_end(void) const
IdDictFieldImplementation m_electrode_impl
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
IdContext electrodeContext(void) const
Define feedthrough Context.
std::vector< HWIdentifier >::const_iterator electrode_begin(void) const
Return an iterator pointing to a collection of electrode identifiers.
int hv_phi(const HWIdentifier id) const
Return an integer corresponding to the high voltage phi sector of an hardware electrode identifier.
bool isEMBPS(const HWIdentifier id) const
Return yes if electrode is in EMBPS.
size_type m_electrode_index
unsigned long long size_type
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
bool isECPUR(const HWIdentifier id) const
Return yes if electrode is in EC PUR.
IdDictFieldImplementation m_zside_impl
IdDictFieldImplementation m_module_impl
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
MultiRange m_full_larelectrode_range
macros to associate a CLID to a type
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
bool isEMB(const HWIdentifier id) const
Return boolean yes if electrode is in EMB.