|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #ifndef CALOIDENTIFIER_CALOCELL_BASE_ID_H
17 #define CALOIDENTIFIER_CALOCELL_BASE_ID_H
24 #include "CaloGeoHelpers/CaloSampling.h"
83 const int barec_or_posneg,
84 const int sampling_or_fcalmodule,
85 const int region_or_dummy )
const;
87 const int barec_or_posneg,
88 const int sampling_or_fcalmodule,
89 const int region_or_dummy,
97 const int barec_or_posneg,
98 const int sampling_or_fcalmodule,
99 const int region_or_dummy,
101 const int phi )
const;
103 const int barec_or_posneg,
104 const int sampling_or_fcalmodule,
105 const int region_or_dummy,
116 const int eta,
const int phi,
117 int depth = 0)
const ;
119 const int eta,
const int phi,
180 typedef boost::iterator_range<id_iterator>
id_range;
376 std::vector<IdentifierHash>& neighbourList)
const;
418 #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.
@ 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.
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_end(void) const
end iterator over full set of Identifiers (LAr + Tiles)
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.
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
id_iterator reg_end(void) const
end iterator over set of region Identifiers (LAr + Tiles)
const LArFCAL_Base_ID * fcal_idHelper() const
access to FCAL idHelper
size_type m_region_hash_max
Identifier region_id(const Identifier cellId) const
Make a region ID from a cell ID
id_range reg_range(void) const
Range over set of region Identifiers (LAr + Tiles)
IdentifierHash calo_region_hash(const Identifier regionId) const
create hash id from 'global' 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
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
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
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
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)
id_iterator cell_begin(void) const
begin iterator over full set of Identifiers (LAr + Tiles)
const LArFCAL_Base_ID * m_fcalHelper
id_range cell_range(void) const
Range over full set of Identifiers (LAr + Tiles)
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]
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
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
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
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
size_type calo_region_hash_max(void) const
cell 'global' region table max size
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...
id_iterator reg_begin(void) const
begin iterator over set of region Identifiers (LAr + Tiles)
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
size_type calo_cell_hash_max(void) const
cell 'global' hash table max size
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)