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 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // $Id$
16 #ifndef CALOIDENTIFIER_CALOCELL_BASE_ID_H
17 #define CALOIDENTIFIER_CALOCELL_BASE_ID_H
18 
19 
20 #include "AthenaKernel/CLASS_DEF.h"
22 #include "CaloIdentifier/CaloID.h"
24 #include "CaloGeoHelpers/CaloSampling.h"
25 
26 
27 class CaloNeighbours;
28 
29 
41 {
42 public:
44 
46  enum SUBCALO { LAREM = 0, LARHEC = 1, LARFCAL = 2, TILE = 3, LARMINIFCAL = 4, NSUBCALO = 5, NOT_VALID=CaloIDHelper::NOT_VALID /*999999*/ };
47 
49  //typedef CaloSampling::CaloSample CaloSample;
50  // enum CaloSample {
51  // PreSamplerB=0, EMB1, EMB2, EMB3, // LAr barrel
52  // PreSamplerE, EME1, EME2, EME3, // LAr EM endcap
53  // HEC0, HEC1, HEC2, HEC3, // Hadronic end cap cal.
54  // TileBar0, TileBar1, TileBar2, // Tile barrel
55  // TileGap1, TileGap2, TileGap3, // Tile gap (ITC & scint)
56  // TileExt0, TileExt1, TileExt2, // Tile extended barrel
57  // FCAL0, FCAL1, FCAL2, // Forward EM endcap
58  // MINIFCAL0, MINIFCAL1, MINIFCAL2, MINIFCAL3, // MiniFCAL
59  // Unknown
60  // };
61 
62 
64  CaloCell_Base_ID(const LArEM_Base_ID* em_id,
65  const LArHEC_Base_ID* hec_id,
66  const LArFCAL_Base_ID* fcal_id,
67  const LArMiniFCAL_ID* minifcal_id,
68  const Tile_Base_ID* tile_id,
69  bool supercell);
70 
72 
73 
74  int GetSubCaloName( const std::string& SubCaloName ) const;
75 
77  virtual int initialize_from_dictionary(const IdDictMgr& dict_mgr) override;
78 
82  Identifier region_id (const int subCalo,
83  const int barec_or_posneg,
84  const int sampling_or_fcalmodule,
85  const int region_or_dummy ) const;
86  Identifier region_id (const int subCalo,
87  const int barec_or_posneg,
88  const int sampling_or_fcalmodule,
89  const int region_or_dummy,
90  bool checks) const;
91 
96  Identifier cell_id (const int subCalo,
97  const int barec_or_posneg,
98  const int sampling_or_fcalmodule,
99  const int region_or_dummy,
100  const int eta,
101  const int phi ) const;
102  Identifier cell_id (const int subCalo,
103  const int barec_or_posneg,
104  const int sampling_or_fcalmodule,
105  const int region_or_dummy,
106  const int eta,
107  const int phi,
108  bool checks) const;
109 
111  Identifier region_id (const Identifier cellId ) const;
112 
115  Identifier cell_id( const Identifier regionId,
116  const int eta, const int phi,
117  int depth = 0) const ;
118  Identifier cell_id( const Identifier regionId,
119  const int eta, const int phi,
120  int depth,
121  bool checks) const ;
122 
124  Identifier region_id (const IdentifierHash caloRegionHash) const;
126  Identifier region_id (const int subCalo, const IdentifierHash subCaloRegionHash) const;
127 
129  Identifier cell_id (const IdentifierHash caloCellHash) const;
131  Identifier cell_id (const int subCalo, const IdentifierHash subCaloCellHash) const;
132 
137  IdentifierHash subcalo_region_hash (const Identifier regionId, int& subCalo) const; // subCalo is an output argument
138 
140  IdentifierHash calo_cell_hash (const Identifier cellId) const;
143  IdentifierHash subcalo_cell_hash (const Identifier cellId, int& subCalo) const; // subCalo is an output argument
144 
149 
153  void calo_cell_hash_range (const Identifier id, IdentifierHash& caloCellMin, IdentifierHash& caloCellMax) const;
157  void calo_cell_hash_range (const int subCalo, IdentifierHash& caloCellMin, IdentifierHash& caloCellMax) const;
161  void calo_reg_hash_range (const Identifier id, IdentifierHash& caloCellMin, IdentifierHash& caloCellMax) const;
165  void calo_reg_hash_range (const int subCalo, IdentifierHash& caloCellMin, IdentifierHash& caloCellMax) const;
166 
168  IdentifierHash subcalo_cell_hash (const IdentifierHash caloHash, int& subCalo) const;
170  IdentifierHash subcalo_region_hash (const IdentifierHash caloHash, int& subCalo) const;
171 
173  IdentifierHash calo_cell_hash (const int subCalo, const IdentifierHash subCaloHash) const;
175  IdentifierHash calo_region_hash (const int subCalo, const IdentifierHash subCaloHash) const;
176 
178  typedef std::vector<Identifier>::const_iterator id_iterator;
180  typedef boost::iterator_range<id_iterator> id_range;
181 
183  id_iterator cell_begin (void) const;
185  id_iterator cell_end (void) const;
187  id_range cell_range (void) const;
188 
190  id_iterator cell_begin (const int subCalo) const;
192  id_iterator cell_end (const int subCalo) const;
194  id_range cell_range (const int subCalo) const;
195 
197  id_iterator reg_begin (void) const;
199  id_iterator reg_end (void) const;
201  id_range reg_range (void) const;
202 
204  id_iterator reg_begin (const int subCalo) const;
206  id_iterator reg_end (const int subCalo) const;
208  id_range reg_range (const int subCalo) const;
209 
211  bool is_em (const Identifier id) const;
213  bool is_em (const IdentifierHash caloHash) const;
214 
216  bool is_em_barrel (const Identifier id) const;
217 
219  bool is_em_endcap (const Identifier id) const;
220 
222  bool is_em_endcap_inner (const Identifier id) const;
223 
225  bool is_em_endcap_outer (const Identifier id) const;
226 
228  bool is_hec (const Identifier id) const;
230  bool is_hec (const IdentifierHash caloHash) const;
231 
233  bool is_fcal (const Identifier id) const;
235  bool is_fcal (const IdentifierHash caloHash) const;
236 
238  bool is_minifcal (const Identifier id) const;
240  bool is_minifcal (const IdentifierHash caloHash) const;
241 
243  bool is_tile (const Identifier id) const;
245  bool is_tile (const IdentifierHash caloHash) const;
246  bool is_tile (const ExpandedIdentifier& id) const;
247 
249  bool is_tile_barrel (const Identifier id) const;
251  bool is_tile_extbarrel (const Identifier id) const;
253  bool is_tile_gap (const Identifier id) const;
254  bool is_tile_gapscin (const Identifier id) const;
256  bool is_tile_negative (const Identifier id) const;
258  bool is_tile_positive (const Identifier id) const;
259 
261  int sub_calo (const Identifier id)const;
263  int sub_calo (const IdentifierHash caloHash)const;
264 
266  int calo_sample (const Identifier id)const;
268  int calo_sample (const IdentifierHash caloHash)const;
269 
270 
271  /* field values (proposal)*/
272  /*
273  int first_field (const Identifier id)const; // corresponds to 'barrel_ec' for LArEM, 'pos_neg' for LArHEC and LArFCAL, 'section' for Tile
274  int second_field (const Identifier id)const; // corresponds to 'sampling' for LArEM and LArHEC, 'module' for LArFCAL, 'side' for Tile
275  int third_field (const Identifier id)const; // corresponds to 'region' for LArEM and LArHEC, nothing for LArFCAL, 'module' for Tile
276  int fourth_field (const Identifier id)const; // corresponds to 'eta' for LAr, 'tower' for Tile
277  int fifth_field (const Identifier id)const; // corresponds to 'phi' for LAr, 'sample' for Tile
278  */
279 
281  int pos_neg (const Identifier id)const; // corresponds to 'barrel_ec' for LArEM
283  int sampling (const Identifier id)const; // corresponds 'module' for FCAL/MiniFCAL
285  int region (const Identifier id)const; // no region for FCAL, is 'depth' for MiniFCAL
287  int eta (const Identifier id)const;
289  int phi (const Identifier id)const;
291  int section (const Identifier id)const;
293  int side (const Identifier id)const;
295  int module (const Identifier id)const;
297  int tower (const Identifier id)const;
299  int sample (const Identifier id)const;
300 
302  bool is_supercell (const Identifier id)const;
303 
306  int eta_min(const Identifier regId) const;
309  int eta_max(const Identifier regId) const;
312  int phi_min(const Identifier regId) const; // LAr only
315  int phi_max(const Identifier regId) const;
316 
319  float etaGranularity(const Identifier regId) const;
322  float phiGranularity(const Identifier regId) const;
325  float eta0(const Identifier regId) const;
328  float phi0(const Identifier regId) const;
329 
332  const LArEM_Base_ID* em_idHelper() const
333  { return m_emHelper;
334  }
338  { return m_hecHelper;
339  }
340 
344  { return m_fcalHelper;
345  }
346 
350  { return m_minifcalHelper;
351  }
352 
355  const Tile_Base_ID* tile_idHelper() const
356  { return m_tileHelper;
357  }
358 
359 
374  int get_neighbours(const IdentifierHash caloHash,
375  const LArNeighbours::neighbourOption& option,
376  std::vector<IdentifierHash>& neighbourList) const;
377 
379  std::string cell_name(const Identifier id) const;
380 
381 private:
383 
390 
397  std::vector<Identifier> m_cell_vec;
398  std::vector<Identifier> m_region_vec;
399 
400 private:
401  // Avoid coverity warnings.
404 
406 
407  unsigned m_supercell;
408 };
409 
410 
411 
413 
414 
415 CLASS_DEF( CaloCell_Base_ID , 257140327 , 1 )
416 
417 
418 #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:46
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:44
LArEM_Base_ID
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
Definition: LArEM_Base_ID.h:38
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:46
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::m_cell_max
size_type m_cell_max[NSUBCALO]
Definition: CaloCell_Base_ID.h:394
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:393
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_end
id_iterator cell_end(void) const
end iterator over full set of Identifiers (LAr + Tiles)
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:46
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::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:178
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::reg_end
id_iterator reg_end(void) const
end iterator over set of region Identifiers (LAr + Tiles)
CaloCell_Base_ID::fcal_idHelper
const LArFCAL_Base_ID * fcal_idHelper() const
access to FCAL idHelper
Definition: CaloCell_Base_ID.h:343
CaloCell_Base_ID::m_region_hash_max
size_type m_region_hash_max
Definition: CaloCell_Base_ID.h:392
CaloCell_Base_ID::region_id
Identifier region_id(const Identifier cellId) const
Make a region ID from a cell ID
CaloCell_Base_ID::reg_range
id_range reg_range(void) const
Range over set of region Identifiers (LAr + Tiles)
CaloCell_Base_ID::calo_region_hash
IdentifierHash calo_region_hash(const Identifier regionId) const
create hash id from 'global' region id
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:332
AtlasDetectorID.h
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
IdDictMgr
Definition: IdDictDefs.h:32
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::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:389
CaloCell_Base_ID::m_cell_hash_max
size_type m_cell_hash_max
Definition: CaloCell_Base_ID.h:391
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:387
Tile_Base_ID
This class factors out code common between TileID and Tile_SuperCell_ID.
Definition: Tile_Base_ID.h:39
CaloCell_Base_ID::SUBCALO
SUBCALO
enumeration of sub calorimeters
Definition: CaloCell_Base_ID.h:46
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:405
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::id_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Definition: CaloCell_Base_ID.h:180
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:349
CaloCell_Base_ID::TILE
@ TILE
Definition: CaloCell_Base_ID.h:46
CaloCell_Base_ID::m_hecHelper
const LArHEC_Base_ID * m_hecHelper
Definition: CaloCell_Base_ID.h:385
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::cell_begin
id_iterator cell_begin(void) const
begin iterator over full set of Identifiers (LAr + Tiles)
CaloCell_Base_ID::m_fcalHelper
const LArFCAL_Base_ID * m_fcalHelper
Definition: CaloCell_Base_ID.h:386
CaloCell_Base_ID::cell_range
id_range cell_range(void) const
Range over full set of Identifiers (LAr + Tiles)
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:396
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::CaloCell_Base_ID
CaloCell_Base_ID(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:18
CaloCell_Base_ID::m_supercell
unsigned m_supercell
Definition: CaloCell_Base_ID.h:407
CaloCell_Base_ID::is_em_barrel
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
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
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:397
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:64
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:388
CaloCell_Base_ID::m_reg_min
size_type m_reg_min[NSUBCALO]
Definition: CaloCell_Base_ID.h:395
CaloCell_Base_ID::NSUBCALO
@ NSUBCALO
Definition: CaloCell_Base_ID.h:46
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:46
CaloCell_Base_ID::NOT_VALID
@ NOT_VALID
Definition: CaloCell_Base_ID.h:46
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:41
CaloCell_Base_ID::is_tile
bool is_tile(const IdentifierHash caloHash) const
test if the hash id belongs to the Tiles
CaloCell_Base_ID::calo_region_hash_max
size_type calo_region_hash_max(void) const
cell 'global' region table max size
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:43
CaloCell_Base_ID::tile_idHelper
const Tile_Base_ID * tile_idHelper() const
access to Tile idHelper
Definition: CaloCell_Base_ID.h:355
CaloCell_Base_ID::m_region_vec
std::vector< Identifier > m_region_vec
Definition: CaloCell_Base_ID.h:398
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
CaloCell_Base_ID::reg_begin
id_iterator reg_begin(void) const
begin iterator over set of region Identifiers (LAr + Tiles)
CaloCell_Base_ID::m_emHelper
const LArEM_Base_ID * m_emHelper
Definition: CaloCell_Base_ID.h:384
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:337
CaloCell_Base_ID::calo_cell_hash_max
size_type calo_cell_hash_max(void) const
cell 'global' hash table max size
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)