ATLAS Offline Software
CaloCell_Base_ID.h
Go to the documentation of this file.
1 // This file's extension implies that it's C, but it's really -*- C++ -*-.
2 /*
3  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
4 */
13 #ifndef CALOIDENTIFIER_CALOCELL_BASE_ID_H
14 #define CALOIDENTIFIER_CALOCELL_BASE_ID_H
15 
16 
17 #include "AthenaKernel/CLASS_DEF.h"
19 #include "CaloIdentifier/CaloID.h"
21 #include "CaloGeoHelpers/CaloSampling.h"
22 
23 
24 class CaloNeighbours;
25 
26 
38 {
39 public:
41 
43  enum SUBCALO { LAREM = 0, LARHEC = 1, LARFCAL = 2, TILE = 3, LARMINIFCAL = 4, NSUBCALO = 5, NOT_VALID=CaloIDHelper::NOT_VALID /*999999*/ };
44 
46  //typedef CaloSampling::CaloSample CaloSample;
47  // enum CaloSample {
48  // PreSamplerB=0, EMB1, EMB2, EMB3, // LAr barrel
49  // PreSamplerE, EME1, EME2, EME3, // LAr EM endcap
50  // HEC0, HEC1, HEC2, HEC3, // Hadronic end cap cal.
51  // TileBar0, TileBar1, TileBar2, // Tile barrel
52  // TileGap1, TileGap2, TileGap3, // Tile gap (ITC & scint)
53  // TileExt0, TileExt1, TileExt2, // Tile extended barrel
54  // FCAL0, FCAL1, FCAL2, // Forward EM endcap
55  // MINIFCAL0, MINIFCAL1, MINIFCAL2, MINIFCAL3, // MiniFCAL
56  // Unknown
57  // };
58 
59 
61  CaloCell_Base_ID(const std::string& name,
62  const LArEM_Base_ID* em_id,
63  const LArHEC_Base_ID* hec_id,
64  const LArFCAL_Base_ID* fcal_id,
65  const LArMiniFCAL_ID* minifcal_id,
66  const Tile_Base_ID* tile_id,
67  bool supercell);
68 
70 
71 
72  int GetSubCaloName( const std::string& SubCaloName ) const;
73 
75  virtual int initialize_from_dictionary(const IdDictMgr& dict_mgr) override;
76 
80  Identifier region_id (const int subCalo,
81  const int barec_or_posneg,
82  const int sampling_or_fcalmodule,
83  const int region_or_dummy ) const;
84  Identifier region_id (const int subCalo,
85  const int barec_or_posneg,
86  const int sampling_or_fcalmodule,
87  const int region_or_dummy,
88  bool checks) const;
89 
94  Identifier cell_id (const int subCalo,
95  const int barec_or_posneg,
96  const int sampling_or_fcalmodule,
97  const int region_or_dummy,
98  const int eta,
99  const int phi ) const;
100  Identifier cell_id (const int subCalo,
101  const int barec_or_posneg,
102  const int sampling_or_fcalmodule,
103  const int region_or_dummy,
104  const int eta,
105  const int phi,
106  bool checks) const;
107 
109  Identifier region_id (const Identifier cellId ) const;
110 
113  Identifier cell_id( const Identifier regionId,
114  const int eta, const int phi,
115  int depth = 0) const ;
116  Identifier cell_id( const Identifier regionId,
117  const int eta, const int phi,
118  int depth,
119  bool checks) const ;
120 
122  Identifier region_id (const IdentifierHash caloRegionHash) const;
124  Identifier region_id (const int subCalo, const IdentifierHash subCaloRegionHash) const;
125 
127  Identifier cell_id (const IdentifierHash caloCellHash) const;
129  Identifier cell_id (const int subCalo, const IdentifierHash subCaloCellHash) const;
130 
135  IdentifierHash subcalo_region_hash (const Identifier regionId, int& subCalo) const; // subCalo is an output argument
136 
138  IdentifierHash calo_cell_hash (const Identifier cellId) const;
141  IdentifierHash subcalo_cell_hash (const Identifier cellId, int& subCalo) const; // subCalo is an output argument
142 
147 
151  void calo_cell_hash_range (const Identifier id, IdentifierHash& caloCellMin, IdentifierHash& caloCellMax) const;
155  void calo_cell_hash_range (const int subCalo, IdentifierHash& caloCellMin, IdentifierHash& caloCellMax) const;
159  void calo_reg_hash_range (const Identifier id, IdentifierHash& caloCellMin, IdentifierHash& caloCellMax) const;
163  void calo_reg_hash_range (const int subCalo, IdentifierHash& caloCellMin, IdentifierHash& caloCellMax) const;
164 
166  IdentifierHash subcalo_cell_hash (const IdentifierHash caloHash, int& subCalo) const;
168  IdentifierHash subcalo_region_hash (const IdentifierHash caloHash, int& subCalo) const;
169 
171  IdentifierHash calo_cell_hash (const int subCalo, const IdentifierHash subCaloHash) const;
173  IdentifierHash calo_region_hash (const int subCalo, const IdentifierHash subCaloHash) const;
174 
176  typedef std::vector<Identifier>::const_iterator id_iterator;
178  typedef boost::iterator_range<id_iterator> id_range;
179 
186 
188  id_iterator cell_begin (const int subCalo) const;
190  id_iterator cell_end (const int subCalo) const;
192  id_range cell_range (const int subCalo) const;
193 
199  id_range reg_range () const;
200 
202  id_iterator reg_begin (const int subCalo) const;
204  id_iterator reg_end (const int subCalo) const;
206  id_range reg_range (const int subCalo) const;
207 
209  bool is_em (const Identifier id) const;
211  bool is_em (const IdentifierHash caloHash) const;
212 
214  bool is_em_barrel (const Identifier id) const;
215 
217  bool is_em_endcap (const Identifier id) const;
218 
220  bool is_em_endcap_inner (const Identifier id) const;
221 
223  bool is_em_endcap_outer (const Identifier id) const;
224 
226  bool is_hec (const Identifier id) const;
228  bool is_hec (const IdentifierHash caloHash) const;
229 
231  bool is_fcal (const Identifier id) const;
233  bool is_fcal (const IdentifierHash caloHash) const;
234 
236  bool is_minifcal (const Identifier id) const;
238  bool is_minifcal (const IdentifierHash caloHash) const;
239 
241  bool is_tile (const Identifier id) const;
243  bool is_tile (const IdentifierHash caloHash) const;
244  bool is_tile (const ExpandedIdentifier& id) const;
245 
247  bool is_tile_barrel (const Identifier id) const;
249  bool is_tile_extbarrel (const Identifier id) const;
251  bool is_tile_gap (const Identifier id) const;
252  bool is_tile_gapscin (const Identifier id) const;
254  bool is_tile_negative (const Identifier id) const;
256  bool is_tile_positive (const Identifier id) const;
257 
259  int sub_calo (const Identifier id)const;
261  int sub_calo (const IdentifierHash caloHash)const;
262 
264  int calo_sample (const Identifier id)const;
266  int calo_sample (const IdentifierHash caloHash)const;
267 
268 
269  /* field values (proposal)*/
270  /*
271  int first_field (const Identifier id)const; // corresponds to 'barrel_ec' for LArEM, 'pos_neg' for LArHEC and LArFCAL, 'section' for Tile
272  int second_field (const Identifier id)const; // corresponds to 'sampling' for LArEM and LArHEC, 'module' for LArFCAL, 'side' for Tile
273  int third_field (const Identifier id)const; // corresponds to 'region' for LArEM and LArHEC, nothing for LArFCAL, 'module' for Tile
274  int fourth_field (const Identifier id)const; // corresponds to 'eta' for LAr, 'tower' for Tile
275  int fifth_field (const Identifier id)const; // corresponds to 'phi' for LAr, 'sample' for Tile
276  */
277 
279  int pos_neg (const Identifier id)const; // corresponds to 'barrel_ec' for LArEM
281  int sampling (const Identifier id)const; // corresponds 'module' for FCAL/MiniFCAL
283  int region (const Identifier id)const; // no region for FCAL, is 'depth' for MiniFCAL
285  int eta (const Identifier id)const;
287  int phi (const Identifier id)const;
289  int section (const Identifier id)const;
291  int side (const Identifier id)const;
293  int module (const Identifier id)const;
295  int tower (const Identifier id)const;
297  int sample (const Identifier id)const;
298 
300  bool is_supercell (const Identifier id)const;
301 
304  int eta_min(const Identifier regId) const;
307  int eta_max(const Identifier regId) const;
310  int phi_min(const Identifier regId) const; // LAr only
313  int phi_max(const Identifier regId) const;
314 
317  float etaGranularity(const Identifier regId) const;
320  float phiGranularity(const Identifier regId) const;
323  float eta0(const Identifier regId) const;
326  float phi0(const Identifier regId) const;
327 
330  const LArEM_Base_ID* em_idHelper() const
331  { return m_emHelper;
332  }
336  { return m_hecHelper;
337  }
338 
342  { return m_fcalHelper;
343  }
344 
348  { return m_minifcalHelper;
349  }
350 
353  const Tile_Base_ID* tile_idHelper() const
354  { return m_tileHelper;
355  }
356 
357 
372  int get_neighbours(const IdentifierHash caloHash,
373  const LArNeighbours::neighbourOption& option,
374  std::vector<IdentifierHash>& neighbourList) const;
375 
377  std::string cell_name(const Identifier id) const;
378 
379  std::string show_to_string(const Identifier id,
380  const IdContext *context = 0,
381  char sep = '.') const;
382 
383 
384 private:
386 
393 
400  std::vector<Identifier> m_cell_vec;
401  std::vector<Identifier> m_region_vec;
402 
403 private:
404  // Avoid coverity warnings.
407 
409 
410  unsigned m_supercell;
411 };
412 
413 
414 
416 
417 
418 CLASS_DEF( CaloCell_Base_ID , 257140327 , 1 )
419 
420 
421 #endif // not CALOIDENTIFIER_CALOCELL_BASE_ID_H
CaloCell_Base_ID::region_id
Identifier region_id(const int subCalo, const IdentifierHash subCaloRegionHash) const
create region id from 'local'(==internal to sub calo) hash id and sub calorimeter
CaloCell_Base_ID::is_em_endcap_outer
bool is_em_endcap_outer(const Identifier id) const
test if the id belongs to the EM Endcap outer wheel
LArNeighbours::neighbourOption
neighbourOption
Definition: LArNeighbours.h:12
CaloCell_Base_ID::is_supercell
bool is_supercell(const Identifier id) const
Test if the identifier represents a supercell.
LArFCAL_Base_ID
Definition: LArFCAL_Base_ID.h:19
CaloCell_Base_ID::LARFCAL
@ LARFCAL
Definition: CaloCell_Base_ID.h:43
CaloCell_Base_ID::show_to_string
std::string show_to_string(const Identifier id, const IdContext *context=0, char sep='.') const
Definition: CaloCell_Base_ID.cxx:271
CaloIDHelper::NOT_VALID
@ NOT_VALID
Definition: CaloIDHelper.h:36
egammaParameters::depth
@ depth
pointing depth of the shower as calculated in egammaqgcld
Definition: egammaParamDefs.h:276
CaloCell_Base_ID::calo_cell_hash
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
CaloCell_Base_ID::region
int region(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
CaloCell_Base_ID::region_id
Identifier region_id(const IdentifierHash caloRegionHash) const
create region id from 'global'(==full calo) hash id
CaloCell_Base_ID::tower
int tower(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
CaloCell_Base_ID::phi_min
int phi_min(const Identifier regId) const
min value of phi index (-999 == failure)
CaloCell_Base_ID::cell_id
Identifier cell_id(const IdentifierHash caloCellHash) const
create cell id from 'global' hash id
CaloCell_Base_ID::is_tile
bool is_tile(const ExpandedIdentifier &id) const
CaloCell_Base_ID::reg_begin
id_iterator reg_begin(const int subCalo) const
begin iterator over subCalo sets of region Identifiers
LArHEC_Base_ID
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
Definition: LArHEC_Base_ID.h:41
LArEM_Base_ID
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
Definition: LArEM_Base_ID.h:36
CaloCell_Base_ID::is_hec
bool is_hec(const IdentifierHash caloHash) const
test if the hash id belongs to the HEC
CaloCell_Base_ID::is_em_endcap
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
CaloCell_Base_ID::subcalo_region_hash
IdentifierHash subcalo_region_hash(const IdentifierHash caloHash, int &subCalo) const
to translate a region 'global' caloHash into a subCaloHash
CaloCell_Base_ID::LARMINIFCAL
@ LARMINIFCAL
Definition: CaloCell_Base_ID.h:43
CaloCell_Base_ID::pos_neg
int pos_neg(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
CaloCell_Base_ID::cell_name
std::string cell_name(const Identifier id) const
Returns the cell-location in a human readable form.
Definition: CaloCell_Base_ID.cxx:254
CaloCell_Base_ID::region_id
Identifier region_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy) const
Make a region ID from constituting fields and subCalo index; for (Mini)FCAL and Tiles,...
CaloCell_Base_ID::reg_range
id_range reg_range(const int subCalo) const
Range over subCalo sets of region Identifiers.
CaloCell_Base_ID::reg_range
id_range reg_range() const
Range over set of region Identifiers (LAr + Tiles)
CaloCell_Base_ID::m_cell_max
size_type m_cell_max[NSUBCALO]
Definition: CaloCell_Base_ID.h:397
CaloID.h
CaloSampling
provides Calorimeter Sampling enum
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:17
CaloCell_Base_ID::m_cell_min
size_type m_cell_min[NSUBCALO]
Definition: CaloCell_Base_ID.h:396
CaloCell_Base_ID::is_minifcal
bool is_minifcal(const IdentifierHash caloHash) const
test if the hash id belongs to the FCAL
ExpandedIdentifier
Definition: DetectorDescription/Identifier/Identifier/ExpandedIdentifier.h:102
CaloCell_Base_ID::subcalo_region_hash
IdentifierHash subcalo_region_hash(const Identifier regionId, int &subCalo) const
create hash id from 'global' region id
CaloCell_Base_ID::cell_begin
id_iterator cell_begin(const int subCalo) const
begin iterator over subCalo sets of cell Identifiers
CaloCell_Base_ID::LARHEC
@ LARHEC
Definition: CaloCell_Base_ID.h:43
CaloCell_Base_ID::eta_max
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
CaloCell_Base_ID::calo_sample
int calo_sample(const Identifier id) const
returns an int taken from Sampling enum and describing the subCalo to which the Id belongs.
Definition: CaloCell_Base_ID.cxx:141
CaloCell_Base_ID::cell_range
id_range cell_range() const
Range over full set of Identifiers (LAr + Tiles)
CaloCell_Base_ID::operator=
CaloCell_Base_ID & operator=(const CaloCell_Base_ID &)
CaloCell_Base_ID::calo_cell_hash
IdentifierHash calo_cell_hash(const int subCalo, const IdentifierHash subCaloHash) const
to translate a cell subCaloHash with its subCalo index into a 'global' caloHash
CaloCell_Base_ID::is_tile
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
CaloCell_Base_ID::module
int module(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
CaloCell_Base_ID::id_iterator
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
Definition: CaloCell_Base_ID.h:176
CaloCell_Base_ID::is_tile_barrel
bool is_tile_barrel(const Identifier id) const
test if the id belongs to the Tiles barrel
CaloCell_Base_ID::sub_calo
int sub_calo(const IdentifierHash caloHash) const
returns an int taken from SUBCALO enum and describing the subCalo to which the hash Id belongs.
CaloCell_Base_ID::is_hec
bool is_hec(const Identifier id) const
test if the id belongs to the HEC
CaloCell_Base_ID::cell_id
Identifier cell_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, const int eta, const int phi, bool checks) const
CaloCell_Base_ID::GetSubCaloName
int GetSubCaloName(const std::string &SubCaloName) const
CaloCell_Base_ID::fcal_idHelper
const LArFCAL_Base_ID * fcal_idHelper() const
access to FCAL idHelper
Definition: CaloCell_Base_ID.h:341
CaloCell_Base_ID::m_region_hash_max
size_type m_region_hash_max
Definition: CaloCell_Base_ID.h:395
CaloCell_Base_ID::reg_begin
id_iterator reg_begin() const
begin iterator over set of region Identifiers (LAr + Tiles)
CaloCell_Base_ID::region_id
Identifier region_id(const Identifier cellId) const
Make a region ID from a cell ID
CaloCell_Base_ID::calo_region_hash
IdentifierHash calo_region_hash(const Identifier regionId) const
create hash id from 'global' region id
CaloCell_Base_ID::cell_begin
id_iterator cell_begin() const
begin iterator over full set of Identifiers (LAr + Tiles)
CaloCell_Base_ID::region_id
Identifier region_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, bool checks) const
CaloCell_Base_ID::em_idHelper
const LArEM_Base_ID * em_idHelper() const
access to EM idHelper
Definition: CaloCell_Base_ID.h:330
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
IdDictMgr
Definition: IdDictMgr.h:14
CaloCell_Base_ID::phi_max
int phi_max(const Identifier regId) const
max value of phi index (-999 == failure)
CaloCell_Base_ID::is_em
bool is_em(const Identifier id) const
test if the id belongs to LArEM
CaloCell_Base_ID::calo_region_hash_max
size_type calo_region_hash_max() const
cell 'global' region table max size
CaloCell_Base_ID::cell_range
id_range cell_range(const int subCalo) const
Range over subCalo sets of cell Identifiers.
CaloCell_Base_ID::eta0
float eta0(const Identifier regId) const
minimum LAr eta for this region
CaloCell_Base_ID::m_helpers
const CaloIDHelper * m_helpers[NSUBCALO]
Definition: CaloCell_Base_ID.h:392
CaloCell_Base_ID::m_cell_hash_max
size_type m_cell_hash_max
Definition: CaloCell_Base_ID.h:394
CaloCell_Base_ID::calo_cell_hash_max
size_type calo_cell_hash_max() const
cell 'global' hash table max size
CaloCell_Base_ID::sample
int sample(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
CaloNeighbours
Definition: CaloNeighbours.h:92
CaloCell_Base_ID::calo_cell_hash_range
void calo_cell_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone
CaloCell_Base_ID::is_fcal
bool is_fcal(const Identifier id) const
test if the id belongs to the FCAL - true also for MiniFCAL
CaloIDHelper
Base class to factor out code common among Calo ID helpers.
Definition: CaloIDHelper.h:34
CaloCell_Base_ID::sampling
int sampling(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
CaloCell_Base_ID::cell_end
id_iterator cell_end(const int subCalo) const
end iterator over subCalo sets of cell Identifiers
CaloCell_Base_ID::m_minifcalHelper
const LArMiniFCAL_ID * m_minifcalHelper
Definition: CaloCell_Base_ID.h:390
Tile_Base_ID
This class factors out code common between TileID and Tile_SuperCell_ID.
Definition: Tile_Base_ID.h:36
CaloCell_Base_ID::SUBCALO
SUBCALO
enumeration of sub calorimeters
Definition: CaloCell_Base_ID.h:43
CaloCell_Base_ID::is_tile_extbarrel
bool is_tile_extbarrel(const Identifier id) const
test if the id belongs to the Tiles extended barrel
CaloCell_Base_ID::CaloCell_Base_ID
CaloCell_Base_ID(const CaloCell_Base_ID &)
CaloCell_Base_ID::m_caloNeighbours
CaloNeighbours * m_caloNeighbours
Definition: CaloCell_Base_ID.h:408
CaloCell_Base_ID::is_em_endcap_inner
bool is_em_endcap_inner(const Identifier id) const
test if the id belongs to the EM Endcap inner wheel
CaloCell_Base_ID::CaloCell_Base_ID
CaloCell_Base_ID(const std::string &name, const LArEM_Base_ID *em_id, const LArHEC_Base_ID *hec_id, const LArFCAL_Base_ID *fcal_id, const LArMiniFCAL_ID *minifcal_id, const Tile_Base_ID *tile_id, bool supercell)
enumeration of samplings (i.e.layers) separately for various sub calorimeters
Definition: CaloCell_Base_ID.cxx:16
CaloCell_Base_ID::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: CaloCell_Base_ID.h:178
CaloCell_Base_ID::eta
int eta(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
CaloCell_Base_ID::sub_calo
int sub_calo(const Identifier id) const
returns an int taken from SUBCALO enum and describing the subCalo to which the Id belongs.
CaloCell_Base_ID::get_subcalo
SUBCALO get_subcalo(Identifier id) const
CaloCell_Base_ID::subcalo_cell_hash
IdentifierHash subcalo_cell_hash(const Identifier cellId, int &subCalo) const
create hash id from 'global' cell id
CaloCell_Base_ID::minifcal_idHelper
const LArMiniFCAL_ID * minifcal_idHelper() const
access to MiniFCAL idHelper
Definition: CaloCell_Base_ID.h:347
CaloCell_Base_ID::TILE
@ TILE
Definition: CaloCell_Base_ID.h:43
CaloCell_Base_ID::m_hecHelper
const LArHEC_Base_ID * m_hecHelper
Definition: CaloCell_Base_ID.h:388
CaloCell_Base_ID::calo_reg_hash_range
void calo_reg_hash_range(const int subCalo, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' region hashes of one sub-calorimeter alone
CaloCell_Base_ID::phiGranularity
float phiGranularity(const Identifier regId) const
LAr phi granularity (NOT_VALID == failure)
CaloCell_Base_ID::m_fcalHelper
const LArFCAL_Base_ID * m_fcalHelper
Definition: CaloCell_Base_ID.h:389
CaloCell_Base_ID::subcalo_cell_hash
IdentifierHash subcalo_cell_hash(const IdentifierHash caloHash, int &subCalo) const
to translate a cell 'global' caloHash into a subCaloHash
CaloCell_Base_ID::is_tile_positive
bool is_tile_positive(const Identifier id) const
test if the id belongs to the Tiles positive side
CaloCell_Base_ID::m_reg_max
size_type m_reg_max[NSUBCALO]
Definition: CaloCell_Base_ID.h:399
CaloCell_Base_ID::cell_end
id_iterator cell_end() const
end iterator over full set of Identifiers (LAr + Tiles)
CaloCell_Base_ID::is_fcal
bool is_fcal(const IdentifierHash caloHash) const
test if the hash id belongs to the FCAL - true also for MiniFCAL
CaloCell_Base_ID::calo_reg_hash_range
void calo_reg_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' region hashes of one sub-calorimeter alone
CaloCell_Base_ID::m_supercell
unsigned m_supercell
Definition: CaloCell_Base_ID.h:410
CaloCell_Base_ID::is_em_barrel
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
grepfile.sep
sep
Definition: grepfile.py:38
CaloCell_Base_ID::eta_min
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
CaloCell_Base_ID::reg_end
id_iterator reg_end(const int subCalo) const
end iterator over subCalo sets of region Identifiers
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
CaloCell_Base_ID::is_em
bool is_em(const IdentifierHash caloHash) const
test if the hash id belongs to LArEM
CaloCell_Base_ID::get_neighbours
int get_neighbours(const IdentifierHash caloHash, const LArNeighbours::neighbourOption &option, std::vector< IdentifierHash > &neighbourList) const
access to hashes for neighbours return == 0 for neighbours found
Definition: CaloCell_Base_ID.cxx:190
CaloCell_Base_ID::calo_cell_hash_range
void calo_cell_hash_range(const int subCalo, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone
CaloCell_Base_ID::m_cell_vec
std::vector< Identifier > m_cell_vec
Definition: CaloCell_Base_ID.h:400
CaloCell_Base_ID::reg_end
id_iterator reg_end() const
end iterator over set of region Identifiers (LAr + Tiles)
CaloCell_Base_ID::phi
int phi(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
CaloCell_Base_ID::cell_id
Identifier cell_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, const int eta, const int phi) const
Make a cell (== channel) ID from constituting fields and subCalo index; for (Mini)FCAL,...
CaloCell_Base_ID.icc
CaloCell_Base_ID::side
int side(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
LArMiniFCAL_ID
Helper class for LArMiniFCAL offline identifiers.
Definition: LArMiniFCAL_ID.h:57
CaloCell_Base_ID::is_tile_negative
bool is_tile_negative(const Identifier id) const
test if the id belongs to the Tiles negative side
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
CaloCell_Base_ID::cell_id
Identifier cell_id(const Identifier regionId, const int eta, const int phi, int depth, bool checks) const
CaloCell_Base_ID::m_tileHelper
const Tile_Base_ID * m_tileHelper
Definition: CaloCell_Base_ID.h:391
CaloCell_Base_ID::m_reg_min
size_type m_reg_min[NSUBCALO]
Definition: CaloCell_Base_ID.h:398
CaloCell_Base_ID::NSUBCALO
@ NSUBCALO
Definition: CaloCell_Base_ID.h:43
CaloCell_Base_ID::cell_id
Identifier cell_id(const int subCalo, const IdentifierHash subCaloCellHash) const
create cell id from 'local'(==internal to sub calo) hash id and sub calorimeter
CaloCell_Base_ID::initialize_from_dictionary
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
Definition: CaloCell_Base_ID.cxx:80
CaloCell_Base_ID::phi0
float phi0(const Identifier regId) const
minimum LAr phi for this region
CaloCell_Base_ID::~CaloCell_Base_ID
~CaloCell_Base_ID()
Definition: CaloCell_Base_ID.cxx:74
Identifier::size_type
unsigned long long size_type
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:29
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
LArNeighbours.h
CaloCell_Base_ID::is_tile_gap
bool is_tile_gap(const Identifier id) const
test if the id belongs to the Tiles gap
CaloCell_Base_ID::LAREM
@ LAREM
Definition: CaloCell_Base_ID.h:43
CaloCell_Base_ID::NOT_VALID
@ NOT_VALID
Definition: CaloCell_Base_ID.h:43
CaloCell_Base_ID::is_tile_gapscin
bool is_tile_gapscin(const Identifier id) const
CaloCell_Base_ID
Helper base class for offline cell identifiers.
Definition: CaloCell_Base_ID.h:38
CaloCell_Base_ID::is_tile
bool is_tile(const IdentifierHash caloHash) const
test if the hash id belongs to the Tiles
IdContext
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
Definition: IdContext.h:26
CLASS_DEF.h
macros to associate a CLID to a type
CaloCell_Base_ID::size_type
Identifier::size_type size_type
Definition: CaloCell_Base_ID.h:40
CaloCell_Base_ID::tile_idHelper
const Tile_Base_ID * tile_idHelper() const
access to Tile idHelper
Definition: CaloCell_Base_ID.h:353
CaloCell_Base_ID::m_region_vec
std::vector< Identifier > m_region_vec
Definition: CaloCell_Base_ID.h:401
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:52
CaloCell_Base_ID::m_emHelper
const LArEM_Base_ID * m_emHelper
Definition: CaloCell_Base_ID.h:387
CaloCell_Base_ID::is_minifcal
bool is_minifcal(const Identifier id) const
test if the id belongs to the MiniFCAL
CaloCell_Base_ID::section
int section(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
CaloCell_Base_ID::cell_id
Identifier cell_id(const Identifier regionId, const int eta, const int phi, int depth=0) const
not available for Tile depth is only used for miniFCAL
CaloCell_Base_ID::hec_idHelper
const LArHEC_Base_ID * hec_idHelper() const
access to HEC idHelper
Definition: CaloCell_Base_ID.h:335
CaloCell_Base_ID::calo_region_hash
IdentifierHash calo_region_hash(const int subCalo, const IdentifierHash subCaloHash) const
to translate a region subCaloHash with its subCalo index into a 'global' caloHash
Identifier
Definition: IdentifierFieldParser.cxx:14
CaloCell_Base_ID::etaGranularity
float etaGranularity(const Identifier regId) const
LAr eta granularity (NOT_VALID == failure)