ATLAS Offline Software
Loading...
Searching...
No Matches
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 {}
std::vector< Tower >::const_iterator m_it
const CaloTowerStore & m_store
std::vector< Entry >::const_iterator m_entry

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: