ATLAS Offline Software
Public Member Functions | Protected Attributes | List of all members
CaloTowerStore::tower_iterator Class Reference

#include <CaloTowerStore.h>

Collaboration diagram for CaloTowerStore::tower_iterator:

Public Member Functions

 tower_iterator (std::vector< Tower >::const_iterator it, const std::vector< Entry >::const_iterator entry, const CaloTowerStore &store)
 
cell_iterator firstCell () const
 
cell_iterator lastCell () const
 
size_t size () const
 
tower_iteratoroperator++ ()
 
tower_iteratoroperator+= (size_t offs)
 

Protected Attributes

std::vector< Entry >::const_iterator m_entry
 
std::vector< Tower >::const_iterator m_it
 
const CaloTowerStorem_store
 

Detailed Description

Definition at line 291 of file CaloTowerStore.h.

Constructor & Destructor Documentation

◆ tower_iterator()

CaloTowerStore::tower_iterator::tower_iterator ( std::vector< Tower >::const_iterator  it,
const std::vector< Entry >::const_iterator  entry,
const CaloTowerStore store 
)
inline

Definition at line 294 of file CaloTowerStore.h.

297  : m_entry (entry),
298  m_it (it),
299  m_store (store)
300  {}

Member Function Documentation

◆ firstCell()

cell_iterator CaloTowerStore::tower_iterator::firstCell ( ) const
inline

Definition at line 301 of file CaloTowerStore.h.

302  { return cell_iterator (m_entry, m_it->n1, m_it->offs1, m_it->offs2,
303  m_store.m_weights.begin()); }

◆ lastCell()

cell_iterator CaloTowerStore::tower_iterator::lastCell ( ) const
inline

Definition at line 304 of file CaloTowerStore.h.

305  { return cell_iterator (m_entry + m_it->nentries); }

◆ operator++()

tower_iterator& CaloTowerStore::tower_iterator::operator++ ( )
inline

Definition at line 307 of file CaloTowerStore.h.

307  {
308  if (!m_it->backref_next)
309  m_entry += m_it->nentries;
310  ++m_it;
311  return *this;
312  }

◆ operator+=()

tower_iterator& CaloTowerStore::tower_iterator::operator+= ( size_t  offs)
inline

Definition at line 314 of file CaloTowerStore.h.

315  {
316  m_it += offs;
317  m_entry = m_store.m_entries.begin() +
318  (*m_store.m_entry_index.ptr())[m_it - m_store.m_towers.begin()];
319  return *this;
320  }

◆ size()

size_t CaloTowerStore::tower_iterator::size ( ) const
inline

Definition at line 306 of file CaloTowerStore.h.

306 { return m_it->ncells; }

Member Data Documentation

◆ m_entry

std::vector<Entry>::const_iterator CaloTowerStore::tower_iterator::m_entry
protected

Definition at line 323 of file CaloTowerStore.h.

◆ m_it

std::vector<Tower>::const_iterator CaloTowerStore::tower_iterator::m_it
protected

Definition at line 324 of file CaloTowerStore.h.

◆ m_store

const CaloTowerStore& CaloTowerStore::tower_iterator::m_store
protected

Definition at line 325 of file CaloTowerStore.h.


The documentation for this class was generated from the following file:
store
StoreGateSvc * store
Definition: fbtTestBasics.cxx:69
CaloTowerStore::tower_iterator::m_it
std::vector< Tower >::const_iterator m_it
Definition: CaloTowerStore.h:324
CxxUtils::CachedValue::ptr
const T * ptr() const
Return a pointer to the cached value.
CaloTowerStore::m_entry_index
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.
Definition: CaloTowerStore.h:382
CaloTowerStore::tower_iterator::m_store
const CaloTowerStore & m_store
Definition: CaloTowerStore.h:325
skel.it
it
Definition: skel.GENtoEVGEN.py:423
CaloTowerStore::m_towers
std::vector< Tower > m_towers
Definition: CaloTowerStore.h:374
CaloTowerStore::m_entries
std::vector< Entry > m_entries
Definition: CaloTowerStore.h:373
CaloTowerStore::m_weights
std::vector< double > m_weights
Definition: CaloTowerStore.h:375
GetAllXsec.entry
list entry
Definition: GetAllXsec.py:132
CaloTowerStore::tower_iterator::m_entry
std::vector< Entry >::const_iterator m_entry
Definition: CaloTowerStore.h:323