|
ATLAS Offline Software
|
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
More...
#include <LArHEC_Base_ID.h>
|
class | HashCalc |
| small class holding the starting hash value, the min eta and the number of phi bins of each region More...
|
|
|
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_Base_ID (const std::string &name, bool supercell) |
| Constructor. More...
|
|
| ~LArHEC_Base_ID () |
|
Identifier | region_id (const ExpandedIdentifier &exp_id) const |
| region identifier for a channel from ExpandedIdentifier More...
|
|
Identifier | channel_id (const ExpandedIdentifier &exp_id) const |
| channel 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 | 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 | region_id (const Identifier channelId) const |
| allows to know in which region is a channel/cell – valid for both kinds of channels 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 |
|
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 (void) const |
| begin iterator over set of region Identifiers More...
|
|
id_iterator | reg_end (void) 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 (void) const |
| begin iterator over full set of Hec Identifiers for channels More...
|
|
id_iterator | hec_end (void) 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...
|
|
Identifier | channel_id (IdentifierHash hashId) const |
| Return the channel (cell) 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...
|
|
const HashGroup & | channels () const |
| Return the HashGroup for channels (cells). More...
|
|
const HashGroup & | regions () const |
| Return the HashGroup for regions. More...
|
|
Identifier | channel_id (IdentifierHash hashId) const |
| Return the channel (cell) 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...
|
|
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 (void) |
|
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) |
|
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) |
|
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
Definition at line 43 of file LArHEC_Base_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_Base_ID()
LArHEC_Base_ID::LArHEC_Base_ID |
( |
const std::string & |
name, |
|
|
bool |
supercell |
|
) |
| |
Constructor.
If SUPERCELL is true, this helper is for supercells.
Definition at line 30 of file LArHEC_Base_ID.cxx.
32 ,
m_slar (supercell ? 1 : 0)
◆ ~LArHEC_Base_ID()
LArHEC_Base_ID::~LArHEC_Base_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 |
build a cell identifier for a channel
eta counting includes regions
Definition at line 53 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 |
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 |
◆ 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 |
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 65 of file LArHEC_Base_ID.cxx.
68 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 |
|
private |
Definition at line 424 of file LArHEC_Base_ID.cxx.
434 std::string errorMessage =
"LArHEC_Base_ID::channel_id(regId) result is not OK: ID = "
442 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 |
|
private |
Definition at line 408 of file LArHEC_Base_ID.cxx.
418 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 |
Version tags for subdet dictionaries.
Version tag for subdet dictionary.
Definition at line 723 of file AtlasDetectorID.cxx.
◆ 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 728 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 738 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 98 of file LArHEC_Base_ID.cxx.
106 if (
range.match(expId)) {
108 if (not eta_field.
empty()) {
◆ eta_min()
min value of eta index (-999 == failure)
- Warning
- input = REGION ID !!
Definition at line 72 of file LArHEC_Base_ID.cxx.
80 if (
range.match(expId)) {
82 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 701 of file LArHEC_Base_ID.cxx.
705 neighbourList.clear();
710 log << MSG::WARNING <<
"neighbours not initialized !!! returning empty list" <<
endmsg;
713 std::cout <<
" LArHEC_Base_ID: neighbours not initialized !!! returning empty list " << std::endl;
721 log << MSG::WARNING <<
"neighbours requested for non-existing channel -- id/max " <<
id <<
"/"
725 std::cout <<
" neighbours requested for non-existing channel -- id/max " <<
id <<
"/"
731 const short int maxNeighb=20;
733 int neighbourIndex = 0;
747 unsigned int minHash = hecRegion->
hashMin();
748 unsigned int maxHash = hecRegion->
hashMax();
759 prevNeighbInPhi=neighbList[neighbourIndex-1];
773 nextNeighbInPhi=neighbList[neighbourIndex-1];
801 unsigned int index1=prevNeighbInPhi;
802 int oldNeighbourIndex = neighbourIndex;
808 if ( neighbourIndex > oldNeighbourIndex+1 ) {
809 neighbList[oldNeighbourIndex] = neighbList[neighbourIndex-1];
810 neighbourIndex = oldNeighbourIndex+1;
812 oldNeighbourIndex = neighbourIndex;
814 if ( neighbourIndex > oldNeighbourIndex+1 ) {
815 neighbList[oldNeighbourIndex] = neighbList[neighbourIndex-1];
816 neighbourIndex = oldNeighbourIndex+1;
821 unsigned int index2=nextNeighbInPhi;
822 int oldNeighbourIndex = neighbourIndex;
828 if ( neighbourIndex > oldNeighbourIndex+1 ) {
829 neighbourIndex = oldNeighbourIndex+1;
831 oldNeighbourIndex = neighbourIndex;
833 if ( neighbourIndex > oldNeighbourIndex+1 ) {
834 neighbourIndex = oldNeighbourIndex+1;
861 neighbourList.resize(neighbourIndex);
862 if (neighbourIndex <= maxNeighb) {
863 std::copy (&neighbList[0], &neighbList[neighbourIndex], neighbourList.begin());
866 std::stringstream strm ;
867 strm << neighbourIndex ;
868 std::string strg =
"more than 20 neighbours for this cell, NONE will be retained "
875 std::cout <<
"WARNING: " << strg << std::endl;
◆ get_nextInEta()
Definition at line 966 of file LArHEC_Base_ID.cxx.
971 unsigned int nIndex = 0;
985 unsigned int minHashPlus = nextHecRegion->
hashMin();
986 float phiMargin = 0.25*
std::min(gPhi,gPhiPlus);
988 int nPhiPlusFirst =
int(std::floor((rPhi -nextHecRegion->
phiMin())
989 /gPhiPlus+phiMargin))+minHashPlus;
990 int nPhiPlusNext =
int(std::floor((rPhi+gPhi-nextHecRegion->
phiMin())
991 /gPhiPlus+phiMargin))+minHashPlus;
992 if ( nPhiPlusNext == nPhiPlusFirst ) nPhiPlusNext++;
994 for(
int i=nPhiPlusFirst;
i<nPhiPlusNext;
i++){
996 if(nIndex != nBiggerCell) {
998 neighbList[neighbourIndex] = nHash;
1003 if(gPhi < gPhiPlus && nBiggerCell ==
NOT_VALID_HASH) nBiggerCell=nIndex;
1011 neighbList[neighbourIndex] = nHash;
◆ get_nextInPhi()
◆ get_nextInSamp()
Definition at line 1078 of file LArHEC_Base_ID.cxx.
1084 unsigned int nIndex=0;
1089 int nNextSampReg = nextSampRegion.size();
1090 if(nNextSampReg > 0) {
1093 for(
int ireg=0; ireg<nNextSampReg; ireg++) {
1096 float minEtaPlus = nextHecRegion->
etaMin();
1097 float maxEtaPlus = nextHecRegion->
etaMax();
1098 float margin = 0.25*
std::min(gEta,granEtaPlus);
1099 if((minEtaPlus <
absEta+gEta-margin) && (
absEta+margin < maxEtaPlus)) {
1105 short int nPhiPlus = nextHecRegion->
phiN();
1106 unsigned int minHashPlus = nextHecRegion->
hashMin();
1108 float phiMargin = 0.25*
std::min(gPhi,gPhiPlus);
1111 int nPhiPlusFirst =
int(std::floor((rPhi -nextHecRegion->
phiMin())
1112 /gPhiPlus+phiMargin));
1113 int nPhiPlusNext =
int(std::floor((rPhi+gPhi-nextHecRegion->
phiMin())
1114 /gPhiPlus+phiMargin));
1115 if ( nPhiPlusNext == nPhiPlusFirst ) nPhiPlusNext++;
1117 double fEtaPlus = (
absEta-minEtaPlus) / granEtaPlus + margin ;
1118 int nEtaPlus =
int(fEtaPlus) ;
1119 for(
int i=nPhiPlusFirst;
i<nPhiPlusNext;
i++){
1120 nIndex = minHashPlus + nEtaPlus * nPhiPlus +
i;
1121 if( (nIndex >= nextHecRegion->
hashMin()) && (nIndex < nextHecRegion->hashMax()) ) {
1123 neighbList[neighbourIndex] = nHash;
◆ get_prevInEta()
Definition at line 912 of file LArHEC_Base_ID.cxx.
916 unsigned int nIndex = 0;
929 short int nPhiMinus = prevHecRegion->
phiN();
931 unsigned int maxHashMinus = prevHecRegion->
hashMax();
932 float phiMargin = 0.25*
std::min(gPhi,gPhiMinus);
933 float rPhi = (
index-minHash)*gPhi+hecRegion->
phiMin();
934 int nPhiMinusFirst =
int(std::floor((rPhi -prevHecRegion->
phiMin())
935 /gPhiMinus+phiMargin))
936 +maxHashMinus-nPhiMinus;
937 int nPhiMinusNext =
int(std::floor((rPhi+gPhi-prevHecRegion->
phiMin())
938 /gPhiMinus+phiMargin))
939 +maxHashMinus-nPhiMinus;
940 if ( nPhiMinusNext == nPhiMinusFirst ) nPhiMinusNext++;
942 for(
int i=nPhiMinusFirst;
i<nPhiMinusNext;
i++){
944 if(nIndex != nBiggerCell) {
946 neighbList[neighbourIndex] = nHash;
951 if(gPhi < gPhiMinus && nBiggerCell ==
NOT_VALID_HASH) nBiggerCell=nIndex;
959 neighbList[neighbourIndex] = nHash;
◆ get_prevInPhi()
◆ get_prevInSamp()
Definition at line 1018 of file LArHEC_Base_ID.cxx.
1024 unsigned int nIndex=0;
1030 int nPrevSampReg = prevSampRegion.size();
1031 if(nPrevSampReg > 0) {
1034 for(
int ireg=0; ireg<nPrevSampReg; ireg++) {
1036 float minEtaMinus = prevHecRegion->
etaMin();
1037 float maxEtaMinus = prevHecRegion->
etaMax();
1040 float margin = 0.25*
std::min(gEta,granEtaMinus);
1041 if((minEtaMinus <
absEta+gEta-margin) && (
absEta+margin < maxEtaMinus)) {
1048 short int nPhiMinus = prevHecRegion->
phiN();
1050 unsigned int minHashMinus = prevHecRegion->
hashMin();
1052 float phiMargin = 0.25*
std::min(gPhi,gPhiMinus);
1055 int nPhiMinusFirst =
int(std::floor((rPhi -prevHecRegion->
phiMin())
1056 /gPhiMinus+phiMargin));
1057 int nPhiMinusNext =
int(std::floor((rPhi+gPhi-prevHecRegion->
phiMin())
1058 /gPhiMinus+phiMargin));
1059 if ( nPhiMinusNext == nPhiMinusFirst ) nPhiMinusNext++;
1061 double fEtaMinus = (
absEta-minEtaMinus) / granEtaMinus + margin;
1062 short int nEtaMinus =
int(fEtaMinus) ;
1063 for(
int i=nPhiMinusFirst;
i<nPhiMinusNext;
i++){
1064 nIndex = minHashMinus + nEtaMinus * nPhiMinus +
i;
1065 if( (nIndex >= prevHecRegion->
hashMin()) && (nIndex < prevHecRegion->hashMax()) ) {
1067 neighbList[neighbourIndex] = nHash;
◆ 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 |
◆ 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 611 of file AtlasDetectorID.h.
◆ init_hashes()
int LArHEC_Base_ID::init_hashes |
( |
void |
| ) |
|
|
private |
◆ init_neighbors()
int LArHEC_Base_ID::init_neighbors |
( |
void |
| ) |
|
|
private |
Definition at line 1135 of file LArHEC_Base_ID.cxx.
1139 const std::vector<const IdDictRegion*>& vecOfDictRegions =
dictRegions();
1146 std::cout <<
" LArHEC_Base_ID::init_neighbors " << std::endl;
1154 std::vector<Identifier>::const_iterator debut=
reg_begin() ;
1155 std::vector<Identifier>::const_iterator
fin =
reg_end() ;
1157 for (; debut !=
fin; ++debut)
1168 if(
etaMin >= 0 && phiMin >= 0)
1175 log << MSG::ERROR <<
" LArId exception "
1176 << (std::string)except
1181 <<
" LArId exception "
1182 << (std::string)except
1192 log << MSG::WARNING <<
" could not find non negative etaMin and phiMin for region "
1197 std::cout <<
"WARNING !! could not find non negative etaMin and phiMin for region "
1217 unsigned int ireg0=0;
1234 IdDictRegion* prevEtaDicReg = vecOfDictRegions[reg]->m_prev_abs_eta;
1236 IdDictRegion* nextEtaDicReg = vecOfDictRegions[reg]->m_next_abs_eta;
1237 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1238 if(vecOfDictRegions[ireg] == prevEtaDicReg) regForPrevEta = ireg;
1239 if(vecOfDictRegions[ireg] == nextEtaDicReg) regForNextEta = ireg;
1246 std::vector<short int> regForPrevSamp;
1247 std::vector<IdDictRegion*> prevSampDicReg = vecOfDictRegions[reg]->m_prev_samp;
1248 for(
unsigned int isam=0;isam<prevSampDicReg.size();isam++){
1249 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1250 if(vecOfDictRegions[ireg] == prevSampDicReg[isam]) regForPrevSamp.push_back(ireg);
1254 std::vector<short int> regForNextSamp;
1255 std::vector<IdDictRegion*> nextSampDicReg = vecOfDictRegions[reg]->m_next_samp;
1256 for(
unsigned int isam=0;isam<nextSampDicReg.size();isam++){
1257 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1258 if(vecOfDictRegions[ireg] == nextSampDicReg[isam]) regForNextSamp.push_back(ireg);
1267 regForPrevEta,regForNextEta,
1268 regForPrevSamp,regForNextSamp);
1282 for (; debut !=
fin; ++debut) {
1285 if(regId != lastRegId) reg++;
1290 if ((
short int)hashReg != reg) {
1292 log << MSG::ERROR <<
" init_neighbors: problem reg, hashReg = " << reg <<
" " << hashReg
1296 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 |
|
) |
| |
initialization from the identifier dictionary
Definition at line 166 of file LArHEC_Base_ID.cxx.
172 std::string strg =
"initialize_base_from_dictionary";
177 log <<
MSG::DEBUG <<
"Request to reinitialize not satisfied - tags have not changed" <<
endmsg;
194 strg =
" initialize_base_from_dict - cannot initialize HEC part of LArCalorimeter dictionary ";
199 std::cout << strg << std::endl;
207 if (atlasDict->
get_label_value(
"subdet",
"LArCalorimeter", larField)) {
208 std::stringstream strm ;
209 strm << atlasDict->
m_name ;
210 strg =
"Could not get value for label 'LArCalorimeter' of field 'subdet' in dictionary "
216 std::cout << strg << std::endl;
222 int larHecField = -1;
223 if (
dict()->get_label_value(
"part",
"LArHEC", larHecField)) {
224 std::stringstream strm ;
225 strm << atlasDict->
m_name ;
226 strg =
"Could not get value for label 'LArHEC' of field 'part' in dictionary "
232 std::cout << strg << std::endl;
239 exp_region_id.
add(larField);
240 exp_region_id.
add(larHecField);
246 std::string strg0 =
"initialize_from_dict : " ;
255 std::cout << strg0 << std::endl;
256 std::cout << strg1 << std::endl;
257 std::cout << strg2 << std::endl;
319 std::string strg =
"setting etamin to 0 because actual value not found for regId "
325 std::cout << strg << std::endl;
331 std::string strg =
"setting phimin to 0 because actual value not found for regId "
337 std::cout << strg << std::endl;
342 hc.m_hash = min_hash;
344 hc.m_phimin = phimin;
349 std::stringstream strm ;
352 std::string strg =
"min > 15 "
358 std::cout << strg << std::endl;
367 std::stringstream strm ;
370 std::string strg =
"channel ranges, id, hash, i = "
376 std::cout << strg << std::endl;
◆ initialize_from_dictionary()
int AtlasDetectorID::initialize_from_dictionary |
( |
const IdDictMgr & |
dict_mgr | ) |
|
|
overridevirtualinherited |
Initialization from the identifier dictionary.
Implements IdHelper.
Reimplemented in SCT_ID, TRT_ID, SiliconID, LArOnline_SuperCellID, PixelID, MuonIdHelper, MdtIdHelper, CaloCell_Base_ID, sTgcIdHelper, CscIdHelper, MmIdHelper, TgcIdHelper, RpcIdHelper, PLR_ID, LArOnlineID_Base, CaloDM_ID, TileHWID, TileTBID, HGTD_ID, LArMiniFCAL_ID, LArElectrodeID, CaloLVL1_ID, LArEM_ID, LArEM_SuperCell_ID, TTOnlineID, LArHEC_ID, ZdcID, LArHVLineID, TileID, Tile_SuperCell_ID, LArFCAL_ID, LArHEC_SuperCell_ID, CaloCell_ID, LArFCAL_SuperCell_ID, GTower_ID, JTower_ID, and LArOnlineID.
Definition at line 320 of file AtlasDetectorID.cxx.
◆ initLevelsFromDict()
int LArHEC_Base_ID::initLevelsFromDict |
( |
const std::string & |
group_name | ) |
|
|
private |
Definition at line 469 of file LArHEC_Base_ID.cxx.
474 std::string strg =
"initLevelsFromDict - dictionary NOT initialized ";
479 std::cout << strg << std::endl;
498 std::stringstream strm ;
500 std::string strg =
"initLevelsFromDict - unable to find hec region index: id, reg "
501 + (std::string)expId + strm.str();
506 std::cout << strg << std::endl;
516 std::string strg =
"initLevelsFromDict - unable to find 'subdet' field ";
521 std::cout << strg << std::endl;
531 std::string strg =
"initLevelsFromDict - unable to find 'part' field ";
536 std::cout << strg << std::endl;
546 std::string strg =
"initLevelsFromDict - unable to find 'barrel-endcap' field ";
551 std::cout << strg << std::endl;
561 std::string strg =
"initLevelsFromDict - unable to find 'sampling' field ";
566 std::cout << strg << std::endl;
576 std::string strg =
"initLevelsFromDict - unable to find 'region' field ";
581 std::cout << strg << std::endl;
591 std::string strg =
"initLevelsFromDict - unable to find 'eta' field ";
596 std::cout << strg << std::endl;
606 std::string strg =
"initLevelsFromDict - unable to find 'phi' field ";
611 std::cout << strg << std::endl;
622 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'is-slar-hec' field "
626 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'is-slar-hec' field "
672 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 145 of file LArHEC_Base_ID.cxx.
153 if (
range.match(expId)) {
155 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 655 of file AtlasDetectorID.cxx.
663 unsigned int max_index = (context) ? context->
end_index() : 999;
694 if (!dict)
return (
result);
◆ reg_begin()
◆ reg_end()
◆ reg_range()
id_range LArHEC_Base_ID::reg_range |
( |
| ) |
const |
◆ 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 |
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 |
◆ region_id_checks()
void LArHEC_Base_ID::region_id_checks |
( |
int |
pos_neg, |
|
|
int |
sampling, |
|
|
int |
region |
|
) |
| const |
|
private |
Definition at line 392 of file LArHEC_Base_ID.cxx.
401 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 |
Register the file and tag names for a particular IdDict dictionary.
Definition at line 266 of file AtlasDetectorID.cxx.
273 if (!dict)
return(1);
◆ reinitialize()
Test whether an idhelper should be reinitialized based on the change of tags.
Definition at line 284 of file AtlasDetectorID.cxx.
294 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 565 of file AtlasDetectorID.cxx.
◆ show_to_string()
or provide the printout in string form
Definition at line 574 of file AtlasDetectorID.cxx.
580 std::string
result(
"Unable to decode id");
581 unsigned int max_index = (context) ? context->
end_index() : 999;
615 if (!dict)
return (
result);
629 for (
unsigned int i = 0;
i < expId.
fields(); ++
i) {
632 sprintf (temp,
"%d", expId[
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 |
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 362 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 365 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 378 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_hash_calcs
std::vector<HashCalc> LArHEC_Base_ID::m_hash_calcs |
|
private |
◆ 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 |
|
private |
◆ 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 |
|
private |
◆ m_vecOfCellInfo
std::vector<short int> LArHEC_Base_ID::m_vecOfCellInfo |
|
private |
◆ m_vecOfDictRegions
◆ m_vecOfPhiMin
std::vector<short int> LArHEC_Base_ID::m_vecOfPhiMin |
|
private |
◆ m_vecOfRegions
◆ m_ZDC_ID
int AtlasDetectorID::m_ZDC_ID {7} |
|
privateinherited |
The documentation for this class was generated from the following files:
JetConstituentVector::iterator iterator
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
int unpack(const Identifier &id, const ExpandedIdentifier &prefix, size_t index2, ExpandedIdentifier &unpackedId) const
Unpack the value_type id to an expanded Identifier, considering the provided prefix (result will incl...
IdDictFieldImplementation m_indet_part_impl
int eta(const Identifier id) const
return eta [0,9] outer part [0,3] inner part
AtlasDetectorIDHelper * m_helper
id_iterator reg_begin(void) const
begin iterator over set of region Identifiers
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.
id_iterator reg_end(void) const
end iterator over set of region Identifiers
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.
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.
CaloIDHelper(const std::string &name)
Constructor.
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.
id_iterator hec_end(void) const
end iterator over full set of Hec Identifiers for channels
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
friend class AtlasDetectorIDHelper
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.
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
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 .
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.
const std::vector< short int > & prevSamplingRegion() const
region number of the prev region in sampling
IdDictFieldImplementation m_pn_impl
IdDictFieldImplementation m_muon_mdt_impl
IdDictFieldImplementation m_region_impl
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
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
int initialize_from_dictionary(const IdDictMgr &dict_mgr, bool quiet)
Initialization from the identifier dictionary.
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
int register_dict_tag(const IdDictMgr &dict_mgr, const std::string &dict_name)
Register the file and tag names for a particular IdDict dictionary.
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
const std::string & name() const
Return the name for this helper.
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
id_iterator hec_begin(void) const
begin iterator over full set of Hec Identifiers for channels
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).
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.
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...
int initLevelsFromDict(const IdDictMgr &dict_mgr)
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)
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