|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef LARMiniFCAL_ID_H
6 #define LARMiniFCAL_ID_H
18 #include "boost/range/iterator_range.hpp"
54 class LArMiniFCAL_region;
84 int eta,
int phi,
bool checks )
const ;
95 int eta,
int phi,
bool checks)
const ;
114 typedef boost::iterator_range<id_iterator>
id_range;
131 const std::vector<Identifier>&
channel_ids()
const;
134 const std::vector<Identifier>&
module_ids()
const;
292 return m_is_initialized;
526 unsigned int index = modHash;
536 #endif // LARMiniFCAL_ID_H
IdContext module_context(void) const
context for modules – method kept for backward compatibility.
int eta_max(const Identifier regId) const
max value of eta index (-999 == failure)
MultiRange m_full_module_range
const std::vector< Identifier > & channel_ids() const
provide access to channel id vector, accessed via hash
@ depth
pointing depth of the shower as calculated in egammaqgcld
MultiRange m_full_channel_range
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
Scalar phi() const
phi method
int init_neighbors(const IdDictMgr &dict_mgr)
id_iterator end() const
Return an end iterator over the group's Identifiers.
id_range range() const
Return an iterator range over the group's Identifiers.
id_iterator mod_begin() const
begin iterator over set of module Identifiers
Scalar eta() const
pseudorapidity method
int module(const Identifier id) const
module [0]
IdDictFieldImplementation m_module_impl
IdentifierHash module_hash(Identifier module_id) const
create hash id from module id
id_iterator begin() const
Return a begin iterator over the group's Identifiers.
int depth(const Identifier id) const
depth [0,3]
void pack(int value, Identifier &id) const
Identifier region_id(IdentifierHash hashId) const
Return the region Identifier for a given hash code (no checking).
std::vector< size_t > vec
int lar_field_value() const
IdDictFieldImplementation m_lar_impl
Identifier::size_type size_type
int unpack(Identifier id) const
Identifier manipulation methods.
bool is_initialized() const
check whether LArMiniFCAL ID helper has been initialized - returns false if description is not availa...
virtual int get_expanded_id(const Identifier &id, ExpandedIdentifier &exp_id, const IdContext *context) const
create expanded Identifier from Identifier (return == 0 for OK)
IdDictFieldImplementation m_depth_impl
const HashGroup & regions() const
Return the HashGroup for regions.
void reset(Identifier &id) const
Identifier::size_type size_type
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
int phi_min(const Identifier regId) const
min value of phi index (-999 == failure)
int phi_min_init(const Identifier regId) const
size_type region_hash_max() const
One more than the largest region hash code.
int phi(const Identifier id) const
phi [0,15]
size_type module_hash_max(void) const
region hash table max size
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
IdDictFieldImplementation m_pn_impl
const std::vector< Identifier > & ids() const
Return a vector of all Identifiers for this group.
Base class to factor out code common among Calo ID helpers.
size_type m_minifcal_region_index
IdDictFieldImplementation m_pn_mod_impl
id_range mod_range() const
range over set of module Identifiers
std::vector< std::set< IdentifierHash > > m_neighbors_3d_next_vec
Identifier module_id(const ExpandedIdentifier &exp_id) const
module identifier for a channel from ExpandedIdentifier
int init_neighbors_from_file(const std::string &filename, std::vector< std::set< IdentifierHash > > &vec)
void module_id_checks(int pos_neg, int module) const
const std::vector< Identifier > & module_ids() const
provide access to module id vector, accessed via hash
A MultiRange combines several Ranges.
id_iterator mod_end() const
end iterator over set of module Identifiers
id_iterator minifcal_begin() const
begin iterator over full set of Fcal Identifiers for channels
size_type m_MiniFCAL_INDEX
A Range describes the possible ranges for the field values of an ExpandedIdentifier.
bool is_supercell(const Identifier channelId) const
std::vector< short int > m_vecOfCellInfo
const HashGroup & channels() const
Return the HashGroup for channels (cells).
int init_neighbors_3d_next(const std::string &filename)
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 = all2D,...
int pos_neg(const Identifier id) const
pos_neg : +/- 2 (A/C side)
IdDictFieldImplementation m_eta_impl
IdentifierHash channel_hash(Identifier channelId) const
Convert a connected channel (cell) Identifier to a hash code.
Helper class for LArMiniFCAL offline identifiers.
std::vector< std::set< IdentifierHash > > m_neighbors_3d_prev_vec
virtual int initialize_from_dictionary(const IdDictMgr &dict_mgr)
initialization from the identifier dictionary
size_type m_fcal_region_index
Base class to factor out code common among Calo ID helpers.
IdDictFieldImplementation m_phi_impl
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
id_iterator minifcal_end() const
end iterator over full set of Fcal Identifiers for channels
std::vector< short int > m_vecOfPhiMin
Identifier channel_id(const ExpandedIdentifier &exp_id) const
cell identifier for a channel from ExpandedIdentifier
MultiRange m_full_depth_range
int phi_max(const Identifier regId) const
max value of phi index (-999 == failure)
std::vector< std::set< IdentifierHash > > m_neighbors_2d_vec
int init_neighbors_3d_prev(const std::string &filename)
unsigned long long size_type
boost::iterator_range< id_iterator > id_range
Type for range over identifiers.
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...
std::vector< Identifier >::const_iterator id_iterator
Type for iterators over identifiers.
IdDictFieldImplementation m_fcal_impl
int init_neighbors_2d(const std::string &filename)
int eta_min(const Identifier regId) const
min value of eta index (-999 == failure)
void channel_id_checks(int pos_neg, int module, int depth, int eta, int phi) const
virtual bool do_checks(void) const override
Checks are performed by default in debug compilation and NOT in optimized compilation.
int eta(const Identifier id) const
eta [0,63] module 1 ; [0,31] module 2 ; [0,15] module 3
id_range minifcal_range() const
range over full set of Fcal Identifiers for channels
This class saves the "context" of an expanded identifier (ExpandedIdentifier) for compact or hash ver...
macros to associate a CLID to a type
IdentifierHash region_hash(Identifier regionId) const
Convert a connected region Identifier to a hash code.
int lar_fcal_field_value() const
int initLevelsFromDict(void)
IdentifierHash channel_hash_binary_search(Identifier channelId) const
create hash id from channel id – method NOT optimised, please use channel_hash() above
Identifier channel_id(IdentifierHash hashId) const
Return the channel (cell) Identifier for a given hash code (no checking).