 |
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef CALOIDENTIFIER_CALOCELL_BASE_ID_H
14 #define CALOIDENTIFIER_CALOCELL_BASE_ID_H
21 #include "CaloGeoHelpers/CaloSampling.h"
81 const int barec_or_posneg,
82 const int sampling_or_fcalmodule,
83 const int region_or_dummy )
const;
85 const int barec_or_posneg,
86 const int sampling_or_fcalmodule,
87 const int region_or_dummy,
95 const int barec_or_posneg,
96 const int sampling_or_fcalmodule,
97 const int region_or_dummy,
99 const int phi )
const;
101 const int barec_or_posneg,
102 const int sampling_or_fcalmodule,
103 const int region_or_dummy,
114 const int eta,
const int phi,
115 int depth = 0)
const ;
117 const int eta,
const int phi,
178 typedef boost::iterator_range<id_iterator>
id_range;
374 std::vector<IdentifierHash>& neighbourList)
const;
381 char sep =
'.')
const;
421 #endif // not CALOIDENTIFIER_CALOCELL_BASE_ID_H
Identifier region_id(const int subCalo, const IdentifierHash subCaloRegionHash) const
create region id from 'local'(==internal to sub calo) hash id and sub calorimeter
bool is_em_endcap_outer(const Identifier id) const
test if the id belongs to the EM Endcap outer wheel
bool is_supercell(const Identifier id) const
Test if the identifier represents a supercell.
std::string show_to_string(const Identifier id, const IdContext *context=0, char sep='.') const
@ depth
pointing depth of the shower as calculated in egammaqgcld
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
int region(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
Identifier region_id(const IdentifierHash caloRegionHash) const
create region id from 'global'(==full calo) hash id
int tower(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
int phi_min(const Identifier regId) const
min value of phi index (-999 == failure)
Identifier cell_id(const IdentifierHash caloCellHash) const
create cell id from 'global' hash id
bool is_tile(const ExpandedIdentifier &id) const
id_iterator reg_begin(const int subCalo) const
begin iterator over subCalo sets of region Identifiers
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
bool is_hec(const IdentifierHash caloHash) const
test if the hash id belongs to the HEC
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
IdentifierHash subcalo_region_hash(const IdentifierHash caloHash, int &subCalo) const
to translate a region 'global' caloHash into a subCaloHash
int pos_neg(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
std::string cell_name(const Identifier id) const
Returns the cell-location in a human readable form.
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,...
id_range reg_range(const int subCalo) const
Range over subCalo sets of region Identifiers.
id_range reg_range() const
Range over set of region Identifiers (LAr + Tiles)
size_type m_cell_max[NSUBCALO]
provides Calorimeter Sampling enum
size_type m_cell_min[NSUBCALO]
bool is_minifcal(const IdentifierHash caloHash) const
test if the hash id belongs to the FCAL
IdentifierHash subcalo_region_hash(const Identifier regionId, int &subCalo) const
create hash id from 'global' region id
id_iterator cell_begin(const int subCalo) const
begin iterator over subCalo sets of cell Identifiers
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
int calo_sample(const Identifier id) const
returns an int taken from Sampling enum and describing the subCalo to which the Id belongs.
id_range cell_range() const
Range over full set of Identifiers (LAr + Tiles)
CaloCell_Base_ID & operator=(const CaloCell_Base_ID &)
IdentifierHash calo_cell_hash(const int subCalo, const IdentifierHash subCaloHash) const
to translate a cell subCaloHash with its subCalo index into a 'global' caloHash
bool is_tile(const Identifier id) const
test if the id belongs to the Tiles
int module(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
bool is_tile_barrel(const Identifier id) const
test if the id belongs to the Tiles barrel
int sub_calo(const IdentifierHash caloHash) const
returns an int taken from SUBCALO enum and describing the subCalo to which the hash Id belongs.
bool is_hec(const Identifier id) const
test if the id belongs to the HEC
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
int GetSubCaloName(const std::string &SubCaloName) const
const LArFCAL_Base_ID * fcal_idHelper() const
access to FCAL idHelper
size_type m_region_hash_max
id_iterator reg_begin() const
begin iterator over set of region Identifiers (LAr + Tiles)
Identifier region_id(const Identifier cellId) const
Make a region ID from a cell ID
IdentifierHash calo_region_hash(const Identifier regionId) const
create hash id from 'global' region id
id_iterator cell_begin() const
begin iterator over full set of Identifiers (LAr + Tiles)
Identifier region_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, bool checks) const
const LArEM_Base_ID * em_idHelper() const
access to EM idHelper
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
int phi_max(const Identifier regId) const
max value of phi index (-999 == failure)
bool is_em(const Identifier id) const
test if the id belongs to LArEM
size_type calo_region_hash_max() const
cell 'global' region table max size
id_range cell_range(const int subCalo) const
Range over subCalo sets of cell Identifiers.
float eta0(const Identifier regId) const
minimum LAr eta for this region
const CaloIDHelper * m_helpers[NSUBCALO]
size_type m_cell_hash_max
size_type calo_cell_hash_max() const
cell 'global' hash table max size
int sample(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
void calo_cell_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone
bool is_fcal(const Identifier id) const
test if the id belongs to the FCAL - true also for MiniFCAL
Base class to factor out code common among Calo ID helpers.
int sampling(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
id_iterator cell_end(const int subCalo) const
end iterator over subCalo sets of cell Identifiers
const LArMiniFCAL_ID * m_minifcalHelper
This class factors out code common between TileID and Tile_SuperCell_ID.
SUBCALO
enumeration of sub calorimeters
bool is_tile_extbarrel(const Identifier id) const
test if the id belongs to the Tiles extended barrel
CaloCell_Base_ID(const CaloCell_Base_ID &)
CaloNeighbours * m_caloNeighbours
bool is_em_endcap_inner(const Identifier id) const
test if the id belongs to the EM Endcap inner wheel
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
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
int eta(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
int sub_calo(const Identifier id) const
returns an int taken from SUBCALO enum and describing the subCalo to which the Id belongs.
SUBCALO get_subcalo(Identifier id) const
IdentifierHash subcalo_cell_hash(const Identifier cellId, int &subCalo) const
create hash id from 'global' cell id
const LArMiniFCAL_ID * minifcal_idHelper() const
access to MiniFCAL idHelper
const LArHEC_Base_ID * m_hecHelper
void calo_reg_hash_range(const int subCalo, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' region hashes of one sub-calorimeter alone
float phiGranularity(const Identifier regId) const
LAr phi granularity (NOT_VALID == failure)
const LArFCAL_Base_ID * m_fcalHelper
IdentifierHash subcalo_cell_hash(const IdentifierHash caloHash, int &subCalo) const
to translate a cell 'global' caloHash into a subCaloHash
bool is_tile_positive(const Identifier id) const
test if the id belongs to the Tiles positive side
size_type m_reg_max[NSUBCALO]
id_iterator cell_end() const
end iterator over full set of Identifiers (LAr + Tiles)
bool is_fcal(const IdentifierHash caloHash) const
test if the hash id belongs to the FCAL - true also for MiniFCAL
void calo_reg_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' region hashes of one sub-calorimeter alone
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
id_iterator reg_end(const int subCalo) const
end iterator over subCalo sets of region Identifiers
bool is_em(const IdentifierHash caloHash) const
test if the hash id belongs to LArEM
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
void calo_cell_hash_range(const int subCalo, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone
std::vector< Identifier > m_cell_vec
id_iterator reg_end() const
end iterator over set of region Identifiers (LAr + Tiles)
int phi(const Identifier id) const
LAr field values (NOT_VALID == invalid request)
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,...
int side(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
Helper class for LArMiniFCAL offline identifiers.
bool is_tile_negative(const Identifier id) const
test if the id belongs to the Tiles negative side
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Identifier cell_id(const Identifier regionId, const int eta, const int phi, int depth, bool checks) const
const Tile_Base_ID * m_tileHelper
size_type m_reg_min[NSUBCALO]
Identifier cell_id(const int subCalo, const IdentifierHash subCaloCellHash) const
create cell id from 'local'(==internal to sub calo) hash id and sub calorimeter
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr) override
Initialization from the identifier dictionary.
float phi0(const Identifier regId) const
minimum LAr phi for this region
unsigned long long size_type
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
bool is_tile_gap(const Identifier id) const
test if the id belongs to the Tiles gap
bool is_tile_gapscin(const Identifier id) const
Helper base class for offline cell identifiers.
bool is_tile(const IdentifierHash caloHash) const
test if the hash id belongs to the Tiles
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
macros to associate a CLID to a type
Identifier::size_type size_type
const Tile_Base_ID * tile_idHelper() const
access to Tile idHelper
std::vector< Identifier > m_region_vec
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
const LArEM_Base_ID * m_emHelper
bool is_minifcal(const Identifier id) const
test if the id belongs to the MiniFCAL
int section(const Identifier id) const
Tile field values (NOT_VALID == invalid request)
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
const LArHEC_Base_ID * hec_idHelper() const
access to HEC idHelper
IdentifierHash calo_region_hash(const int subCalo, const IdentifierHash subCaloHash) const
to translate a region subCaloHash with its subCalo index into a 'global' caloHash
float etaGranularity(const Identifier regId) const
LAr eta granularity (NOT_VALID == failure)