5#ifndef CALOEVENT_CALOCLUSTERNAVIGABLE_H
6#define CALOEVENT_CALOCLUSTERNAVIGABLE_H
15#include "AthLinks/ElementLink.h"
56 const double& weight=
double(1.));
60 const double& weight=
double(1.));
64 const double& weight=
double(1.));
68 const double& weight=
double(1.));
77 size_t size_hint = 0);
84 const double& weight=
double(1.));
118 virtual unsigned int nCells()
const;
141 const std::any& rPar)
const;
203 const double& weight)
211 const double& weight)
219 const double& weight)
227 const double& weight)
259 const double& weight)
280 return (this->
getCellLink())->remove(pContainer,iCell);
299 return (this->
getCellLink())->contains(pContainer,iCell);
336 return (this->
getCellLink())->getParameter(pContainer,iCell);
342 return (this->
getCellLink())->getParameter(cellIter);
356 return (this->
getCellLink())->getContainer(cellIter);
362 return (this->
getCellLink())->getIndex(pCell,iCell);
368 return (this->
getCellLink())->getIndex(cellIter,iCell);
398 const std::any& rPar)
const
Define macros for attributes used to control the static checker.
Container class for CaloCell.
Container class for CaloCellLink.
bool ownElements() const
returns true if the container owns the CaloCellLinks
Simple store for CaloCell links.
Navigable< CaloCellContainer, double >::object_iter cell_iterator
Forward internal iterator type to clients.
Data object for each calorimeter readout cell.
virtual object_iter end() const
end iterator for public object access
void insertElement(const CaloCellContainer *pContainer, const CaloCell *pCell, const double &weight=double(1.))
insert element without checking if already in store: use element pointer
CaloCellLink * getCellLink()
void reweight(const CaloCell *pCell, const double &weight=double(1.))
re-weight (overwrite old weight)
const cell_link_type & cellLink() const
Access to underlying link.
friend class CaloClusterContainerCnvTestMakeCluster
CaloCellLink::cell_iterator object_iter
external cell iterator type
friend class CaloClusterContainerCnv_p6
void resetCellLink(const cell_link_type &cellLink)
bool getIndex(const CaloCell *pCell, size_t &iCell) const
get index of child in original container, given a pointer
bool setCellLink(CaloCellLinkContainer *pLink)
CaloCellLink * getCellLinkPtr()
const CaloCellContainer * getContainer(const CaloCell *pCell) const
public container access: retrieve Container for given object pointer
virtual object_iter begin() const
begin iterator for public object access
bool removeAll()
remove all objects from the Navigable
cell_link_type m_cellLink
Local pointer to cell store.
bool setLinkStore(CaloCellLink *pLink, bool ownStores=true)
CaloClusterNavigable()
default constructor
bool contains(const CaloCell *pCell) const
check if constituent is already there
virtual ~CaloClusterNavigable()
destructor
friend class CaloClusterContainerCnv_p4
friend class CaloClusterContainerCnv_p7
friend class CaloClusterContainerCnv_p2
double getParameter(const CaloCell *pCell) const
public container access: relational parameter retrieval
virtual unsigned int nCells() const
size of object access
friend class CaloClusterContainerCnv_p5
CaloClusterLinkTemplate< CaloCellLinkContainer >::link_type cell_link_type
void putElement(const CaloCellContainer *pContainer, const CaloCell *pCell, const double &weight=double(1.))
add element to the Navigable: use pointer
virtual bool isCellLinkValid() const
virtual void fillToken(INavigationToken &iToken) const
fill token for navigation
bool remove(const CaloCell *pCell)
remove object from the Navigable
friend class CaloClusterContainerCnv_p3
friend class CaloClusterStoreHelper
ElementLink implementation for ROOT usage.
NavigableIterator begin()
virtual unsigned int size() const
static bool setLink(CONT *pCont, DOBJ *pDat, ELEM &rElm)