Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Helper class for LArEM offline identifiers.
More...
#include <LArEM_ID.h>
|
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 | { NOT_VALID =999999
} |
|
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...
|
|
|
| LArEM_ID (void) |
|
| ~LArEM_ID (void) |
|
virtual int | initialize_from_dictionary (const IdDictMgr &dict_mgr) |
| initialization from the identifier dictionary More...
|
|
Identifier | region_id (const ExpandedIdentifier &exp_id) const |
| Build a cell identifier from an expanded identifier. More...
|
|
Identifier | region_id (int barrel_ec, int sampling, int region) const |
| build a region identifier More...
|
|
Identifier | region_id (int barrel_ec, 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 |
| Build a cell identifier from an expanded identifier. More...
|
|
Identifier | channel_id (int barrel_ec, int sampling, int region, int eta, int phi) const |
| build a cell identifier More...
|
|
Identifier | channel_id (int barrel_ec, int sampling, int region, int eta, int phi, bool checks) const |
|
Identifier | channel_id (const Identifier regionId, int eta, int phi) const |
| allows to build a cell 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...
|
|
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 | em_begin (void) const |
| begin iterator over full set of EM Identifiers More...
|
|
id_iterator | em_end (void) const |
| end iterator over full set of EM Identifiers More...
|
|
id_range | em_range () const |
| Range over full set of EM Identifiers. More...
|
|
const std::vector< Identifier > & | channel_ids () const |
| provide access to channel id vector, accessed via hash More...
|
|
bool | is_em_barrel (const Identifier id) const |
| test if the id belongs to the EM barrel More...
|
|
bool | is_em_endcap (const Identifier id) const |
| test if the id belongs to the EM Endcap More...
|
|
bool | is_em_endcap_inner (const Identifier id) const |
| test if the id belongs to the EM Endcap inner wheel More...
|
|
bool | is_em_endcap_outer (const Identifier id) const |
| test if the id belongs to the EM Endcap outer wheel More...
|
|
int | barrel_ec (const Identifier id) const |
| return barrel_ec according to :
More...
|
|
int | sampling (const Identifier id) const |
| return sampling according to :
More...
|
|
int | region (const Identifier id) const |
| return region according to :
More...
|
|
int | eta (const Identifier id) const |
| return eta according to :
More...
|
|
int | phi (const Identifier id) const |
| return phi according to :
More...
|
|
bool | is_supercell (const Identifier id) const |
| Test if the identifier represents a supercell. 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, faces2D, corners2D, all2D, prevInSamp, nextInSamp, upAndDown, prevSubDet, nextSubDet, all3D
More...
|
|
IdentifierHash | region_hash (Identifier regionId) const |
| Convert a connected region Identifier to a hash code. More...
|
|
IdentifierHash | region_hash (Identifier regionId) const |
| Convert a connected region Identifier to a hash code. More...
|
|
const HashGroup & | channels () const |
| Return the HashGroup for channels (cells). More...
|
|
const HashGroup & | regions () const |
| Return the HashGroup for regions. 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...
|
|
|
void | region_id_checks (int barrel_ec, int sampling, int region) const |
|
void | channel_id_checks (int barrel_ec, 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 | phi_min_init (const Identifier regId) const |
|
int | initLevelsFromDict (const std::string &group_name) |
|
int | init_hashes (void) |
|
int | get_prevInEta (const LArEM_region *emRegion, 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 LArEM_region *emRegion, 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 LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &gEta, const float &gPhi, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const |
|
int | get_nextInSamp (const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &gEta, const float &gPhi, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const |
|
int | get_prevInSubdet (const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &gEta, const float &gPhi, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const |
|
int | get_nextInSubdet (const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &gEta, const float &gPhi, 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 LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList) |
|
static int | get_nextInPhi (const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList) |
|
Helper class for LArEM offline identifiers.
This class provides an interface to decode and generate offline identifiers for the LAr EM detector subsystem.
Definition and range of values for the elements of the identifier are:
Connected channels :
element range meaning
barrel_ec +/-1 positive/negative barrel - A/C side or P/M half barrel
" +/-2 positive/negative endcap outer wheel - A/C side
" +/-3 positive/negative endcap inner wheel - A/C side
sampling 0 both presamplers
" [1,3] barrel and endcap outer wheel
" [1,2] endcap inner wheel
region 0 both presamplers
" [0,1] barrel sampling 1 and 2
" 0 barrel sampling 3
"
" [0,5] endcap outer wheel sampling 1
" 0 endcap inner wheel sampling 1
" [0,1] endcap outer wheel sampling 2
" 0 endcap inner wheel sampling 2
" 0 endcap outer wheel sampling 3
eta for barrel [0,60] presampler - 0< eta <1.52 - deta is approximately equal to 0.025
" [0,447] sampling 1 region 0 0 < eta < 1.4 - deta = 0.025/8
" [0,2] sampling 1 region 1 1.4 < eta < 1.475 - deta = 0.025
" [0,55] sampling 2 region 0 0 < eta < 1.4 - deta = 0.025
" 0 sampling 2 region 1 1.4 < eta < 1.475 - deta = 0.075
" [0,26] sampling 3 region 0 0 < eta < 1.35 - deta = 0.050
"
phi for barrel [0,63] barrel presampler - dphi = 0.1
" [0,63] sampling 1 region 0 - dphi = 0.1
" [0,255] sampling 1 region 1 - dphi = 0.025
" [0,255] sampling 2 region 0 - dphi = 0.025
" [0,255] sampling 2 region 1 - dphi = 0.025
" [0,255] sampling 3 region 0 - dphi = 0.025
number of cells in barrel :
presampler : 7808
sampling 1 : 58752
sampling 2 : 29184
sampling 3 : 13824
total :109568
eta for endcap [0,11] presampler sampling 0 region 0 1.5 < eta < 1.8 - deta = 0.025
" 0 outer wheel sampling 1 region 0 1.375 < eta < 1.425 - deta = 0.05
" [0,2] outer wheel sampling 1 region 1 1.425 < eta < 1.5 - deta = 0.025
" [0,95] outer wheel sampling 1 region 2 1.5 < eta < 1.8 - deta = 0.025/8
" [0,47] outer wheel sampling 1 region 3 1.8 < eta < 2.0 - deta = 0.025/6
" [0,63] outer wheel sampling 1 region 4 2.0 < eta < 2.4 - deta = 0.025/4
" [0,3] outer wheel sampling 1 region 5 2.4 < eta < 2.5 - deta = 0.025
" [0,6] inner wheel sampling 1 region 0 2.5 < eta < 3.2 - deta = 0.1
" 0 outer wheel sampling 2 region 0 1.375 < eta < 1.425 - deta = 0.05
" [0,42] outer wheel sampling 2 region 1 1.425 < eta < 2.5 - deta = 0.025
" [0,6] inner wheel sampling 2 region 0 2.5 < eta < 3.2 - deta = 0.1
" [0,19] outer wheel sampling 3 region 0 1.5 < eta < 2.5 - deta = 0.05
phi for endcap [0,63] presampler sampling 0 region 0 - dphi = 0.1
" [0,63] outer wheel sampling 1 regions [0,5] - dphi = 0.1
" [0,63] inner wheel sampling 1 region 0 - dphi = 0.1
" [0,255] outer wheel sampling 2 regions [0,1] - dphi = 0.025
" [0,63] inner wheel sampling 2 region 0 - dphi = 0.1
" [0,255] outer wheel sampling 3 region 0 - dphi = 0.025
number of cells in endcap :
presampler : 1536
Outer wheel:
sampling 1 : 27648
sampling 2 : 22528
sampling 3 : 10240
total : 60416
Inner wheel:
sampling 1 : 896
sampling 2 : 896
total : 1792
Grand Total : 63744
- Author
- started by RD Schaffer
-
maintained by Fabienne Ledroit
Definition at line 117 of file LArEM_ID.h.
◆ id_iterator
◆ 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
◆ LArEM_ID()
LArEM_ID::LArEM_ID |
( |
void |
| ) |
|
◆ ~LArEM_ID()
LArEM_ID::~LArEM_ID |
( |
void |
| ) |
|
|
default |
◆ alfa_exp()
◆ alfa_field_value()
int AtlasDetectorID::alfa_field_value |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ barrel_ec()
return barrel_ec according to :
element range meaning
------- ----- -------
barrel_ec +/-1 positive/negative barrel - A/C side or P/M half barrel
" +/-2 positive/negative endcap outer wheel - A/C side
" +/-3 positive/negative endcap inner wheel - A/C side
◆ 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/7]
Build a cell identifier from an expanded identifier.
◆ channel_id() [2/7]
allows to build a cell id starting from a region id (e.g.
from descriptors) – valid for both kinds of channels
◆ channel_id() [3/7]
◆ channel_id() [4/7]
Return the channel (cell) Identifier for a given hash code (no checking).
◆ channel_id() [5/7]
Return the channel (cell) Identifier for a given hash code (no checking).
◆ channel_id() [6/7]
Identifier LArEM_Base_ID::channel_id |
( |
int |
barrel_ec, |
|
|
int |
sampling, |
|
|
int |
region, |
|
|
int |
eta, |
|
|
int |
phi |
|
) |
| const |
|
inherited |
◆ channel_id() [7/7]
Identifier LArEM_Base_ID::channel_id |
( |
int |
barrel_ec, |
|
|
int |
sampling, |
|
|
int |
region, |
|
|
int |
eta, |
|
|
int |
phi, |
|
|
bool |
checks |
|
) |
| const |
|
inherited |
◆ channel_id_checks() [1/2]
void LArEM_Base_ID::channel_id_checks |
( |
const Identifier |
regionId, |
|
|
int |
eta, |
|
|
int |
phi |
|
) |
| const |
|
privateinherited |
Definition at line 168 of file LArEM_Base_ID.cxx.
178 std::string errorMessage =
"LArEM_Base_ID::channel_id_checks(regId) result is not OK: ID = "
186 std::string errorMessage =
"LArEM_Base_ID::channel_id_checks(regId) result is not OK: ID, range = "
◆ channel_id_checks() [2/2]
void LArEM_Base_ID::channel_id_checks |
( |
int |
barrel_ec, |
|
|
int |
sampling, |
|
|
int |
region, |
|
|
int |
eta, |
|
|
int |
phi |
|
) |
| const |
|
privateinherited |
Definition at line 152 of file LArEM_Base_ID.cxx.
162 std::string errorMessage =
"LArEM_Base_ID::channel_id_checks() 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 457 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 464 of file AtlasDetectorID.cxx.
◆ em_begin()
◆ em_end()
◆ em_range()
id_range LArEM_Base_ID::em_range |
( |
| ) |
const |
|
inherited |
◆ eta()
return eta according to :
Cells:
element range meaning
eta for barrel [0,60] presampler - 0< eta <1.52 - deta is approximately equal to 0.025
" [0,447] sampling 1 region 0 0 < eta < 1.4 - deta = 0.025/8
" [0,2] sampling 1 region 1 1.4 < eta < 1.475 - deta = 0.025
" [0,55] sampling 2 region 0 0 < eta < 1.4 - deta = 0.025
" 0 sampling 2 region 1 1.4 < eta < 1.475 - deta = 0.075
" [0,26] sampling 3 region 0 0 < eta < 1.35 - deta = 0.050
"
eta for endcap [0,11] presampler sampling 0 region 0 1.5 < eta < 1.8 - deta = 0.025
" 0 outer wheel sampling 1 region 0 1.375 < eta < 1.425 - deta = 0.05
" [0,2] outer wheel sampling 1 region 1 1.425 < eta < 1.5 - deta = 0.025
" [0,95] outer wheel sampling 1 region 2 1.5 < eta < 1.8 - deta = 0.025/8
" [0,47] outer wheel sampling 1 region 3 1.8 < eta < 2.0 - deta = 0.025/6
" [0,63] outer wheel sampling 1 region 4 2.0 < eta < 2.4 - deta = 0.025/4
" [0,3] outer wheel sampling 1 region 5 2.4 < eta < 2.5 - deta = 0.025
" [0,6] inner wheel sampling 1 region 0 2.5 < eta < 3.2 - deta = 0.1
" 0 outer wheel sampling 2 region 0 1.375 < eta < 1.425 - deta = 0.05
" [0,42] outer wheel sampling 2 region 1 1.425 < eta < 2.5 - deta = 0.025
" [0,6] inner wheel sampling 2 region 0 2.5 < eta < 3.2 - deta = 0.1
" [0,19] outer wheel sampling 3 region 0 1.5 < eta < 2.5 - deta = 0.05
Supercells:
element range meaning
eta for barrel [0,15] presampler - 0< eta <1.52 - deta is approximately equal to 0.1
" [0,55] sampling 1 region 0 0 < eta < 1.4 - deta = 0.025
" [0,2] sampling 1 region 1 1.4 < eta < 1.475 - deta = 0.025
" [0,55] sampling 2 region 0 0 < eta < 1.4 - deta = 0.025
" 0 sampling 2 region 1 1.4 < eta < 1.475 - deta = 0.075
" [0,13] sampling 3 region 0 0 < eta < 1.35 - deta = 0.1
"
eta for endcap [0,2] presampler sampling 0 region 0 1.5 < eta < 1.8 - deta = 0.1
" 0 outer wheel sampling 1 region 0 1.375 < eta < 1.425 - deta = 0.125
" [0,11] outer wheel sampling 1 region 2 1.5 < eta < 1.8 - deta = 0.025
" [0,7] outer wheel sampling 1 region 3 1.8 < eta < 2.0 - deta = 0.033
" [0,15] outer wheel sampling 1 region 4 2.0 < eta < 2.4 - deta = 0.025
" 0 outer wheel sampling 1 region 5 2.4 < eta < 2.5 - deta = 0.1
" [0,2] inner wheel sampling 1 region 0 2.5 < eta < 3.1 - deta = 0.2
" 0 inner wheel sampling 1 region 1 3.1 < eta < 3.2 - deta = 0.1
" 0 outer wheel sampling 2 region 0 1.375 < eta < 1.425 - deta = 0.05
" [0,42] outer wheel sampling 2 region 1 1.425 < eta < 2.5 - deta = 0.025
" [0,2] inner wheel sampling 2 region 0 2.5 < eta < 3.1 - deta = 0.2
" 0 inner wheel sampling 2 region 0 3.1 < eta < 3.2 - deta = 0.1
" [0,9] outer wheel sampling 3 region 0 1.5 < eta < 2.5 - deta = 0.1
◆ 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 68 of file LArEM_Base_ID.cxx.
76 if (
range.match(expId)) {
78 if (not eta_field.
empty()) {
◆ eta_min()
min value of eta index (-999 == failure)
- Warning
- input = REGION ID !!
Definition at line 42 of file LArEM_Base_ID.cxx.
50 if (
range.match(expId)) {
52 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, faces2D, corners2D, all2D, prevInSamp, nextInSamp, upAndDown, prevSubDet, nextSubDet, all3D
in 'nextInEta', 'nextInSamp', 'nextSubDet', next means 'away from the centre of Atlas'
in 'prevInEta', 'prevInSamp', 'prevSubDet', prev means 'towards the centre of Atlas'
faces2D means prevInPhi + nextInPhi + prevInEta + nextInEta
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 )
all2D means faces2D + corners2D
upAndDown means prevInSamp + nextInSamp
prevSubDet and nextSubDet mean across barrel/EC boundary
all3D means all2D + upAndDown + prevSubDet + nextSubDet
Definition at line 686 of file LArEM_Base_ID.cxx.
691 neighbourList.clear();
696 log << MSG::WARNING <<
"neighbours not initialized !!! returning empty list" <<
endmsg;
699 std::cout <<
" WARNING: neighbours not initialized !!! returning empty list " << std::endl;
707 log << MSG::WARNING <<
"neighbours requested for non-existing channel -- id/max " <<
id <<
"/"
711 std::cout <<
" neighbours requested for non-existing channel -- id/max " <<
id <<
"/"
717 const short int maxNeighb=22;
719 int neighbourIndex = 0;
728 unsigned short int regionN = (itr -
m_cells.begin()) - 1;
735 unsigned int minHash = emRegion->
hashMin();
736 unsigned int maxHash = emRegion->
hashMax();
748 prevNeighbInPhi=neighbList[neighbourIndex-1];
763 nextNeighbInPhi=neighbList[neighbourIndex-1];
791 unsigned int index1=prevNeighbInPhi;
792 int oldNeighbourIndex = neighbourIndex;
798 if ( neighbourIndex > oldNeighbourIndex+1 ) {
799 neighbList[oldNeighbourIndex] = neighbList[neighbourIndex-1];
800 neighbourIndex = oldNeighbourIndex+1;
802 oldNeighbourIndex = neighbourIndex;
804 if ( neighbourIndex > oldNeighbourIndex+1 ) {
805 neighbList[oldNeighbourIndex] = neighbList[neighbourIndex-1];
806 neighbourIndex = oldNeighbourIndex+1;
811 unsigned int index2=nextNeighbInPhi;
812 int oldNeighbourIndex = neighbourIndex;
818 if ( neighbourIndex > oldNeighbourIndex+1 ) {
819 neighbourIndex = oldNeighbourIndex+1;
821 oldNeighbourIndex = neighbourIndex;
823 if ( neighbourIndex > oldNeighbourIndex+1 ) {
824 neighbourIndex = oldNeighbourIndex+1;
872 neighbourList.resize(neighbourIndex);
873 if (neighbourIndex > 0) {
874 if (neighbourIndex <= maxNeighb) {
875 std::copy (&neighbList[0], &neighbList[neighbourIndex], neighbourList.begin());
880 log << MSG::WARNING <<
" more than 22 neighbours for this cell, NONE will be retained" <<
endmsg;
883 std::cout <<
"WARNING: more than 22 neighbours for this cell, NONE will be retained " << neighbourIndex << std::endl;
◆ get_nextInEta()
Definition at line 989 of file LArEM_Base_ID.cxx.
995 unsigned int nIndex = 0;
1009 unsigned int minHashPlus = nextEmRegion->
hashMin();
1010 float phiMargin = 0.25*
std::min(gPhi,gPhiPlus);
1012 int nPhiPlusFirst =
int(std::floor((rPhi -nextEmRegion->
phiMin())
1013 /gPhiPlus+phiMargin))+minHashPlus;
1014 int nPhiPlusNext =
int(std::floor((rPhi+gPhi-nextEmRegion->
phiMin())
1015 /gPhiPlus+phiMargin))+minHashPlus;
1016 if ( nPhiPlusNext == nPhiPlusFirst ) nPhiPlusNext++;
1018 for(
int i=nPhiPlusFirst;
i<nPhiPlusNext;
i++){
1020 if(nIndex != nBiggerCell) {
1022 neighbList[neighbourIndex] = nHash;
1027 if(gPhi < gPhiPlus && nBiggerCell ==
NOT_VALID_HASH) nBiggerCell=nIndex;
1035 neighbList[neighbourIndex] = nHash;
◆ get_nextInPhi()
◆ get_nextInSamp()
Definition at line 1110 of file LArEM_Base_ID.cxx.
1117 unsigned int nIndex=0;
1122 int nNextSampReg = nextSampRegion.size();
1123 if(nNextSampReg > 0) {
1124 for(
int ireg=0; ireg<nNextSampReg; ireg++) {
1130 double margin = 0.25*
std::min(gEta,gEtaPlus);
1131 if((minEtaPlus <
absEta+gEta-margin) && (
absEta+margin < maxEtaPlus)) {
1137 short int nPhiPlus = nextEmRegion->
phiN();
1138 unsigned int minHashPlus = nextEmRegion->
hashMin();
1139 float phiMargin = 0.25*
std::min(gPhi,gPhiPlus);
1142 int nPhiPlusFirst =
int(std::floor((rPhi -nextEmRegion->
phiMin())
1143 /gPhiPlus+phiMargin));
1144 int nPhiPlusNext =
int(std::floor((rPhi+gPhi-nextEmRegion->
phiMin())
1145 /gPhiPlus+phiMargin));
1146 if ( nPhiPlusNext == nPhiPlusFirst ) nPhiPlusNext++;
1148 double fEtaPlus = (
absEta-minEtaPlus) / gEtaPlus + margin ;
1150 double fEtaMaxPlus = (
absEta+gEta-minEtaPlus) / gEtaPlus + margin ;
1151 int nEtaPlus =
int(fEtaPlus) ;
1152 int nEtaMaxPlus =
int(fEtaMaxPlus) ;
1153 if (nEtaMaxPlus == nEtaPlus) nEtaMaxPlus++;
1155 for(
int i=nEtaPlus;
i<nEtaMaxPlus;
i++){
1156 for(
int j=nPhiPlusFirst; j<nPhiPlusNext; j++){
1157 nIndex = minHashPlus +
i * nPhiPlus + j;
1158 if( (nIndex >= nextEmRegion->
hashMin()) && (nIndex < nextEmRegion->hashMax()) ) {
1160 neighbList[neighbourIndex] = nHash;
◆ get_nextInSubdet()
Definition at line 1241 of file LArEM_Base_ID.cxx.
1248 unsigned int nIndex=0;
1252 const std::vector<short int>& nextSubdetRegion= emRegion->
nextSubdetRegion();
1253 int nNextSubdetReg = nextSubdetRegion.size();
1254 if(nNextSubdetReg > 0) {
1255 for(
int ireg=0; ireg<nNextSubdetReg; ireg++) {
1261 double margin = 0.25*
std::min(gEta,gEtaPlus);
1262 if((minEtaPlus <
absEta+gEta-margin) && (
absEta+margin < maxEtaPlus)) {
1268 short int nPhiPlus = nextEmRegion->
phiN();
1269 unsigned int minHashPlus = nextEmRegion->
hashMin();
1270 float phiMargin = 0.25*
std::min(gPhi,gPhiPlus);
1273 int nPhiPlusFirst =
int(std::floor((rPhi -nextEmRegion->
phiMin())
1274 /gPhiPlus+phiMargin));
1275 int nPhiPlusNext =
int(std::floor((rPhi+gPhi-nextEmRegion->
phiMin())
1276 /gPhiPlus+phiMargin));
1277 if ( nPhiPlusNext == nPhiPlusFirst ) nPhiPlusNext++;
1279 double fEtaPlus = (
absEta-minEtaPlus) / gEtaPlus + margin ;
1281 double fEtaMaxPlus = (
absEta+gEta-minEtaPlus) / gEtaPlus + margin ;
1282 int nEtaPlus =
int(fEtaPlus) ;
1283 int nEtaMaxPlus =
int(fEtaMaxPlus) ;
1284 if (nEtaMaxPlus == nEtaPlus) nEtaMaxPlus++;
1286 for(
int i=nEtaPlus;
i<nEtaMaxPlus;
i++) {
1287 for(
int j=nPhiPlusFirst; j<nPhiPlusNext; j++) {
1288 nIndex = minHashPlus +
i * nPhiPlus + j;
1289 if( (nIndex >= nextEmRegion->
hashMin()) && (nIndex < nextEmRegion->hashMax()) ) {
1291 neighbList[neighbourIndex] = nHash;
◆ get_prevInEta()
Definition at line 922 of file LArEM_Base_ID.cxx.
928 unsigned int nIndex = 0;
939 unsigned int minHashMinus = prevEmRegion->
hashMin();
940 nIndex = minHashMinus +
index-minHash ;
942 neighbList[neighbourIndex] = nHash;
951 short int nPhiMinus = prevEmRegion->
phiN();
953 unsigned int maxHashMinus = prevEmRegion->
hashMax();
954 float phiMargin = 0.25*
std::min(gPhi,gPhiMinus);
955 float rPhi = (
index-minHash)*gPhi+emRegion->
phiMin();
956 int nPhiMinusFirst =
int(std::floor((rPhi -prevEmRegion->
phiMin())
957 /gPhiMinus+phiMargin))
958 +maxHashMinus-nPhiMinus;
959 int nPhiMinusNext =
int(std::floor((rPhi+gPhi-prevEmRegion->
phiMin())
960 /gPhiMinus+phiMargin))
961 +maxHashMinus-nPhiMinus;
962 if ( nPhiMinusNext == nPhiMinusFirst ) nPhiMinusNext++;
964 for(
int i=nPhiMinusFirst;
i<nPhiMinusNext;
i++){
966 if(nIndex != nBiggerCell) {
968 neighbList[neighbourIndex] = nHash;
973 if(gPhi < gPhiMinus && nBiggerCell ==
NOT_VALID_HASH) nBiggerCell=nIndex;
982 neighbList[neighbourIndex] = nHash;
◆ get_prevInPhi()
◆ get_prevInSamp()
Definition at line 1042 of file LArEM_Base_ID.cxx.
1049 unsigned int nIndex=0;
1055 int nPrevSampReg = prevSampRegion.size();
1056 if(nPrevSampReg > 0) {
1057 for(
int ireg=0; ireg<nPrevSampReg; ireg++) {
1064 double margin = 0.25*
std::min(gEta,gEtaMinus);
1065 if((minEtaMinus <
absEta+gEta-margin) && (
absEta+margin < maxEtaMinus)) {
1074 short int nPhiMinus = prevEmRegion->
phiN();
1076 unsigned int minHashMinus = prevEmRegion->
hashMin();
1077 float phiMargin = 0.25*
std::min(gPhi,gPhiMinus);
1080 int nPhiMinusFirst =
int(std::floor((rPhi -prevEmRegion->
phiMin())
1081 /gPhiMinus+phiMargin));
1082 int nPhiMinusNext =
int(std::floor((rPhi+gPhi-prevEmRegion->
phiMin())
1083 /gPhiMinus+phiMargin));
1084 if ( nPhiMinusNext == nPhiMinusFirst ) nPhiMinusNext++;
1087 double fEtaMinus = (
absEta-minEtaMinus) / gEtaMinus + margin ;
1089 double fEtaMaxMinus = (
absEta+gEta-minEtaMinus) / gEtaMinus + margin ;
1090 int nEtaMinus =
int(fEtaMinus);
1091 int nEtaMaxMinus =
int(fEtaMaxMinus);
1092 if ( nEtaMaxMinus == nEtaMinus ) nEtaMaxMinus++;
1093 for(
int i=nEtaMinus;
i<nEtaMaxMinus;
i++) {
1094 for (
int j=nPhiMinusFirst; j<nPhiMinusNext;j++) {
1095 nIndex = minHashMinus +
i * nPhiMinus + j;
1096 if( (nIndex >= prevEmRegion->
hashMin()) && (nIndex < prevEmRegion->hashMax()) ) {
1098 neighbList[neighbourIndex] = nHash;
◆ get_prevInSubdet()
Definition at line 1173 of file LArEM_Base_ID.cxx.
1180 unsigned int nIndex=0;
1185 const std::vector<short int>& prevSubdetRegion= emRegion->
prevSubdetRegion();
1186 int nPrevSubdetReg = prevSubdetRegion.size();
1187 if(nPrevSubdetReg > 0) {
1188 for(
int ireg=0; ireg<nPrevSubdetReg; ireg++) {
1195 double margin = 0.25*
std::min(gEta,gEtaMinus);
1196 if((minEtaMinus <
absEta+gEta-margin) && (
absEta+margin < maxEtaMinus)) {
1205 short int nPhiMinus = prevEmRegion->
phiN();
1207 unsigned int minHashMinus = prevEmRegion->
hashMin();
1208 float phiMargin = 0.25*
std::min(gPhi,gPhiMinus);
1211 int nPhiMinusFirst =
int(std::floor((rPhi -prevEmRegion->
phiMin())
1212 /gPhiMinus+phiMargin));
1213 int nPhiMinusNext =
int(std::floor((rPhi+gPhi-prevEmRegion->
phiMin())
1214 /gPhiMinus+phiMargin));
1215 if ( nPhiMinusNext == nPhiMinusFirst ) nPhiMinusNext++;
1217 double fEtaMinus = (
absEta-minEtaMinus) / gEtaMinus + margin ;
1219 double fEtaMaxMinus = (
absEta+gEta-minEtaMinus) / gEtaMinus + margin ;
1220 int nEtaMinus =
int(fEtaMinus);
1221 int nEtaMaxMinus =
int(fEtaMaxMinus);
1222 if ( nEtaMaxMinus == nEtaMinus ) nEtaMaxMinus++;
1224 for(
int i=nEtaMinus;
i<nEtaMaxMinus;
i++) {
1225 for (
int j=nPhiMinusFirst; j<nPhiMinusNext;j++) {
1226 nIndex = minHashMinus +
i * nPhiMinus + j;
1227 if( (nIndex >= prevEmRegion->
hashMin()) && (nIndex < prevEmRegion->hashMax()) ) {
1229 neighbList[neighbourIndex] = nHash;
◆ 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 LArEM_Base_ID::init_hashes |
( |
void |
| ) |
|
|
privateinherited |
◆ init_neighbors()
int LArEM_Base_ID::init_neighbors |
( |
void |
| ) |
|
|
privateinherited |
Definition at line 1304 of file LArEM_Base_ID.cxx.
1311 std::cout <<
" LArEM_Base_ID::init_neighbors " << std::endl;
1314 const std::vector<const IdDictRegion*>& vecOfDictRegions =
dictRegions();
1321 std::vector<Identifier>::const_iterator debut=
reg_begin() ;
1322 std::vector<Identifier>::const_iterator
fin =
reg_end() ;
1323 for (; debut !=
fin; ++debut) {
1327 bool isBarrelMiddle =
false;
1337 if(
etaMin >= 0 && phiMin >= 0) {
1343 log << MSG::ERROR <<
" LArId exception "
1344 << (std::string)except
1349 <<
" LArId exception "
1350 << (std::string)except
1359 log << MSG::WARNING <<
" could not find non negative etaMin and phiMin for region "
1364 std::cout <<
"WARNING !! could not find non negative etaMin and phiMin for region "
1383 unsigned int ireg0=0;
1400 IdDictRegion* prevEtaDicReg = vecOfDictRegions[reg]->m_prev_abs_eta;
1402 IdDictRegion* nextEtaDicReg = vecOfDictRegions[reg]->m_next_abs_eta;
1403 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1404 if(vecOfDictRegions[ireg] == prevEtaDicReg) regForPrevEta = ireg;
1405 if(vecOfDictRegions[ireg] == nextEtaDicReg) regForNextEta = ireg;
1410 isBarrelMiddle =
true;
1412 regForPrevEta = reg+6;
1414 regForPrevEta = reg-6;
1422 std::vector<short int> regForPrevSamp;
1423 std::vector<IdDictRegion*> prevSampDicReg = vecOfDictRegions[reg]->m_prev_samp;
1424 for(
unsigned int isam=0;isam<prevSampDicReg.size();isam++){
1425 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1426 if(vecOfDictRegions[ireg] == prevSampDicReg[isam]) regForPrevSamp.push_back(ireg);
1430 std::vector<short int> regForNextSamp;
1431 std::vector<IdDictRegion*> nextSampDicReg = vecOfDictRegions[reg]->m_next_samp;
1432 for(
unsigned int isam=0;isam<nextSampDicReg.size();isam++){
1433 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1434 if(vecOfDictRegions[ireg] == nextSampDicReg[isam]) regForNextSamp.push_back(ireg);
1441 std::vector<short int> regForPrevSubdet;
1442 std::vector<IdDictRegion*> prevSubdetDicReg = vecOfDictRegions[reg]->m_prev_subdet;
1443 for(
unsigned int isubdet=0;isubdet<prevSubdetDicReg.size();isubdet++){
1444 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1445 if(vecOfDictRegions[ireg] == prevSubdetDicReg[isubdet]) regForPrevSubdet.push_back(ireg);
1449 std::vector<short int> regForNextSubdet;
1450 std::vector<IdDictRegion*> nextSubdetDicReg = vecOfDictRegions[reg]->m_next_subdet;
1451 for(
unsigned int isubdet=0;isubdet<nextSubdetDicReg.size();isubdet++){
1452 for(
unsigned int ireg=ireg0;ireg<ireg1;ireg++){
1453 if(vecOfDictRegions[ireg] == nextSubdetDicReg[isubdet]) regForNextSubdet.push_back(ireg);
1462 regForPrevEta,regForNextEta,
1463 regForPrevSamp,regForNextSamp,
1464 regForPrevSubdet,regForNextSubdet);
1482 if(regId != lastRegId) {
1491 if ((
short int)hashReg != reg) {
1493 log << MSG::ERROR <<
" init_neighbors: problem reg, hashReg = " << reg <<
" " << hashReg
1497 std::cout <<
" init_neighbors: problem reg, hashReg = " << reg <<
" " << hashReg
◆ initialize_base_from_dictionary()
int LArEM_Base_ID::initialize_base_from_dictionary |
( |
const IdDictMgr & |
dict_mgr, |
|
|
const std::string & |
group_name |
|
) |
| |
|
inherited |
initialization from the identifier dictionary
Definition at line 438 of file LArEM_Base_ID.cxx.
448 log <<
MSG::DEBUG <<
"Request to reinitialize not satisfied - tags have not changed" <<
endmsg;
469 if (atlasDict->
get_label_value(
"subdet",
"LArCalorimeter", larField)) {
471 log << MSG::ERROR <<
"Could not get value for label 'LArCalorimeter' of field 'subdet' in dictionary "
476 std::cout <<
"Could not get value for label 'LArCalorimeter' of field 'subdet' in dictionary "
485 if (
dict()->get_label_value(
"part",
"LArEM", larEmField)) {
487 log << MSG::ERROR <<
"Could not get value for label 'LArEM' of field 'part' in dictionary "
492 std::cout <<
"Could not get value for label 'LArEM' of field 'part' in dictionary "
501 reg_id.
add(larField);
502 reg_id.
add(larEmField);
518 std::cout <<
" LArEM_Base_ID::initialize_from_dict : "
613 log << MSG::WARNING <<
"min > 255 "
620 std::cout <<
"min > 255 "
659 log << MSG::ERROR <<
"channel ranges, id, hash "
666 std::cout <<
" ***** Error ";
667 std::cout <<
"channel ranges, id, hash "
◆ initialize_from_dictionary()
int LArEM_ID::initialize_from_dictionary |
( |
const IdDictMgr & |
dict_mgr | ) |
|
|
virtual |
◆ initLevelsFromDict()
int LArEM_Base_ID::initLevelsFromDict |
( |
const std::string & |
group_name | ) |
|
|
privateinherited |
Definition at line 216 of file LArEM_Base_ID.cxx.
221 log << MSG::ERROR <<
"initLevelsFromDict - dictionary NOT initialized "
225 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - dictionary NOT initialized "
249 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'subdet' field "
253 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'subdet' field "
265 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'part' field "
269 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'part' field "
281 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'barrel-endcap' field "
285 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'barrel-endcap' field "
297 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'sampling' field "
301 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'sampling' field "
313 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'region' field "
317 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'region' field "
329 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'eta' field "
333 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'eta' field "
345 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'phi' field "
349 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'phi' field "
361 log << MSG::ERROR <<
"initLevelsFromDict - unable to find 'is-slar' field "
365 std::cout <<
"LArEM_Base_ID::initLevelsFromDict - unable to find 'is-slar' field "
375 log << MSG::ERROR <<
"initLevelsFromDict - cannot find " <<
group_name
376 <<
" group' field " <<
endmsg;
405 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_em_barrel()
test if the id belongs to the EM barrel
◆ is_em_endcap()
test if the id belongs to the EM Endcap
◆ is_em_endcap_inner()
test if the id belongs to the EM Endcap inner wheel
◆ is_em_endcap_outer()
test if the id belongs to the EM Endcap outer wheel
◆ 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()
◆ 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 according to :
element range meaning
------- ----- -------
Cells:
phi for barrel [0,63] barrel presampler - dphi = 0.1
" [0,63] sampling 1 region 0 - dphi = 0.1
" [0,255] sampling 1 region 1 - dphi = 0.025
" [0,255] sampling 2 region 0 - dphi = 0.025
" [0,255] sampling 2 region 1 - dphi = 0.025
" [0,255] sampling 3 region 1 - dphi = 0.025
phi for endcap [0,63] presampler sampling 0 region 0 - dphi = 0.1
" [0,63] outer wheel sampling 1 regions [0,5] - dphi = 0.1
" [0,63] inner wheel sampling 1 regions 0 - dphi = 0.1
" [0,255] outer wheel sampling 2 regions [0,1] - dphi = 0.025
" [0,63] inner wheel sampling 2 region 0 - dphi = 0.1
" [0,255] outer wheel sampling 3 region 0 - dphi = 0.025
Supercells:
phi for barrel [0,63] barrel presampler - dphi = 0.1
" [0,63] sampling 1 region 0 - dphi = 0.1
" [0,63] sampling 1 region 1 - dphi = 0.1
" [0,63] sampling 2 region 0 - dphi = 0.1
" [0,63] sampling 2 region 1 - dphi = 0.1
" [0,63] sampling 3 region 1 - dphi = 0.1
phi for endcap [0,63] presampler sampling 0 region 0 - dphi = 0.1
" [0,63] outer wheel sampling 1 regions [0,5] - dphi = 0.1
" [0,31] inner wheel sampling 1 regions 0 - dphi = 0.2
" [0,63] outer wheel sampling 2 regions [0,1] - dphi = 0.1
" [0,31] inner wheel sampling 2 region 0 - dphi = 0.2
" [0,63] outer wheel sampling 3 region 0 - dphi = 0.1
◆ 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 115 of file LArEM_Base_ID.cxx.
123 if (
range.match(expId)) {
125 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 |
◆ print()
◆ print_to_string()
or provide the printout in string form
Definition at line 408 of file AtlasDetectorID.cxx.
415 unsigned int max_index = (context) ? context->
end_index() : 999;
439 ATH_MSG_WARNING(__func__<<
":"<<__LINE__<<
" No dictionary could be associated to "<<
id);
442 if (dict->unpack(compact,
prefix, max_index,
" ",
result)) {
◆ reg_begin()
◆ reg_end()
◆ reg_range()
id_range LArEM_Base_ID::reg_range |
( |
| ) |
const |
|
inherited |
◆ region()
return region according to :
element range meaning
region 0 both presamplers
" [0,1] barrel sampling 1 and 2
" 0 barrel sampling 3
"
" [0,5] endcap outer wheel sampling 1 (cells)
" 0,[2,5] endcap outer wheel sampling 1 (supercells)
" 0 endcap inner wheel sampling 1 (cells)
" [0,1] endcap inner wheel sampling 1 (supercells)
" [0,1] endcap outer wheel sampling 2
" 0 endcap inner wheel sampling 2 (cells)
" [0,1] endcap inner wheel sampling 2 (supercells)
" 0 endcap outer wheel sampling 3
◆ region_context()
IdContext CaloIDHelper::region_context |
( |
| ) |
const |
|
inherited |
Return the context for regions.
◆ region_hash() [1/2]
Convert a connected region Identifier to a hash code.
Some subdetector helpers may override this with a faster version.
◆ region_hash() [2/2]
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]
Build a cell identifier from an expanded identifier.
◆ 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 LArEM_Base_ID::region_id |
( |
int |
barrel_ec, |
|
|
int |
sampling, |
|
|
int |
region |
|
) |
| const |
|
inherited |
build a region identifier
◆ region_id() [6/6]
Identifier LArEM_Base_ID::region_id |
( |
int |
barrel_ec, |
|
|
int |
sampling, |
|
|
int |
region, |
|
|
bool |
checks |
|
) |
| const |
|
inherited |
◆ region_id_checks()
void LArEM_Base_ID::region_id_checks |
( |
int |
barrel_ec, |
|
|
int |
sampling, |
|
|
int |
region |
|
) |
| const |
|
privateinherited |
Definition at line 136 of file LArEM_Base_ID.cxx.
145 std::string errorMessage =
"LArEM_Base_ID::region_id_checks() result is not OK: ID, range = "
◆ 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 206 of file AtlasDetectorID.cxx.
217 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 according to :
element range meaning
sampling 0 both presamplers " [1,3] barrel and endcap outer wheel
" [1,2] endcap inner wheel
◆ 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 344 of file AtlasDetectorID.cxx.
◆ show_to_string()
or provide the printout in string form
Definition at line 350 of file AtlasDetectorID.cxx.
353 std::string
result(
"Unable to decode id");
354 unsigned int max_index = (context) ? context->
end_index() : 999;
384 if (dict->unpack(compact,
prefix, max_index, expId)) {
392 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 LArEM_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_bec_impl
◆ m_BEC_INDEX
◆ m_bec_reg_impl
◆ m_calo_dict
◆ m_CALO_ID
int AtlasDetectorID::m_CALO_ID {10} |
|
privateinherited |
◆ m_calo_side_impl
◆ m_cells
std::vector<unsigned> LArEM_Base_ID::m_cells |
|
privateinherited |
◆ 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_em_impl
◆ m_EM_INDEX
◆ m_em_region_index
size_type LArEM_Base_ID::m_em_region_index {0} |
|
privateinherited |
◆ 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_em_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> LArEM_Base_ID::m_hash_calcs |
|
privateinherited |
◆ 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_quiet
bool AtlasDetectorID::m_quiet {} |
|
protectedinherited |
◆ m_region_impl
◆ m_REGION_INDEX
size_type LArEM_Base_ID::m_REGION_INDEX {999} |
|
privateinherited |
◆ m_regions
◆ m_RPC_ID
int AtlasDetectorID::m_RPC_ID {2} |
|
privateinherited |
◆ m_sampling_impl
◆ m_SAMPLING_INDEX
size_type LArEM_Base_ID::m_SAMPLING_INDEX {999} |
|
privateinherited |
◆ m_SCT_ID
int AtlasDetectorID::m_SCT_ID {2} |
|
privateinherited |
◆ m_slar
unsigned LArEM_Base_ID::m_slar {0} |
|
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 LArEM_Base_ID::m_two_sym_sides {true} |
|
privateinherited |
◆ m_vecOfDictRegions
◆ m_vecOfPhiMin
std::vector<int> LArEM_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
int lar_em_field_value() const
std::atomic< MSG::Level > m_lvl
Current logging level.
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.
#define CXXUTILS_TRAPPING_FP
int phi(const Identifier id) const
return phi according to :
bool is_forward(Identifier id) const
const std::vector< short int > & prevSubdetRegion() const
region number of the prev region in subdet
MultiRange build_multirange() const
Get MultiRange for full dictionary.
std::vector< unsigned int > m_muon_tech_bits
IdDictFieldImplementation m_eta_impl
int phi_max(const Identifier regId) const
max value of phi index (-999 == failure)
id_iterator reg_end(void) const
end iterator over set of Region Identifiers
IdDictFieldImplementation m_indet_part_impl
bool isEtaMin(unsigned int index) const
is the considered cell in the first eta bin of the region ?
int phi_min_init(const Identifier regId) const
float phiMin() const
starting phi
const std::vector< short int > & nextSubdetRegion() const
region number of the next region in subdet
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
IdDictFieldImplementation m_slar_impl
int fill_vec_of_dict_regions(const std::string &group_name="")
Initialize the list of detector regions.
element_type get_minimum() const
Query the values.
bool isPhiMin(unsigned int index) const
is the considered cell in the first phi bin of the region ?
Identifier region_id(const ExpandedIdentifier &exp_id) const
Build a cell identifier from an expanded identifier.
size_type end_index() const
Return the ending index of the context for this group.
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).
std::vector< LArEM_region * > m_vecOfRegions
void pack(int value, Identifier &id) const
IdDictDictionary * m_tile_dict
int region(const Identifier id) const
return region according to :
int sampling(const Identifier id) const
return sampling according to :
int get_nextInSubdet(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &gEta, const float &gPhi, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const
IMessageSvc * m_msgSvc
pointer to the message service
std::string m_dict_version
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
float etaMax() const
end eta
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.
int get_hash(Identifier id, IdentifierHash &hash_id) const
Look up the hash code corresponding to an Identifier.
virtual bool do_neighbours(void) const override
Neighbour initialization is performed by default One can switch or query this mode for any idHelper w...
Identifier channel_id(const ExpandedIdentifier &exp_id) const
Build a cell identifier from an expanded identifier.
IdDictFieldImplementation m_em_impl
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
const HashGroup & regions() const
Return the HashGroup for regions.
virtual std::string dictionaryVersion(void) const override
int eta(const Identifier id) const
return eta according to :
int get_nextInSamp(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &gEta, const float &gPhi, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const
bool m_do_neighbours
Flag for subclasses to know whether or not to perform neighbour initialization.
int initLevelsFromDict(const std::string &group_name)
int get_prevInSamp(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &gEta, const float &gPhi, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const
IdDictFieldImplementation m_sampling_impl
MultiRange m_full_em_range
IdDictFieldImplementation m_phi_impl
std::vector< const IdDictRegion * > m_vecOfDictRegions
List of IdDictRegion objects.
This class provides an interface to deal with regions in the neighbours finding
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
bool match(element_type value) const
The basic match operation.
IdDictFieldImplementation m_region_impl
Range::field m_tile_dm_field
size_type begin_index() const
IdentifierHash channel_hash(Identifier channelId) const
create hash id from channel id
IdDictGroup * find_group(const std::string &group_name) 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.
msgSvc
Provide convenience handles for various services.
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
float phiGranularity() const
phi granularity
IdDictDictionary * m_calo_dict
float etaGranularity(const IdentifierHash regHash) const
Return the eta granularity of a region, or NOT_VALID.
int phi_min(const Identifier regId) const
min value of phi index (-999 == failure)
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.
IdDictFieldImplementation m_bec_reg_impl
MultiRange m_full_region_range
bool isEtaMax(unsigned int index) const
is the considered cell in the last eta bin of the region ?
IdDictFieldImplementation m_muon_mdt_impl
size_type m_SAMPLING_INDEX
IdDictFieldImplementation m_lar_fcal_module_impl
bool twoSymSides() const
True if the + and - sides of the calorimeter are identical (true layout).
size_type bits_offset() const
bool is_tile_dm(Identifier id) const
std::vector< IdDictRegion * > m_regions
float etaMin() const
starting eta
IdDictFieldImplementation m_lar_impl
IdDictDictionary * m_fwd_dict
bool is_tile(Identifier id) const
unsigned int hashMax() const
hash Id of the last cell of the region +1
short int phiN() const
number of phi bins
IdDictFieldImplementation m_bec_impl
const std::vector< short int > & prevSamplingRegion() const
region number of the prev region in sampling
Range::field m_lvl1_onl_field
bool m_quiet
If true, suppress DEBUG/INFO messages.
static int get_prevInPhi(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList)
MsgStream & msg() const
The standard message stream.
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
static int get_nextInPhi(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList)
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
float eta0(const IdentifierHash regHash) const
Return the minimum eta of region, or NOT_VALID.
std::vector< unsigned > m_cells
IdDictDictionary * m_indet_dict
int barrel_ec(const Identifier id) const
return barrel_ec according to :
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
virtual void setDictVersion(const IdDictMgr &dict_mgr, const std::string &name) override
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
int get_prevInEta(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const float &gPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList, unsigned int &nBiggerCell) const
bool isFirstBarrelRegion() const
true if region close to barrel middle
ExpandedIdentifier fwd_exp(void) const
def init(v_theApp, v_rootStream=None)
IdDictFieldImplementation m_muon_station_name_impl
short int nextEtaRegion() const
region number of the next region in eta
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.
float etaGranularity() const
eta granularity
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.
int get_prevInSubdet(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, const double &gEta, const float &gPhi, const double &absEta, int &neighbourIndex, IdentifierHash *neighbList) const
This is the individual specification for the range of one ExpandedIdentifier IdentifierField.
bool absEta(const xAOD::TauJet &tau, double &out)
void clear()
Erase all fields.
IdDictDictionary * m_lar_dict
size_type m_em_region_index
unsigned long long value_type
bool is_lvl1_online(Identifier id) const
int get_nextInEta(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const float &gPhi, const unsigned int &maxHash, int &neighbourIndex, IdentifierHash *neighbList, unsigned int &nBiggerCell) const
int initialize_base_from_dictionary(const IdDictMgr &dict_mgr, const std::string &group_name)
initialization from the identifier dictionary
short int prevEtaRegion() const
region number of the previous region in eta
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...
id_range em_range() const
Range over full set of EM Identifiers.
id_iterator reg_begin(void) const
begin iterator over set of Region Identifiers
constexpr int nEta
Default bin number of eta for vertex map.
std::vector< int > m_vecOfPhiMin
boost::thread_specific_ptr< MsgStream > m_msg_tls
MsgStream instance (a std::cout like with print-out levels)
bool isPhiMax(unsigned int index) const
is the considered cell in the last phi bin of the region ?
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
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.
IdentifierHash region_hash(Identifier regionId) const
Convert a connected region Identifier to a hash code.
const std::vector< short int > & nextSamplingRegion() const
region number of the next region in sampling
ExpandedIdentifier lar_em_exp(void) const
LAr.
Exception class for LAr Identifiers.
unsigned int hashMin() const
hash Id of the first cell of the region
IdentifierHash channel_hash_binary_search(Identifier channelId) const
create hash id from channel id – method NOT optimised, please use channel_hash() above
bool is_supercell(const Identifier id) const
Test if the identifier represents a supercell.
Range::field m_lvl1_field
Identifier::size_type size_type
LArEM_Base_ID(const std::string &name, bool supercell)
Constructor.
size_type hash_max() const
Return one more than the largest hash code.
std::vector< HashCalc > m_hash_calcs