 |
ATLAS Offline Software
|
Helper class for LArHEC offline identifiers for supercells.
More...
#include <LArHEC_SuperCell_ID.h>
|
enum | { NOT_VALID =999999
} |
|
typedef Identifier::size_type | size_type |
|
typedef std::vector< Identifier >::const_iterator | id_iterator |
| Type for iterators over identifiers. More...
|
|
typedef boost::iterator_range< id_iterator > | id_range |
| Type for range over identifiers. More...
|
|
enum | HelperType {
HelperType::Unimplemented = -1,
HelperType::Silicon = 0,
HelperType::Pixel,
HelperType::PLR,
HelperType::SCT,
HelperType::TRT,
HelperType::LArEM,
HelperType::LArFCal,
HelperType::LArFCalSuperCell,
HelperType::LArHEC,
HelperType::LArHEC_SuperCell,
HelperType::LARMiniFCal,
HelperType::Tile,
HelperType::TileSuperCell,
HelperType::LArOnline,
HelperType::LArOnlineSuperCell,
HelperType::LArElectrode,
HelperType::LArHVLine,
HelperType::TileHardware,
HelperType::TileTestbeam,
HelperType::CaloCell,
HelperType::CaloSuperCell,
HelperType::CaloDM,
HelperType::CaloLvl1,
HelperType::GTower,
HelperType::JTower,
HelperType::Muon,
HelperType::LUCID,
HelperType::LUCID_Hardware,
HelperType::Zdc,
HelperType::ZdcHardware,
HelperType::TT
} |
| enum class for eventual final derived types of this class More...
|
|
|
| LArHEC_SuperCell_ID () |
|
virtual int | initialize_from_dictionary (const IdDictMgr &dict_mgr) |
| initialization from the identifier dictionary More...
|
|
Identifier | region_id (const ExpandedIdentifier &exp_id) const |
| region identifier for a channel from ExpandedIdentifier More...
|
|
Identifier | region_id (int pos_neg, int sampling, int region) const |
| build a region identifier for a channel
More...
|
|
Identifier | region_id (int pos_neg, int sampling, int region, bool checks) const |
|
Identifier | region_id (const Identifier channelId) const |
| allows to know in which region is a channel/cell – valid for both kinds of channels More...
|
|
Identifier | region_id (IdentifierHash hashId) const |
| Return the region Identifier for a given hash code (no checking). More...
|
|
Identifier | region_id (IdentifierHash hashId) const |
| Return the region Identifier for a given hash code (no checking). More...
|
|
Identifier | channel_id (const ExpandedIdentifier &exp_id) const |
| channel identifier for a channel from ExpandedIdentifier More...
|
|
Identifier | channel_id (int pos_neg, int sampling, int region, int eta, int phi) const |
| build a cell identifier for a channel
More...
|
|
Identifier | channel_id (int pos_neg, int sampling, int region, int eta, int phi, bool checks) const |
|
Identifier | channel_id (int pos_neg, int sampling, int eta, int phi) const |
| build a cell identifier for a channel
eta counting includes regions
More...
|
|
Identifier | channel_id (int pos_neg, int sampling, int sector, int region, int eta, int phi_sector) const |
| For a specific sector , eta, phi_sector. More...
|
|
Identifier | channel_id (const Identifier regionId, int eta, int phi) const |
| allows to build a channel id starting from a region id (e.g. More...
|
|
Identifier | channel_id (const Identifier regionId, int eta, int phi, bool checks) const |
|
Identifier | channel_id (IdentifierHash hashId) const |
| Return the channel (cell) Identifier for a given hash code (no checking). More...
|
|
Identifier | channel_id (IdentifierHash hashId) const |
| Return the channel (cell) Identifier for a given hash code (no checking). More...
|
|
bool | is_supercell (const Identifier id) const |
| Test if the identifier represents a supercell. More...
|
|
IdentifierHash | channel_hash (Identifier channelId) const |
| create hash id from channel id
More...
|
|
IdentifierHash | channel_hash_binary_search (Identifier channelId) const |
| create hash id from channel id – method NOT optimised, please use channel_hash() above More...
|
|
id_iterator | reg_begin () const |
| begin iterator over set of region Identifiers More...
|
|
id_iterator | reg_end () const |
| end iterator over set of region Identifiers More...
|
|
id_range | reg_range () const |
| Range over set of Region Identifiers. More...
|
|
id_iterator | hec_begin () const |
| begin iterator over full set of Hec Identifiers for channels More...
|
|
id_iterator | hec_end () const |
| end iterator over full set of Hec Identifiers for channels More...
|
|
id_range | hec_range () const |
| Range over full set of HEC Identifiers. More...
|
|
const std::vector< Identifier > & | channel_ids () const |
| provide access to channel id vector, accessed via hash More...
|
|
const std::vector< Identifier > & | region_ids () const |
| provide access to region id vector, accessed via hash More...
|
|
int | pos_neg (const Identifier id) const |
| return pos_neg -2 (C side) or 2 (A side) More...
|
|
int | sampling (const Identifier id) const |
| return sampling [0,3] (only 0 for supercells) More...
|
|
int | region (const Identifier id) const |
| return region [0,1] More...
|
|
int | eta (const Identifier id) const |
| return eta [0,9] outer part [0,3] inner part More...
|
|
int | phi (const Identifier id) const |
| return phi[0,63] outer part [0,31] inner part More...
|
|
int | eta_min (const Identifier regId) const |
| min value of eta index (-999 == failure) More...
|
|
int | eta_max (const Identifier regId) const |
| max value of eta index (-999 == failure) More...
|
|
int | phi_min (const Identifier regId) const |
| min value of phi index (-999 == failure) More...
|
|
int | phi_max (const Identifier regId) const |
| max value of phi index (-999 == failure) More...
|
|
int | initialize_base_from_dictionary (const IdDictMgr &dict_mgr, const std::string &group_name) |
| initialization from the identifier dictionary More...
|
|
bool | twoSymSides () const |
| True if the + and - sides of the calorimeter are identical (true layout). More...
|
|
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 = prevInPhi, nextInPhi, prevInEta, nextInEta, faces 2D, corners2D, all2D, prevInSamp, nextInSamp, upAndDown, all3D
More...
|
|
const HashGroup & | channels () const |
| Return the HashGroup for channels (cells). More...
|
|
const HashGroup & | regions () const |
| Return the HashGroup for regions. More...
|
|
IdentifierHash | region_hash (Identifier regionId) const |
| Convert a connected region Identifier to a hash code. More...
|
|
virtual int | get_id (const IdentifierHash &hash_id, Identifier &id, const IdContext *context=0) const |
| Convert a hash code to an Identifier for either channels or regions, depending on the context. More...
|
|
virtual int | get_hash (const Identifier &id, IdentifierHash &hash_id, const IdContext *context=0) const |
| Convert an Identifier to a hash code for either channels or regions, depending on the context. More...
|
|
size_type | channel_hash_max () const |
| One more than the largest channel (cell) hash code. More...
|
|
size_type | region_hash_max () const |
| One more than the largest region hash code. More...
|
|
IdContext | channel_context () const |
| Return the context for channels (cells). More...
|
|
IdContext | region_context () const |
| Return the context for regions. More...
|
|
const std::vector< const IdDictRegion * > & | dictRegions () const |
| Return the vector of IdDictRegion , accessed via region hash. More...
|
|
float | etaGranularity (const IdentifierHash regHash) const |
| Return the eta granularity of a region, or NOT_VALID . More...
|
|
float | phiGranularity (const IdentifierHash regHash) const |
| Return the phi granularity of a region, or NOT_VALID . More...
|
|
float | eta0 (const IdentifierHash regHash) const |
| Return the minimum eta of region, or NOT_VALID . More...
|
|
float | phi0 (const IdentifierHash regHash) const |
| Return the minimum phi of region, or NOT_VALID . More...
|
|
const std::string & | name () const |
| Return the name for this helper. More...
|
|
IMessageSvc * | msgSvc () |
| Return the message service for this helper (may be null). More...
|
|
bool | msgLvl (const MSG::Level lvl) const |
| Test the output level. More...
|
|
MsgStream & | msg () const |
| The standard message stream. More...
|
|
MsgStream & | msg (const MSG::Level lvl) const |
| The standard message stream. More...
|
|
void | setLevel (MSG::Level lvl) |
| Change the current logging level. More...
|
|
|
int | phi_min_init (const Identifier regId) const |
|
void | region_id_checks (int pos_neg, int sampling, int region) const |
|
void | channel_id_checks (int pos_neg, int sampling, int region, int eta, int phi) const |
|
void | channel_id_checks (const Identifier regionId, int eta, int phi) const |
|
virtual int | get_expanded_id (const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const |
| create expanded Identifier from Identifier (return == 0 for OK) More...
|
|
int | initLevelsFromDict (const std::string &group_name) |
|
int | init_hashes () |
|
int | get_prevInEta (const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const float &gPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList, unsigned int &nBiggerCell) const |
|
int | get_nextInEta (const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const float &gPhi, const unsigned int &maxHash, int &neighbourIndex, IdentifierHash *neighbList, unsigned int &nBiggerCell) const |
|
int | get_prevInSamp (const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const |
|
int | get_nextInSamp (const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const |
|
int | init_neighbors () |
|
void | initMessaging () const |
| Initialize our message level and MessageSvc. More...
|
|
|
static int | get_prevInPhi (const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList) |
|
static int | get_nextInPhi (const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList) |
|
Helper class for LArHEC offline identifiers for supercells.
This class provides an interface to decode and generate offline identifiers for the supercell version of the HEC detector subsystem.
Definition and the range of values for the elements of the identifier are:
Connected channels :
------------------
element range meaning
------- ----- -------
pos/neg -2 or 2 -2 = negative HEC (C side), 2 = positive HEC ( A side)
sampling 0 All samplings are summed
region [0,1] 0 : outer part, 1 : inner part
eta [0,9] Outer part region 0, 1.5< eta <2.5 , deta=0.1
" [0,3] Inner part region 1, 2.5< eta <3.3 , deta=0.2
phi [0,63] Outer part, dphi=0.1
" [0,31] Inner part, dphi=0.2
1536 active supercells in the full HEC
Definition at line 54 of file LArHEC_SuperCell_ID.h.
◆ id_iterator
Type for iterators over identifiers.
Definition at line 42 of file CaloIDHelper.h.
◆ id_range
◆ size_type
◆ anonymous enum
◆ anonymous enum
◆ HelperType
enum class for eventual final derived types of this class
Enumerator |
---|
Unimplemented | |
Silicon | |
Pixel | |
PLR | |
SCT | |
TRT | |
LArEM | |
LArFCal | |
LArFCalSuperCell | |
LArHEC | |
LArHEC_SuperCell | |
LARMiniFCal | |
Tile | |
TileSuperCell | |
LArOnline | |
LArOnlineSuperCell | |
LArElectrode | |
LArHVLine | |
TileHardware | |
TileTestbeam | |
CaloCell | |
CaloSuperCell | |
CaloDM | |
CaloLvl1 | |
GTower | |
JTower | |
Muon | |
LUCID | |
LUCID_Hardware | |
Zdc | |
ZdcHardware | |
TT | |
Definition at line 60 of file AtlasDetectorID.h.
65 LArEM, LArFCal, LArFCalSuperCell,
66 LArHEC, LArHEC_SuperCell, LARMiniFCal,
70 LArOnline, LArOnlineSuperCell,
72 LArElectrode, LArHVLine,
73 TileHardware, TileTestbeam,
80 LUCID, LUCID_Hardware,
◆ ID
◆ LArHEC_SuperCell_ID()
LArHEC_SuperCell_ID::LArHEC_SuperCell_ID |
( |
| ) |
|
◆ alfa_exp()
◆ alfa_field_value()
int AtlasDetectorID::alfa_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ bcm_exp()
◆ bcm_field_value()
int AtlasDetectorID::bcm_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ calo()
◆ calo_exp()
◆ calo_field_value()
int AtlasDetectorID::calo_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ channel_context()
IdContext CaloIDHelper::channel_context |
( |
| ) |
const |
|
inherited |
Return the context for channels (cells).
◆ channel_hash()
create hash id from channel id
◆ channel_hash_binary_search()
create hash id from channel id – method NOT optimised, please use channel_hash() above
◆ channel_hash_max()
size_type CaloIDHelper::channel_hash_max |
( |
| ) |
const |
|
inherited |
One more than the largest channel (cell) hash code.
◆ channel_id() [1/9]
◆ channel_id() [2/9]
allows to build a channel id starting from a region id (e.g.
from descriptors) – valid for both kinds of channels
◆ channel_id() [3/9]
◆ channel_id() [4/9]
Return the channel (cell) Identifier for a given hash code (no checking).
◆ channel_id() [5/9]
Return the channel (cell) Identifier for a given hash code (no checking).
◆ channel_id() [6/9]
Identifier LArHEC_Base_ID::channel_id |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
eta, |
|
|
int |
phi |
|
) |
| const |
|
inherited |
build a cell identifier for a channel
eta counting includes regions
Definition at line 55 of file LArHEC_Base_ID.cxx.
◆ channel_id() [7/9]
Identifier LArHEC_Base_ID::channel_id |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
region, |
|
|
int |
eta, |
|
|
int |
phi |
|
) |
| const |
|
inherited |
build a cell identifier for a channel
◆ channel_id() [8/9]
Identifier LArHEC_Base_ID::channel_id |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
region, |
|
|
int |
eta, |
|
|
int |
phi, |
|
|
bool |
checks |
|
) |
| const |
|
inherited |
◆ channel_id() [9/9]
Identifier LArHEC_Base_ID::channel_id |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
sector, |
|
|
int |
region, |
|
|
int |
eta, |
|
|
int |
phi_sector |
|
) |
| const |
|
inherited |
For a specific sector , eta, phi_sector.
sector [0,31]
phi_sector [0,1] Outer part, dphi=0.1
" [0] Inner part, dphi=0.2
Definition at line 67 of file LArHEC_Base_ID.cxx.
70 int phi = (
region == 0 ? sector*2 + phi_sector : sector );
◆ channel_id_checks() [1/2]
void LArHEC_Base_ID::channel_id_checks |
( |
const Identifier |
regionId, |
|
|
int |
eta, |
|
|
int |
phi |
|
) |
| const |
|
privateinherited |
Definition at line 426 of file LArHEC_Base_ID.cxx.
436 std::string errorMessage =
"LArHEC_Base_ID::channel_id(regId) result is not OK: ID = "
444 std::string errorMessage =
"LArHEC_Base_ID::channel_id(regId) result is not OK: ID, range = "
◆ channel_id_checks() [2/2]
void LArHEC_Base_ID::channel_id_checks |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
region, |
|
|
int |
eta, |
|
|
int |
phi |
|
) |
| const |
|
privateinherited |
Definition at line 410 of file LArHEC_Base_ID.cxx.
420 std::string errorMessage =
"LArHEC_Base_ID::channel_id() result is not OK: ID, range = "
◆ channel_ids()
provide access to channel id vector, accessed via hash
◆ channels() [1/2]
Return the HashGroup
for channels (cells). non-const.
◆ channels() [2/2]
Return the HashGroup
for channels (cells).
◆ csc()
◆ csc_field_value()
int AtlasDetectorID::csc_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ detsystem_context()
IdContext AtlasDetectorID::detsystem_context |
( |
void |
| ) |
const |
|
inherited |
◆ dict()
Return the dictionary for this subdetector.
◆ dict_names()
const std::vector< std::string > & AtlasDetectorID::dict_names |
( |
void |
| ) |
const |
|
inherited |
◆ dict_tags()
const std::vector< std::string > & AtlasDetectorID::dict_tags |
( |
void |
| ) |
const |
|
inherited |
◆ dictionaryVersion()
std::string AtlasDetectorID::dictionaryVersion |
( |
void |
| ) |
const |
|
overridevirtualinherited |
◆ dictRegions()
Return the vector of IdDictRegion
, accessed via region hash.
◆ do_checks()
bool AtlasDetectorID::do_checks |
( |
void |
| ) |
const |
|
overridevirtualinherited |
Checks are performed by default in debug compilation and NOT in optimized compilation.
One can switch or query this mode for any idHelper with the following methods:
Implements IdHelper.
Definition at line 467 of file AtlasDetectorID.cxx.
◆ do_neighbours()
bool AtlasDetectorID::do_neighbours |
( |
void |
| ) |
const |
|
overridevirtualinherited |
Neighbour initialization is performed by default One can switch or query this mode for any idHelper with the following method:
Implements IdHelper.
Definition at line 474 of file AtlasDetectorID.cxx.
◆ eta()
return eta [0,9] outer part [0,3] inner part
◆ eta0()
Return the minimum eta of region, or NOT_VALID
.
- Parameters
-
Definition at line 207 of file CaloIDHelper.cxx.
◆ eta_max()
max value of eta index (-999 == failure)
- Warning
- input = REGION ID !!
Definition at line 100 of file LArHEC_Base_ID.cxx.
108 if (
range.match(expId)) {
110 if (not eta_field.
empty()) {
◆ eta_min()
min value of eta index (-999 == failure)
- Warning
- input = REGION ID !!
Definition at line 74 of file LArHEC_Base_ID.cxx.
82 if (
range.match(expId)) {
84 if (not eta_field.
empty()) {
◆ etaGranularity()
Return the eta granularity of a region, or NOT_VALID
.
- Parameters
-
Definition at line 185 of file CaloIDHelper.cxx.
◆ file_names()
const std::vector< std::string > & AtlasDetectorID::file_names |
( |
void |
| ) |
const |
|
inherited |
◆ fill_vec_of_dict_regions()
int CaloIDHelper::fill_vec_of_dict_regions |
( |
const std::string & |
group_name = "" | ) |
|
|
protectedinherited |
Initialize the list of detector regions.
init_regions
should have been called first.
- Parameters
-
group_name | The group for this helper. |
- Returns
- 0 on success; non-zero on failure.
Definition at line 259 of file CaloIDHelper.cxx.
◆ fix_barrel_ec()
std::string AtlasDetectorID::fix_barrel_ec |
( |
const std::string & |
barrel_ec | ) |
const |
|
protectedinherited |
◆ forward_field_value()
int AtlasDetectorID::forward_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ fwd_exp()
◆ get_expanded_id()
◆ get_hash()
Convert an Identifier to a hash code for either channels or regions, depending on the context.
Uses binary search. Some of the subdetector-specific helpers define faster versions of channel_hash
and region_hash
(that, however, do less checking).
- Parameters
-
| id | The identifier to convert. |
[out] | hash_id | The resulting hash code. Will be invalid if there was an error. |
| context | The context in which to do the conversion (specifies whether we want channels or regions). |
- Returns
- 0 for success, non-zero for failure (unrecognized context or Identifier.
Reimplemented from AtlasDetectorID.
Reimplemented in Tile_Base_ID.
Definition at line 161 of file CaloIDHelper.cxx.
169 const HashGroup* hg =
nullptr;
◆ get_id()
Convert a hash code to an Identifier for either channels or regions, depending on the context.
If you know the context at compile-time, channel_id
and region_id
will be faster (but they don't do range checking).
- Parameters
-
| hash_id | The hash code to convert. |
[out] | id | The resulting Identifier. Will be invalid if there was an error. |
| context | The context in which to do the conversion (specifies whether we want channels or regions). |
- Returns
- 0 for success, non-zero for failure (unrecognized context, or hash code out of range).
Reimplemented from AtlasDetectorID.
Reimplemented in Tile_Base_ID.
Definition at line 119 of file CaloIDHelper.cxx.
130 const HashGroup* hg =
nullptr;
135 if (hash_id < hg->hash_max()) {
136 id = hg->
id (hash_id);
◆ get_neighbours()
access to hashes for neighbours return == 0 for neighbours found
option = prevInPhi, nextInPhi, prevInEta, nextInEta, faces 2D, corners2D, all2D, prevInSamp, nextInSamp, upAndDown, all3D
in 'nextInEta' and 'nextInSamp', next means 'away from the centre of Atlas' <br>
in 'prevInEta' and 'prevInSamp', prev means 'towards the centre of Atlas' <br>
faces2D means prevInPhi + nextInPhi + prevInEta + nextInEta <br>
corners2D means corners in the same sampling,
not only touching cells but all corner cells forming a square (in case of change in eta granularity ) <br>
all2D means faces2D + corners2D <br>
upAndDown means prevInSamp + nextInSamp <br>
all3D means all2D + upAndDown <br>
Definition at line 703 of file LArHEC_Base_ID.cxx.
707 neighbourList.clear();
712 log << MSG::WARNING <<
"neighbours not initialized !!! returning empty list" <<
endmsg;
715 std::cout <<
" LArHEC_Base_ID: neighbours not initialized !!! returning empty list " << std::endl;
723 log << MSG::WARNING <<
"neighbours requested for non-existing channel -- id/max " <<
id <<
"/"
727 std::cout <<
" neighbours requested for non-existing channel -- id/max " <<
id <<
"/"
733 const short int maxNeighb=20;
735 int neighbourIndex = 0;
749 unsigned int minHash = hecRegion->
hashMin();
750 unsigned int maxHash = hecRegion->
hashMax();
761 prevNeighbInPhi=neighbList[neighbourIndex-1];
775 nextNeighbInPhi=neighbList[neighbourIndex-1];
803 unsigned int index1=prevNeighbInPhi;
804 int oldNeighbourIndex = neighbourIndex;
810 if ( neighbourIndex > oldNeighbourIndex+1 ) {
811 neighbList[oldNeighbourIndex] = neighbList[neighbourIndex-1];
812 neighbourIndex = oldNeighbourIndex+1;
814 oldNeighbourIndex = neighbourIndex;
816 if ( neighbourIndex > oldNeighbourIndex+1 ) {
817 neighbList[oldNeighbourIndex] = neighbList[neighbourIndex-1];
818 neighbourIndex = oldNeighbourIndex+1;
823 unsigned int index2=nextNeighbInPhi;
824 int oldNeighbourIndex = neighbourIndex;
830 if ( neighbourIndex > oldNeighbourIndex+1 ) {
831 neighbourIndex = oldNeighbourIndex+1;
833 oldNeighbourIndex = neighbourIndex;
835 if ( neighbourIndex > oldNeighbourIndex+1 ) {
836 neighbourIndex = oldNeighbourIndex+1;
863 neighbourList.resize(neighbourIndex);
864 if (neighbourIndex <= maxNeighb) {
865 std::copy (&neighbList[0], &neighbList[neighbourIndex], neighbourList.begin());
868 std::stringstream strm ;
869 strm << neighbourIndex ;
870 std::string strg =
"more than 20 neighbours for this cell, NONE will be retained "
877 std::cout <<
"WARNING: " << strg << std::endl;
◆ get_nextInEta()
Definition at line 968 of file LArHEC_Base_ID.cxx.
973 unsigned int nIndex = 0;
987 unsigned int minHashPlus = nextHecRegion->
hashMin();
988 float phiMargin = 0.25*
std::min(gPhi,gPhiPlus);
990 int nPhiPlusFirst =
int(std::floor((rPhi -nextHecRegion->
phiMin())
991 /gPhiPlus+phiMargin))+minHashPlus;
992 int nPhiPlusNext =
int(std::floor((rPhi+gPhi-nextHecRegion->
phiMin())
993 /gPhiPlus+phiMargin))+minHashPlus;
994 if ( nPhiPlusNext == nPhiPlusFirst ) nPhiPlusNext++;
996 for(
int i=nPhiPlusFirst;
i<nPhiPlusNext;
i++){
998 if(nIndex != nBiggerCell) {
1000 neighbList[neighbourIndex] = nHash;
1005 if(gPhi < gPhiPlus && nBiggerCell ==
NOT_VALID_HASH) nBiggerCell=nIndex;
1013 neighbList[neighbourIndex] = nHash;
◆ get_nextInPhi()
◆ get_nextInSamp()
Definition at line 1080 of file LArHEC_Base_ID.cxx.
1086 unsigned int nIndex=0;
1091 int nNextSampReg = nextSampRegion.size();
1092 if(nNextSampReg > 0) {
1095 for(
int ireg=0; ireg<nNextSampReg; ireg++) {
1098 float minEtaPlus = nextHecRegion->
etaMin();
1099 float maxEtaPlus = nextHecRegion->
etaMax();
1100 float margin = 0.25*
std::min(gEta,granEtaPlus);
1101 if((minEtaPlus <
absEta+gEta-margin) && (
absEta+margin < maxEtaPlus)) {
1107 short int nPhiPlus = nextHecRegion->
phiN();
1108 unsigned int minHashPlus = nextHecRegion->
hashMin();
1110 float phiMargin = 0.25*
std::min(gPhi,gPhiPlus);
1113 int nPhiPlusFirst =
int(std::floor((rPhi -nextHecRegion->
phiMin())
1114 /gPhiPlus+phiMargin));
1115 int nPhiPlusNext =
int(std::floor((rPhi+gPhi-nextHecRegion->
phiMin())
1116 /gPhiPlus+phiMargin));
1117 if ( nPhiPlusNext == nPhiPlusFirst ) nPhiPlusNext++;
1119 double fEtaPlus = (
absEta-minEtaPlus) / granEtaPlus + margin ;
1120 int nEtaPlus =
int(fEtaPlus) ;
1121 for(
int i=nPhiPlusFirst;
i<nPhiPlusNext;
i++){
1122 nIndex = minHashPlus + nEtaPlus * nPhiPlus +
i;
1123 if( (nIndex >= nextHecRegion->
hashMin()) && (nIndex < nextHecRegion->hashMax()) ) {
1125 neighbList[neighbourIndex] = nHash;
◆ get_prevInEta()
Definition at line 914 of file LArHEC_Base_ID.cxx.
918 unsigned int nIndex = 0;
931 short int nPhiMinus = prevHecRegion->
phiN();
933 unsigned int maxHashMinus = prevHecRegion->
hashMax();
934 float phiMargin = 0.25*
std::min(gPhi,gPhiMinus);
935 float rPhi = (
index-minHash)*gPhi+hecRegion->
phiMin();
936 int nPhiMinusFirst =
int(std::floor((rPhi -prevHecRegion->
phiMin())
937 /gPhiMinus+phiMargin))
938 +maxHashMinus-nPhiMinus;
939 int nPhiMinusNext =
int(std::floor((rPhi+gPhi-prevHecRegion->
phiMin())
940 /gPhiMinus+phiMargin))
941 +maxHashMinus-nPhiMinus;
942 if ( nPhiMinusNext == nPhiMinusFirst ) nPhiMinusNext++;
944 for(
int i=nPhiMinusFirst;
i<nPhiMinusNext;
i++){
946 if(nIndex != nBiggerCell) {
948 neighbList[neighbourIndex] = nHash;
953 if(gPhi < gPhiMinus && nBiggerCell ==
NOT_VALID_HASH) nBiggerCell=nIndex;
961 neighbList[neighbourIndex] = nHash;
◆ get_prevInPhi()
◆ get_prevInSamp()
Definition at line 1020 of file LArHEC_Base_ID.cxx.
1026 unsigned int nIndex=0;
1032 int nPrevSampReg = prevSampRegion.size();
1033 if(nPrevSampReg > 0) {
1036 for(
int ireg=0; ireg<nPrevSampReg; ireg++) {
1038 float minEtaMinus = prevHecRegion->
etaMin();
1039 float maxEtaMinus = prevHecRegion->
etaMax();
1042 float margin = 0.25*
std::min(gEta,granEtaMinus);
1043 if((minEtaMinus <
absEta+gEta-margin) && (
absEta+margin < maxEtaMinus)) {
1050 short int nPhiMinus = prevHecRegion->
phiN();
1052 unsigned int minHashMinus = prevHecRegion->
hashMin();
1054 float phiMargin = 0.25*
std::min(gPhi,gPhiMinus);
1057 int nPhiMinusFirst =
int(std::floor((rPhi -prevHecRegion->
phiMin())
1058 /gPhiMinus+phiMargin));
1059 int nPhiMinusNext =
int(std::floor((rPhi+gPhi-prevHecRegion->
phiMin())
1060 /gPhiMinus+phiMargin));
1061 if ( nPhiMinusNext == nPhiMinusFirst ) nPhiMinusNext++;
1063 double fEtaMinus = (
absEta-minEtaMinus) / granEtaMinus + margin;
1064 short int nEtaMinus =
int(fEtaMinus) ;
1065 for(
int i=nPhiMinusFirst;
i<nPhiMinusNext;
i++){
1066 nIndex = minHashMinus + nEtaMinus * nPhiMinus +
i;
1067 if( (nIndex >= prevHecRegion->
hashMin()) && (nIndex < prevHecRegion->hashMax()) ) {
1069 neighbList[neighbourIndex] = nHash;
◆ group()
const std::string & AtlasDetectorID::group |
( |
| ) |
const |
|
inherited |
◆ hec_begin()
begin iterator over full set of Hec Identifiers for channels
◆ hec_end()
end iterator over full set of Hec Identifiers for channels
◆ hec_range()
id_range LArHEC_Base_ID::hec_range |
( |
| ) |
const |
|
inherited |
◆ helper()
virtual HelperType AtlasDetectorID::helper |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ hgtd()
◆ hgtd_exp()
◆ hgtd_field_value()
int AtlasDetectorID::hgtd_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ indet()
◆ indet_exp()
◆ indet_field_value()
int AtlasDetectorID::indet_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
Provide efficient access to individual field values, for subclass idhelpers.
Definition at line 618 of file AtlasDetectorID.h.
◆ init_hashes()
int LArHEC_Base_ID::init_hashes |
( |
| ) |
|
|
privateinherited |
◆ init_neighbors()
int LArHEC_Base_ID::init_neighbors |
( |
| ) |
|
|
privateinherited |
Definition at line 1137 of file LArHEC_Base_ID.cxx.
1141 const std::vector<const IdDictRegion*>& vecOfDictRegions =
dictRegions();
1148 std::cout <<
" LArHEC_Base_ID::init_neighbors " << std::endl;
1156 std::vector<Identifier>::const_iterator debut=
reg_begin() ;
1157 std::vector<Identifier>::const_iterator
fin =
reg_end() ;
1159 for (; debut !=
fin; ++debut)
1170 if(
etaMin >= 0 && phiMin >= 0)
1177 log << MSG::ERROR <<
" LArId exception "
1178 << (std::string)except
1183 <<
" LArId exception "
1184 << (std::string)except
1194 log << MSG::WARNING <<
" could not find non negative etaMin and phiMin for region "
1199 std::cout <<
"WARNING !! could not find non negative etaMin and phiMin for region "
1219 unsigned int ireg0=0;
1236 IdDictRegion* prevEtaDicReg = vecOfDictRegions[reg]->m_prev_abs_eta;
1238 IdDictRegion* nextEtaDicReg = vecOfDictRegions[reg]->m_next_abs_eta;
1239 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1240 if(vecOfDictRegions[ireg] == prevEtaDicReg) regForPrevEta = ireg;
1241 if(vecOfDictRegions[ireg] == nextEtaDicReg) regForNextEta = ireg;
1248 std::vector<short int> regForPrevSamp;
1249 std::vector<IdDictRegion*> prevSampDicReg = vecOfDictRegions[reg]->m_prev_samp;
1250 for(
unsigned int isam=0;isam<prevSampDicReg.size();isam++){
1251 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1252 if(vecOfDictRegions[ireg] == prevSampDicReg[isam]) regForPrevSamp.push_back(ireg);
1256 std::vector<short int> regForNextSamp;
1257 std::vector<IdDictRegion*> nextSampDicReg = vecOfDictRegions[reg]->m_next_samp;
1258 for(
unsigned int isam=0;isam<nextSampDicReg.size();isam++){
1259 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1260 if(vecOfDictRegions[ireg] == nextSampDicReg[isam]) regForNextSamp.push_back(ireg);
1269 regForPrevEta,regForNextEta,
1270 regForPrevSamp,regForNextSamp);
1284 for (; debut !=
fin; ++debut) {
1287 if(regId != lastRegId) reg++;
1292 if ((
short int)hashReg != reg) {
1294 log << MSG::ERROR <<
" init_neighbors: problem reg, hashReg = " << reg <<
" " << hashReg
1298 std::cout <<
" init_neighbors: problem reg, hashReg = " << reg <<
" " << hashReg
◆ initialize_base_from_dictionary()
int LArHEC_Base_ID::initialize_base_from_dictionary |
( |
const IdDictMgr & |
dict_mgr, |
|
|
const std::string & |
group_name |
|
) |
| |
|
inherited |
initialization from the identifier dictionary
Definition at line 168 of file LArHEC_Base_ID.cxx.
174 std::string strg =
"initialize_base_from_dictionary";
179 log <<
MSG::DEBUG <<
"Request to reinitialize not satisfied - tags have not changed" <<
endmsg;
196 strg =
" initialize_base_from_dict - cannot initialize HEC part of LArCalorimeter dictionary ";
201 std::cout << strg << std::endl;
209 if (atlasDict->
get_label_value(
"subdet",
"LArCalorimeter", larField)) {
210 std::stringstream strm ;
211 strm << atlasDict->
m_name ;
212 strg =
"Could not get value for label 'LArCalorimeter' of field 'subdet' in dictionary "
218 std::cout << strg << std::endl;
224 int larHecField = -1;
225 if (
dict()->get_label_value(
"part",
"LArHEC", larHecField)) {
226 std::stringstream strm ;
227 strm << atlasDict->
m_name ;
228 strg =
"Could not get value for label 'LArHEC' of field 'part' in dictionary "
234 std::cout << strg << std::endl;
241 exp_region_id.
add(larField);
242 exp_region_id.
add(larHecField);
248 std::string strg0 =
"initialize_from_dict : " ;
257 std::cout << strg0 << std::endl;
258 std::cout << strg1 << std::endl;
259 std::cout << strg2 << std::endl;
321 std::string strg =
"setting etamin to 0 because actual value not found for regId "
327 std::cout << strg << std::endl;
333 std::string strg =
"setting phimin to 0 because actual value not found for regId "
339 std::cout << strg << std::endl;
344 hc.m_hash = min_hash;
346 hc.m_phimin = phimin;
351 std::stringstream strm ;
354 std::string strg =
"min > 15 "
360 std::cout << strg << std::endl;
369 std::stringstream strm ;
372 std::string strg =
"channel ranges, id, hash, i = "
378 std::cout << strg << std::endl;
◆ initialize_from_dictionary()
int LArHEC_SuperCell_ID::initialize_from_dictionary |
( |
const IdDictMgr & |
dict_mgr | ) |
|
|
virtual |
◆ initLevelsFromDict()
int LArHEC_Base_ID::initLevelsFromDict |
( |
const std::string & |
group_name | ) |
|
|
privateinherited |
Definition at line 471 of file LArHEC_Base_ID.cxx.
476 std::string strg =
"initLevelsFromDict - dictionary NOT initialized ";
481 std::cout << strg << std::endl;
500 std::stringstream strm ;
502 std::string strg =
"initLevelsFromDict - unable to find hec region index: id, reg "
503 + (std::string)expId + strm.str();
508 std::cout << strg << std::endl;
518 std::string strg =
"initLevelsFromDict - unable to find 'subdet' field ";
523 std::cout << strg << std::endl;
533 std::string strg =
"initLevelsFromDict - unable to find 'part' field ";
538 std::cout << strg << std::endl;
548 std::string strg =
"initLevelsFromDict - unable to find 'barrel-endcap' field ";
553 std::cout << strg << std::endl;
563 std::string strg =
"initLevelsFromDict - unable to find 'sampling' field ";
568 std::cout << strg << std::endl;
578 std::string strg =
"initLevelsFromDict - unable to find 'region' field ";
583 std::cout << strg << std::endl;
593 std::string strg =
"initLevelsFromDict - unable to find 'eta' field ";
598 std::cout << strg << std::endl;
608 std::string strg =
"initLevelsFromDict - unable to find 'phi' field ";
613 std::cout << strg << std::endl;
624 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'is-slar-hec' field "
628 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'is-slar-hec' field "
674 std::cout <<
"decode index and bit fields for each level: " << std::endl;
◆ initMessaging()
void AthMessaging::initMessaging |
( |
| ) |
const |
|
privateinherited |
Initialize our message level and MessageSvc.
This method should only be called once.
Definition at line 39 of file AthMessaging.cxx.
◆ is_alfa()
bool AtlasDetectorID::is_alfa |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_bcm()
bool AtlasDetectorID::is_bcm |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_calo() [1/2]
◆ is_calo() [2/2]
bool AtlasDetectorID::is_calo |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_csc() [1/2]
◆ is_csc() [2/2]
bool AtlasDetectorID::is_csc |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_forward()
bool AtlasDetectorID::is_forward |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_hgtd() [1/2]
◆ is_hgtd() [2/2]
bool AtlasDetectorID::is_hgtd |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_indet() [1/2]
◆ is_indet() [2/2]
bool AtlasDetectorID::is_indet |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lar() [1/2]
◆ is_lar() [2/2]
bool AtlasDetectorID::is_lar |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lar_dm()
bool AtlasDetectorID::is_lar_dm |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lar_em() [1/2]
◆ is_lar_em() [2/2]
bool AtlasDetectorID::is_lar_em |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lar_fcal() [1/2]
◆ is_lar_fcal() [2/2]
bool AtlasDetectorID::is_lar_fcal |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lar_hec() [1/2]
◆ is_lar_hec() [2/2]
bool AtlasDetectorID::is_lar_hec |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lar_minifcal() [1/2]
◆ is_lar_minifcal() [2/2]
bool AtlasDetectorID::is_lar_minifcal |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lucid()
bool AtlasDetectorID::is_lucid |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lumi() [1/2]
◆ is_lumi() [2/2]
bool AtlasDetectorID::is_lumi |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lvl1_online()
bool AtlasDetectorID::is_lvl1_online |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_lvl1_trig_towers()
bool AtlasDetectorID::is_lvl1_trig_towers |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_mdt() [1/2]
◆ is_mdt() [2/2]
bool AtlasDetectorID::is_mdt |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_mm() [1/2]
◆ is_mm() [2/2]
bool AtlasDetectorID::is_mm |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_muon() [1/2]
◆ is_muon() [2/2]
bool AtlasDetectorID::is_muon |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_pixel() [1/2]
◆ is_pixel() [2/2]
bool AtlasDetectorID::is_pixel |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_plr() [1/2]
◆ is_plr() [2/2]
bool AtlasDetectorID::is_plr |
( |
Identifier |
id | ) |
const |
|
inherited |
◆ is_rpc() [1/2]
◆ is_rpc() [2/2]
bool AtlasDetectorID::is_rpc |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_sct() [1/2]
◆ is_sct() [2/2]
bool AtlasDetectorID::is_sct |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_stgc() [1/2]
◆ is_stgc() [2/2]
bool AtlasDetectorID::is_stgc |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_supercell()
Test if the identifier represents a supercell.
◆ is_tgc() [1/2]
◆ is_tgc() [2/2]
bool AtlasDetectorID::is_tgc |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_tile() [1/2]
◆ is_tile() [2/2]
bool AtlasDetectorID::is_tile |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_tile_dm()
bool AtlasDetectorID::is_tile_dm |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_trt() [1/2]
◆ is_trt() [2/2]
bool AtlasDetectorID::is_trt |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ is_zdc()
bool AtlasDetectorID::is_zdc |
( |
Identifier |
id | ) |
const |
|
inlineinherited |
◆ lar()
◆ lar_dm()
◆ lar_em()
◆ lar_em_exp()
◆ lar_em_field_value()
int AtlasDetectorID::lar_em_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ lar_exp()
◆ lar_fcal()
Identifier AtlasDetectorID::lar_fcal |
( |
void |
| ) |
const |
|
inherited |
◆ lar_fcal_exp()
◆ lar_fcal_field_value()
int AtlasDetectorID::lar_fcal_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ lar_field_value()
int AtlasDetectorID::lar_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ lar_hec()
Identifier AtlasDetectorID::lar_hec |
( |
void |
| ) |
const |
|
inherited |
◆ lar_hec_exp()
◆ lar_hec_field_value()
int AtlasDetectorID::lar_hec_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ lar_lvl1()
Identifier AtlasDetectorID::lar_lvl1 |
( |
void |
| ) |
const |
|
inherited |
◆ lucid_exp()
◆ lucid_field_value()
int AtlasDetectorID::lucid_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ lumi()
◆ lumi_exp()
◆ lumi_field_value()
int AtlasDetectorID::lumi_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ mdt()
◆ mdt_field_value()
int AtlasDetectorID::mdt_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ mm()
◆ mm_field_value()
int AtlasDetectorID::mm_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ msg() [1/2]
MsgStream & AthMessaging::msg |
( |
| ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 164 of file AthMessaging.h.
◆ msg() [2/2]
MsgStream & AthMessaging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
The standard message stream.
Returns a reference to the default message stream May not be invoked before sysInitialize() has been invoked.
Definition at line 179 of file AthMessaging.h.
180 {
return msg() << lvl; }
◆ msgLvl()
bool AthMessaging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Test the output level.
- Parameters
-
lvl | The message level to test against |
- Returns
- boolean Indicating if messages at given level will be printed
- Return values
-
true | Messages at level "lvl" will be printed |
Definition at line 151 of file AthMessaging.h.
◆ msgSvc()
IMessageSvc* CaloIDHelper::msgSvc |
( |
| ) |
|
|
inherited |
Return the message service for this helper (may be null).
◆ muon()
◆ muon_exp()
◆ muon_field_value()
int AtlasDetectorID::muon_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ name()
const std::string& CaloIDHelper::name |
( |
| ) |
const |
|
inherited |
Return the name for this helper.
◆ phi()
return phi[0,63] outer part [0,31] inner part
◆ phi0()
Return the minimum phi of region, or NOT_VALID
.
- Parameters
-
Definition at line 218 of file CaloIDHelper.cxx.
◆ phi_max()
max value of phi index (-999 == failure)
- Warning
- input = REGION ID !!
Definition at line 147 of file LArHEC_Base_ID.cxx.
155 if (
range.match(expId)) {
157 if (not phi_field.
empty()) {
◆ phi_min()
min value of phi index (-999 == failure)
- Warning
- input = REGION ID !!
◆ phi_min_init()
◆ phiGranularity()
Return the phi granularity of a region, or NOT_VALID
.
- Parameters
-
Definition at line 196 of file CaloIDHelper.cxx.
◆ pixel()
◆ pixel_exp()
◆ pixel_field_value()
int AtlasDetectorID::pixel_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ plr_field_value()
int AtlasDetectorID::plr_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ pos_neg()
return pos_neg -2 (C side) or 2 (A side)
◆ print()
◆ print_to_string()
or provide the printout in string form
Definition at line 418 of file AtlasDetectorID.cxx.
425 unsigned int max_index = (context) ? context->
end_index() : 999;
449 ATH_MSG_WARNING(__func__<<
":"<<__LINE__<<
" No dictionary could be associated to "<<
id);
452 if (dict->unpack(compact,
prefix, max_index,
" ",
result)) {
◆ reg_begin()
◆ reg_end()
◆ reg_range()
id_range LArHEC_Base_ID::reg_range |
( |
| ) |
const |
|
inherited |
◆ region()
◆ region_context()
IdContext CaloIDHelper::region_context |
( |
| ) |
const |
|
inherited |
Return the context for regions.
◆ region_hash()
Convert a connected region Identifier to a hash code.
Some subdetector helpers may override this with a faster version.
◆ region_hash_max()
size_type CaloIDHelper::region_hash_max |
( |
| ) |
const |
|
inherited |
One more than the largest region hash code.
◆ region_id() [1/6]
◆ region_id() [2/6]
allows to know in which region is a channel/cell – valid for both kinds of channels
◆ region_id() [3/6]
Return the region Identifier for a given hash code (no checking).
◆ region_id() [4/6]
Return the region Identifier for a given hash code (no checking).
◆ region_id() [5/6]
Identifier LArHEC_Base_ID::region_id |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
region |
|
) |
| const |
|
inherited |
build a region identifier for a channel
◆ region_id() [6/6]
Identifier LArHEC_Base_ID::region_id |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
region, |
|
|
bool |
checks |
|
) |
| const |
|
inherited |
◆ region_id_checks()
void LArHEC_Base_ID::region_id_checks |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
region |
|
) |
| const |
|
privateinherited |
Definition at line 394 of file LArHEC_Base_ID.cxx.
403 std::string errorMessage =
"LArHEC_Base_ID::region_id() result is not OK: ID, range = "
◆ region_ids()
provide access to region id vector, accessed via hash
◆ regions() [1/2]
Return the HashGroup
for regions. non-const.
◆ regions() [2/2]
Return the HashGroup
for regions.
◆ register_dict_tag()
int AtlasDetectorID::register_dict_tag |
( |
const IdDictMgr & |
dict_mgr, |
|
|
const std::string & |
dict_name |
|
) |
| |
|
protectedinherited |
◆ reinitialize()
Test whether an idhelper should be reinitialized based on the change of tags.
Definition at line 216 of file AtlasDetectorID.cxx.
227 ATH_MSG_ERROR(
"reinitialize: dict names and tags vectors not the same length ");
◆ rpc()
◆ rpc_field_value()
int AtlasDetectorID::rpc_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ sampling()
return sampling [0,3] (only 0 for supercells)
◆ sct()
◆ sct_exp()
◆ sct_field_value()
int AtlasDetectorID::sct_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ set_do_checks()
void AtlasDetectorID::set_do_checks |
( |
bool |
do_checks | ) |
|
|
overridevirtualinherited |
◆ set_do_neighbours()
void AtlasDetectorID::set_do_neighbours |
( |
bool |
do_neighbours | ) |
|
|
overridevirtualinherited |
◆ set_quiet()
void AtlasDetectorID::set_quiet |
( |
bool |
quiet | ) |
|
|
inherited |
◆ setDictVersion()
|
overrideprotectedvirtualinherited |
◆ setLevel()
void AthMessaging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
inherited |
◆ setMessageSvc()
void AtlasDetectorID::setMessageSvc |
( |
IMessageSvc * |
msgSvc | ) |
|
|
overridevirtualinherited |
◆ show()
Short print out of any identifier (optionally provide separation character - default is '.
'):
Definition at line 354 of file AtlasDetectorID.cxx.
◆ show_to_string()
or provide the printout in string form
Definition at line 360 of file AtlasDetectorID.cxx.
363 std::string
result(
"Unable to decode id");
364 unsigned int max_index = (context) ? context->
end_index() : 999;
394 if (dict->unpack(compact,
prefix, max_index, expId)) {
402 for (
unsigned int i = 0;
i < expId.fields(); ++
i) {
◆ stgc()
◆ stgc_field_value()
int AtlasDetectorID::stgc_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ subdet_context()
IdContext AtlasDetectorID::subdet_context |
( |
void |
| ) |
const |
|
inherited |
◆ tgc()
◆ tgc_field_value()
int AtlasDetectorID::tgc_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ tile()
◆ tile_dm()
Identifier AtlasDetectorID::tile_dm |
( |
void |
| ) |
const |
|
inherited |
◆ tile_exp()
◆ tile_field_value()
int AtlasDetectorID::tile_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ to_range()
◆ trt()
◆ trt_exp()
◆ trt_field_value()
int AtlasDetectorID::trt_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ twoSymSides()
bool LArHEC_Base_ID::twoSymSides |
( |
| ) |
const |
|
inherited |
True if the + and - sides of the calorimeter are identical (true layout).
False if they are mirror reflections (used in early MC).
◆ zdc_exp()
◆ zdc_field_value()
int AtlasDetectorID::zdc_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ ATLAS_THREAD_SAFE
std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT |
|
mutableprivateinherited |
◆ m_ALFA_ID
int AtlasDetectorID::m_ALFA_ID {1} |
|
privateinherited |
◆ m_atlas_dict
◆ m_BCM_ID
int AtlasDetectorID::m_BCM_ID {3} |
|
privateinherited |
◆ m_calo_dict
◆ m_CALO_ID
int AtlasDetectorID::m_CALO_ID {10} |
|
privateinherited |
◆ m_calo_side_impl
◆ m_channels
◆ m_CSC_ID
int AtlasDetectorID::m_CSC_ID {1} |
|
privateinherited |
◆ m_det_impl
◆ m_DET_INDEX
◆ m_dict
◆ m_dict_names
std::vector<std::string> AtlasDetectorID::m_dict_names |
|
protectedinherited |
◆ m_dict_tags
std::vector<std::string> AtlasDetectorID::m_dict_tags |
|
protectedinherited |
◆ m_dict_version
std::string AtlasDetectorID::m_dict_version |
|
privateinherited |
◆ m_do_checks
bool AtlasDetectorID::m_do_checks {} |
|
protectedinherited |
Flag for subclasses to know whether or not to perform checks.
In general, this is set to false in optimized mode.
Definition at line 369 of file AtlasDetectorID.h.
◆ m_do_neighbours
bool AtlasDetectorID::m_do_neighbours {true} |
|
protectedinherited |
Flag for subclasses to know whether or not to perform neighbour initialization.
Definition at line 372 of file AtlasDetectorID.h.
◆ m_eta_impl
◆ m_ETA_INDEX
◆ m_file_names
std::vector<std::string> AtlasDetectorID::m_file_names |
|
protectedinherited |
List of dictionary file names used by this helper.
Definition at line 385 of file AtlasDetectorID.h.
◆ m_full_channel_range
◆ m_full_region_range
◆ m_fwd_dict
◆ m_FWD_ID
int AtlasDetectorID::m_FWD_ID {13} |
|
privateinherited |
◆ m_fwd_part_impl
◆ m_group
std::string AtlasDetectorID::m_group |
|
protectedinherited |
◆ m_hash_calcs
std::vector<HashCalc> LArHEC_Base_ID::m_hash_calcs |
|
privateinherited |
◆ m_hec_impl
◆ m_HEC_INDEX
◆ m_hec_region_index
◆ m_helper
◆ m_HGTD_ID
int AtlasDetectorID::m_HGTD_ID {4} |
|
privateinherited |
◆ m_imsg
std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr } |
|
mutableprivateinherited |
◆ m_indet_dict
◆ m_INDET_ID
int AtlasDetectorID::m_INDET_ID {2} |
|
privateinherited |
◆ m_indet_part_impl
◆ m_is_initialized_from_dict
bool AtlasDetectorID::m_is_initialized_from_dict {} |
|
privateinherited |
◆ m_isHighLuminosityLHC
bool AtlasDetectorID::m_isHighLuminosityLHC {} |
|
privateinherited |
◆ m_lar_dict
◆ m_lar_dm_field
◆ m_LAR_EM_ID
int AtlasDetectorID::m_LAR_EM_ID {1} |
|
privateinherited |
◆ m_LAR_FCAL_ID
int AtlasDetectorID::m_LAR_FCAL_ID {3} |
|
privateinherited |
◆ m_lar_fcal_module_impl
◆ m_LAR_FCAL_MODULE_INDEX
int AtlasDetectorID::m_LAR_FCAL_MODULE_INDEX {999} |
|
privateinherited |
◆ m_LAR_HEC_ID
int AtlasDetectorID::m_LAR_HEC_ID {2} |
|
privateinherited |
◆ m_LAR_ID
int AtlasDetectorID::m_LAR_ID {4} |
|
privateinherited |
◆ m_lar_impl
◆ m_LAR_INDEX
◆ m_lar_part_impl
◆ m_LUCID_ID
int AtlasDetectorID::m_LUCID_ID {5} |
|
privateinherited |
◆ m_LUMI_ID
int AtlasDetectorID::m_LUMI_ID {3} |
|
privateinherited |
◆ m_LUMI_PLR_ID
int AtlasDetectorID::m_LUMI_PLR_ID {1} |
|
privateinherited |
◆ m_lvl
std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL } |
|
mutableprivateinherited |
◆ m_lvl1_field
◆ m_lvl1_onl_field
◆ m_MDT_ID
int AtlasDetectorID::m_MDT_ID {0} |
|
privateinherited |
◆ m_MM_ID
int AtlasDetectorID::m_MM_ID {5} |
|
privateinherited |
◆ m_msg_tls
boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls |
|
mutableprivateinherited |
MsgStream instance (a std::cout like with print-out levels)
Definition at line 132 of file AthMessaging.h.
◆ m_msgSvc
IMessageSvc* AtlasDetectorID::m_msgSvc {} |
|
protectedinherited |
◆ m_muon_dict
◆ m_MUON_ID
int AtlasDetectorID::m_MUON_ID {7} |
|
privateinherited |
◆ m_muon_mdt_impl
◆ m_muon_rpc_impl
◆ m_muon_station_name_impl
◆ m_MUON_SUBDET_INDEX
size_type AtlasDetectorID::m_MUON_SUBDET_INDEX {999} |
|
privateinherited |
◆ m_muon_tech_bits
std::vector<unsigned int> AtlasDetectorID::m_muon_tech_bits |
|
privateinherited |
◆ m_name
std::string CaloIDHelper::m_name |
|
privateinherited |
◆ m_nm
std::string AthMessaging::m_nm |
|
privateinherited |
◆ m_phi_impl
◆ m_PHI_INDEX
◆ m_PIXEL_ID
int AtlasDetectorID::m_PIXEL_ID {1} |
|
privateinherited |
◆ m_pn_impl
◆ m_pn_reg_impl
◆ m_POSNEG_INDEX
◆ m_quiet
bool AtlasDetectorID::m_quiet {} |
|
protectedinherited |
◆ m_region_impl
◆ m_REGION_INDEX
◆ m_regions
◆ m_RPC_ID
int AtlasDetectorID::m_RPC_ID {2} |
|
privateinherited |
◆ m_sampling_impl
◆ m_SAMPLING_INDEX
◆ m_SCT_ID
int AtlasDetectorID::m_SCT_ID {2} |
|
privateinherited |
◆ m_slar
unsigned LArHEC_Base_ID::m_slar |
|
privateinherited |
◆ m_slar_impl
◆ m_SLAR_INDEX
◆ m_STGC_ID
int AtlasDetectorID::m_STGC_ID {4} |
|
privateinherited |
◆ m_SUBDET_INDEX
size_type AtlasDetectorID::m_SUBDET_INDEX {999} |
|
privateinherited |
◆ m_TGC_ID
int AtlasDetectorID::m_TGC_ID {3} |
|
privateinherited |
◆ m_tile_dict
◆ m_tile_dm_field
◆ m_TILE_ID
int AtlasDetectorID::m_TILE_ID {5} |
|
privateinherited |
◆ m_TRT_ID
int AtlasDetectorID::m_TRT_ID {3} |
|
privateinherited |
◆ m_two_sym_sides
bool LArHEC_Base_ID::m_two_sym_sides |
|
privateinherited |
◆ m_vecOfCellInfo
std::vector<short int> LArHEC_Base_ID::m_vecOfCellInfo |
|
privateinherited |
◆ m_vecOfDictRegions
◆ m_vecOfPhiMin
std::vector<short int> LArHEC_Base_ID::m_vecOfPhiMin |
|
privateinherited |
◆ m_vecOfRegions
◆ m_ZDC_ID
int AtlasDetectorID::m_ZDC_ID {7} |
|
privateinherited |
The documentation for this class was generated from the following files:
IdDictRegion * find_region(const std::string ®ion_name) const
bool is_pixel(Identifier id) const
std::atomic< MSG::Level > m_lvl
Current logging level.
IdDictFieldImplementation m_sampling_impl
const std::string & dict_tag(void) const
Access to the dictionary tag.
IdDictDictionary * m_muon_dict
int indet_field_value() const
Provide efficient access to individual field values, for subclass idhelpers.
bool isPhiMax(const unsigned int &index) const
is the considered cell in the last phi bin of the region ?
#define CXXUTILS_TRAPPING_FP
bool is_forward(Identifier id) const
unsigned int hashMin() const
hash Id of the first cell of the region
MultiRange build_multirange() const
Get MultiRange for full dictionary.
IdDictFieldImplementation m_pn_reg_impl
std::vector< unsigned int > m_muon_tech_bits
IdDictFieldImplementation m_hec_impl
id_iterator hec_begin() const
begin iterator over full set of Hec Identifiers for channels
IdDictFieldImplementation m_indet_part_impl
int eta(const Identifier id) const
return eta [0,9] outer part [0,3] inner part
std::vector< short int > m_vecOfCellInfo
bool is_lar_fcal(Identifier id) const
std::string show_to_string(void) const
bool is_lar(Identifier id) const
size_type channel_hash_max() const
One more than the largest channel (cell) hash code.
int muon_field_value() const
float etaMax() const
end eta
int get_nextInEta(const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const float &gPhi, const unsigned int &maxHash, int &neighbourIndex, IdentifierHash *neighbList, unsigned int &nBiggerCell) const
int fill_vec_of_dict_regions(const std::string &group_name="")
Initialize the list of detector regions.
const std::vector< short int > & nextSamplingRegion() const
region number of the next region in sampling
element_type get_minimum() const
Query the values.
IdDictFieldImplementation m_phi_impl
size_type end_index() const
Return the ending index of the context for this group.
int initLevelsFromDict(const std::string &group_name)
size_type end_index() const
int calo_field_value() const
IdContext region_context() const
Return the context for regions.
void add(element_type value)
Append a value into a new field.
Identifier id(IdentifierHash hashId) const
Return the identifier for a given hash code (no checking).
void pack(int value, Identifier &id) const
IdDictDictionary * m_tile_dict
IMessageSvc * m_msgSvc
pointer to the message service
std::string m_dict_version
bool isPhiMin(const unsigned int &index) const
is the considered cell in the first phi bin of the region ?
element_type get_maximum() const
bool m_do_checks
Flag for subclasses to know whether or not to perform checks.
static constexpr value_type MAX_BIT
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
int lar_field_value() const
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
int unpack(Identifier id) const
Identifier manipulation methods.
bool isEtaMax(const unsigned int &index) const
is the considered cell in the last eta bin of the region ?
Identifier region_id(const ExpandedIdentifier &exp_id) const
region identifier for a channel from ExpandedIdentifier
int get_hash(Identifier id, IdentifierHash &hash_id) const
Look up the hash code corresponding to an Identifier.
int lar_hec_field_value() const
virtual bool do_neighbours(void) const override
Neighbour initialization is performed by default One can switch or query this mode for any idHelper w...
virtual int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded Identifier from Identifier (return == 0 for OK)
constexpr int nPhi
Default bin number of phi for vertex map.
IMessageSvc * getMessageSvc(bool quiet=false)
IdDictField * find_field(const std::string &name) const
bool is_lvl1_trig_towers(Identifier id) const
float etaMin() const
starting eta
const HashGroup & regions() const
Return the HashGroup for regions.
virtual std::string dictionaryVersion(void) const override
float phiGranularity() const
phi granularity
bool m_do_neighbours
Flag for subclasses to know whether or not to perform neighbour initialization.
std::vector< short int > m_vecOfPhiMin
static int get_prevInPhi(const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList)
std::vector< const IdDictRegion * > m_vecOfDictRegions
List of IdDictRegion objects.
bool match(element_type value) const
The basic match operation Given a value, test to see if it satisfies the constraints for this field.
IdentifierHash channel_hash_binary_search(Identifier channelId) const
create hash id from channel id – method NOT optimised, please use channel_hash() above
Range::field m_tile_dm_field
size_type begin_index() const
static constexpr value_type ALL_BITS
IdDictDictionary * find_dictionary(const std::string &name) const
Access dictionary by name.
size_type region_hash_max() const
One more than the largest region hash code.
size_type m_hec_region_index
This class provides an interface to deal with regions in the neighbours finding
msgSvc
Provide convenience handles for various services.
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
bool empty() const
If true, this field does not have any constraints, and may hold any value representable by element_ty...
std::string m_group
Group name.
IdDictDictionary * m_calo_dict
float etaGranularity(const IdentifierHash regHash) const
Return the eta granularity of a region, or NOT_VALID.
bool isEtaMin(const unsigned int &index) const
is the considered cell in the first eta bin of the region ?
void set_bits(size_type bits, size_type bits_offset)
bool m_is_initialized_from_dict
IdDictFieldImplementation m_lar_part_impl
ExpandedIdentifier indet_exp(void) const
Detector systems:
HashGroup m_regions
Group of region Identifiers.
const IdDictDictionary * dict() const
Return the dictionary for this subdetector.
id_iterator hec_end() const
end iterator over full set of Hec Identifiers for channels
const std::vector< short int > & prevSamplingRegion() const
region number of the prev region in sampling
id_iterator reg_end() const
end iterator over set of region Identifiers
IdDictFieldImplementation m_pn_impl
IdDictFieldImplementation m_muon_mdt_impl
IdDictFieldImplementation m_region_impl
int initialize_base_from_dictionary(const IdDictMgr &dict_mgr, const std::string &group_name)
initialization from the identifier dictionary
IdDictFieldImplementation m_lar_fcal_module_impl
size_type bits_offset() const
bool is_tile_dm(Identifier id) const
int phi_min(const Identifier regId) const
min value of phi index (-999 == failure)
std::vector< IdDictRegion * > m_regions
float phiMin() const
starting phi
bool twoSymSides() const
True if the + and - sides of the calorimeter are identical (true layout).
float etaGranularity() const
eta granularity
IdDictDictionary * m_fwd_dict
int get_nextInSamp(const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const
bool is_tile(Identifier id) const
const std::string & group() const
Group name for this helper.
int phi_min_init(const Identifier regId) const
ExpandedIdentifier lar_hec_exp(void) const
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
IdentifierHash channel_hash(Identifier channelId) const
create hash id from channel id
short int phiN() const
number of phi bins
IdDictFieldImplementation m_slar_impl
Range::field m_lvl1_onl_field
bool m_quiet
If true, suppress DEBUG/INFO messages.
IdDictFieldImplementation m_lar_impl
MsgStream & msg() const
The standard message stream.
int initialize_base_from_dictionary(const IdDictMgr &dict_mgr, const std::string &dict_name)
Do basic initialization of the helper.
IdDictFieldImplementation m_muon_rpc_impl
bool is_calo(Identifier id) const
const std::string & file_name(void) const
Access to file name.
int tile_field_value() const
int get_label_value(const std::string &field, const std::string &label, int &value) const
std::string print_to_string(Identifier id, const IdContext *context=0) const
or provide the printout in string form
int get_prevInEta(const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const float &gPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList, unsigned int &nBiggerCell) const
float eta0(const IdentifierHash regHash) const
Return the minimum eta of region, or NOT_VALID.
std::vector< HashCalc > m_hash_calcs
MultiRange m_full_region_range
IdDictDictionary * m_indet_dict
IdDictFieldImplementation m_calo_side_impl
bool is_indet(Identifier id) const
std::vector< std::string > m_dict_names
List of dictionary names used by this helper.
Range::field m_lar_dm_field
Identifier channel_id(const ExpandedIdentifier &exp_id) const
channel identifier for a channel from ExpandedIdentifier
virtual void setDictVersion(const IdDictMgr &dict_mgr, const std::string &name) override
size_type m_SAMPLING_INDEX
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
short int nextEtaRegion() const
region number of the next region in eta
ExpandedIdentifier fwd_exp(void) const
def init(v_theApp, v_rootStream=None)
static int get_nextInPhi(const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList)
IdDictFieldImplementation m_muon_station_name_impl
const IdDictDictionary * m_dict
The dictionary for this helper.
const HashGroup & channels() const
Return the HashGroup for channels (cells).
LArHEC_Base_ID(const std::string &name, const std::string &group, bool supercell)
Constructor.
int match(const ExpandedIdentifier &id) const
Match an identifier.
bool is_lumi(Identifier id) const
bool reinitialize(const IdDictMgr &dict_mgr)
Test whether an idhelper should be reinitialized based on the change of tags.
bool is_supercell(const Identifier id) const
Test if the identifier represents a supercell.
bool is_lar_dm(Identifier id) const
LAr/Tile dead material:
bool is_muon(Identifier id) const
IdDictFieldImplementation m_det_impl
float phi0(const IdentifierHash regHash) const
Return the minimum phi of region, or NOT_VALID.
Data object for each calorimeter readout cell.
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
const std::vector< const IdDictRegion * > & dictRegions() const
Return the vector of IdDictRegion, accessed via region hash.
ExpandedIdentifier lar_exp(void) const
std::vector< std::string > m_file_names
List of dictionary file names used by this helper.
#define ATH_MSG_WARNING(x)
HashGroup m_channels
Group of channel (cell) Identifiers.
std::string m_nm
Message source name.
unsigned int hashMax() const
hash Id of the last cell of the region +1
int sampling(const Identifier id) const
return sampling [0,3] (only 0 for supercells)
This is the individual specification for the range of one ExpandedIdentifier IdentifierField.
bool absEta(const xAOD::TauJet &tau, double &out)
int pos_neg(const Identifier id) const
return pos_neg -2 (C side) or 2 (A side)
void clear()
Erase all fields.
MultiRange m_full_channel_range
IdDictDictionary * m_lar_dict
unsigned long long value_type
bool is_lvl1_online(Identifier id) const
std::vector< LArHEC_region * > m_vecOfRegions
float phiGranularity(const IdentifierHash regHash) const
Return the phi granularity of a region, or NOT_VALID.
virtual int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const =0
Create an expanded Identifier from an Identifier.
void initMessaging() const
Initialize our message level and MessageSvc.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
constexpr int nEta
Default bin number of eta for vertex map.
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
id_iterator reg_begin() const
begin iterator over set of region Identifiers
int get_prevInSamp(const LArHEC_region *hecRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const
int phi_max(const Identifier regId) const
max value of phi index (-999 == failure)
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
int region(const Identifier id) const
return region [0,1]
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
std::vector< std::string > m_dict_tags
List of dictionary versions used by this helper.
IdDictFieldImplementation m_eta_impl
IdentifierHash region_hash(Identifier regionId) const
Convert a connected region Identifier to a hash code.
Exception class for LAr Identifiers.
short int prevEtaRegion() const
region number of the previous region in eta
Range::field m_lvl1_field
Identifier::size_type size_type
int phi(const Identifier id) const
return phi[0,63] outer part [0,31] inner part