|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #ifndef CALOIDENTIFIER_LAREM_BASE_ID_H
17 #define CALOIDENTIFIER_LAREM_BASE_ID_H
26 #include "boost/range/iterator_range.hpp"
61 int eta,
int phi,
bool checks )
const;
72 int eta,
int phi,
bool checks )
const;
82 typedef boost::iterator_range<id_iterator>
id_range;
321 std::vector<IdentifierHash>& neighbourList)
const;
374 int& neighbourIndex,
IdentifierHash* neighbList,
unsigned int& nBiggerCell)
const;
377 int& neighbourIndex,
IdentifierHash* neighbList,
unsigned int& nBiggerCell)
const;
380 const double& gEta,
const float& gPhi,
const double&
absEta,
384 const double& gEta,
const float& gPhi,
const double&
absEta,
388 const double& gEta,
const float& gPhi,
const double&
absEta,
392 const double& gEta,
const float& gPhi,
const double&
absEta,
463 #endif // not CALOIDENTIFIER_LAREM_BASE_ID_H
int phi(const Identifier id) const
return phi according to :
id_range reg_range() const
Range over set of Region Identifiers.
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
int phi_min_init(const Identifier regId) const
This class factors out code common between LArEM_ID and LArEM_SuperCell_ID.
IdDictFieldImplementation m_slar_impl
bool is_em_endcap_outer(const Identifier id) const
test if the id belongs to the EM Endcap outer wheel
Identifier region_id(const ExpandedIdentifier &exp_id) const
Build a cell identifier from an expanded identifier.
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
std::vector< LArEM_region * > m_vecOfRegions
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
Identifier region_id(IdentifierHash hashId) const
Return the region Identifier for a given hash code (no checking).
Identifier channel_id(int barrel_ec, int sampling, int region, int eta, int phi, bool checks) const
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.
Identifier channel_id(const Identifier regionId, int eta, int phi) const
allows to build a cell id starting from a region id (e.g.
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
LArEM_Base_ID(const LArEM_Base_ID &)
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
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
MultiRange m_full_em_range
Identifier::size_type size_type
IdDictFieldImplementation m_phi_impl
This class provides an interface to deal with regions in the neighbours finding
LArEM_Base_ID & operator=(const LArEM_Base_ID &)
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
IdDictFieldImplementation m_region_impl
Identifier::size_type size_type
IdentifierHash channel_hash(Identifier channelId) const
create hash id from channel id
small class holding the starting hash value, the min eta and the number of phi bins of each region
Identifier region_id(int barrel_ec, int sampling, int region, bool checks) const
int phi_min(const Identifier regId) const
min value of phi index (-999 == failure)
Base class to factor out code common among Calo ID helpers.
IdDictFieldImplementation m_bec_reg_impl
Identifier channel_id(int barrel_ec, int sampling, int region, int eta, int phi) const
build a cell identifier
MultiRange m_full_region_range
size_type m_SAMPLING_INDEX
Identifier region_id(const Identifier channelId) const
allows to know in which region is a channel/cell – valid for both kinds of channels
bool twoSymSides() const
True if the + and - sides of the calorimeter are identical (true layout).
Identifier region_id(int barrel_ec, int sampling, int region) const
build a region identifier
IdDictFieldImplementation m_lar_impl
IdDictFieldImplementation m_bec_impl
static int get_prevInPhi(const LArEM_region *emRegion, const unsigned int &index, const short int &nPhi, const unsigned int &minHash, int &neighbourIndex, IdentifierHash *neighbList)
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)
void region_id_checks(int barrel_ec, int sampling, int region) const
A MultiRange combines several Ranges.
std::vector< unsigned > m_cells
const std::string & name() const
Return the name for this helper.
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,...
int barrel_ec(const Identifier id) const
return barrel_ec according to :
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
id_iterator em_end(void) const
end iterator over full set of EM Identifiers
bool is_em_endcap_inner(const Identifier id) const
test if the id belongs to the EM Endcap inner wheel
id_iterator em_begin(void) const
begin iterator over full set of EM Identifiers
Identifier channel_id(const Identifier regionId, int eta, int phi, bool checks) const
bool is_em_barrel(const Identifier id) const
test if the id belongs to the EM barrel
Base class to factor out code common among Calo ID helpers.
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
bool absEta(const xAOD::TauJet &tau, double &out)
size_type m_em_region_index
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
void channel_id_checks(int barrel_ec, int sampling, int region, int eta, int phi) const
unsigned long long size_type
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
const std::vector< Identifier > & channel_ids() const
provide access to channel id vector, accessed via hash
IdDictFieldImplementation is used to capture the specification of a single field of an Identifier.
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.
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
id_iterator reg_begin(void) const
begin iterator over set of Region Identifiers
std::vector< int > m_vecOfPhiMin
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
IdentifierHash region_hash(Identifier regionId) const
Convert a connected region Identifier to a hash code.
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.
bool is_em_endcap(const Identifier id) const
test if the id belongs to the EM Endcap
LArEM_Base_ID(const std::string &name, bool supercell)
Constructor.
Identifier channel_id(IdentifierHash hashId) const
Return the channel (cell) Identifier for a given hash code (no checking).
std::vector< HashCalc > m_hash_calcs