|
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef CALOTOWERSTORE_H
8 #define CALOTOWERSTORE_H
183 Entry (
unsigned int the_hash = 0,
184 unsigned int the_windex = 0,
185 unsigned int the_ncells = 1,
186 unsigned int the_stride = 0);
211 Tower (
unsigned int the_nentries,
unsigned int the_ncells);
212 Tower (
unsigned int the_nentries,
unsigned int the_ncells,
214 unsigned int the_offs1,
unsigned int the_offs2);
233 std::vector<double>::const_iterator
weights)
282 std::vector<Entry>::const_iterator
m_it;
295 const std::vector<Entry>::const_iterator
entry,
308 if (!
m_it->backref_next)
324 std::vector<Tower>::const_iterator
m_it;
359 const std::vector<CaloCell_ID::SUBCALO>& theCalos);
Iterator over a rectangular window of towers.
std::vector< Tower >::const_iterator m_it
tower_iterator(std::vector< Tower >::const_iterator it, const std::vector< Entry >::const_iterator entry, const CaloTowerStore &store)
cell_iterator(std::vector< Entry >::const_iterator it, unsigned int n1, unsigned int offs1, unsigned int offs2, std::vector< double >::const_iterator weights)
static const unsigned int ncells_max
const T * ptr() const
Return a pointer to the cached value.
static const unsigned int backref_next_width
static const unsigned int offs1_max
static const unsigned int hash_width
static const unsigned int offs2_max
CxxUtils::CachedValue< std::vector< unsigned short > > m_entry_index
One of these for each entry in m_towers, giving the index of the corresponding entry in m_entries.
static const unsigned int nentries_max
static const unsigned int offs1_width
~CaloTowerStore()
destructor
const CaloTowerStore & m_store
friend class tower_iterator
static const unsigned int offs2_width
CaloTowerSeg::SubSegIterator< tower_iterator > tower_subseg_iterator
static const unsigned int ncells_max
std::vector< Tower > m_towers
static const unsigned int hash_max
void pushTower(unsigned int nentries, unsigned int ncells)
std::vector< double >::const_iterator m_weights
cell_iterator firstCell() const
A rectangular window within the segmentation.
std::vector< Entry > m_entries
Tower(unsigned int the_nentries, unsigned int the_ncells)
void checkEntryIndex() const
Check m_entry_index and fill it in if we haven't done so yet.
static const unsigned int windex_max
static const unsigned int ncells_width
CaloTowerStore()
constructor
static const unsigned int stride_width
Cached value with atomic update.
static const unsigned int nentries_width
std::vector< double > m_weights
bool operator!=(const cell_iterator &other)
cell_iterator & operator++()
static const unsigned int n1_width
cell_iterator lastCell() const
Cached value with atomic update.
static const unsigned int stride_max
static const unsigned int n1_max
cell_iterator(std::vector< Entry >::const_iterator it)
std::vector< Entry >::const_iterator m_it
Entry(unsigned int the_hash=0, unsigned int the_windex=0, unsigned int the_ncells=1, unsigned int the_stride=0)
static const unsigned int backref_next_max
This class provides the client interface for accessing the detector description information common to...
tower_iterator & operator+=(size_t offs)
static const unsigned int windex_width
tower_iterator towers() const
Data object stores CaloTower segmentation.
std::vector< Entry >::const_iterator m_entry
tower_iterator & operator++()
static const unsigned int ncells_width
bool buildLookUp(const CaloDetDescrManager &theManager, const CaloTowerSeg &theTowerSeg, const std::vector< CaloCell_ID::SUBCALO > &theCalos)
setup trigger