|
ATLAS Offline Software
|
Go to the documentation of this file.
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;
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
bool remove(const CaloCell *pCell)
remove object from the Navigable
const cell_link_type & cellLink() const
Access to underlying link.
bool removeAll()
remove all objects from the Navigable
double getParameter(const CaloCell *pCell) const
public container access: relational parameter retrieval
void resetCellLink(const cell_link_type &cellLink)
const CaloCellContainer * getContainer(const CaloCell *pCell) const
public container access: retrieve Container for given object pointer
CaloClusterLinkTemplate< CaloCellLinkContainer >::link_type cell_link_type
Container class for CaloCellLink.
void reweight(const CaloCell *pCell, const double &weight=double(1.))
re-weight (overwrite old weight)
virtual unsigned int nCells() const
size of object access
CaloClusterNavigable()
default constructor
bool setCellLink(CaloCellLinkContainer *pLink)
cell_link_type m_cellLink
Local pointer to cell store.
virtual object_iter end() const
end iterator for public object access
static bool setLink(CONT *pCont, DOBJ *pDat, ELEM &rElm)
Simple store for CaloCell links. This object is fully navigable.
Navigable< CaloCellContainer, double >::object_iter cell_iterator
Forward internal iterator type to clients.
friend class CaloClusterContainerCnvTestMakeCluster
virtual void fillToken(INavigationToken &iToken) const
fill token for navigation
bool getIndex(const CaloCell *pCell, size_t &iCell) const
get index of child in original container, given a pointer
virtual object_iter begin() const
begin iterator for public object access
CaloCellLink::cell_iterator object_iter
external cell iterator type
bool ownElements() const
returns true if the container owns the CaloCellLinks
Container class for CaloCell.
void putElement(const CaloCellContainer *pContainer, const CaloCell *pCell, const double &weight=double(1.))
add element to the Navigable: use pointer
Navigable part of CaloCluster, use CaloCellLink.
virtual unsigned int size() const
Data object for each calorimeter readout cell.
CaloCellLink * getCellLink()
bool contains(const CaloCell *pCell) const
check if constituent is already there
bool setLinkStore(CaloCellLink *pLink, bool ownStores=true)
CaloCellLink * getCellLinkPtr()
Define macros for attributes used to control the static checker.
virtual ~CaloClusterNavigable()
destructor
virtual bool isCellLinkValid() const
void insertElement(const CaloCellContainer *pContainer, const CaloCell *pCell, const double &weight=double(1.))
insert element without checking if already in store: use element pointer
template class for CaloClusterLink