13#ifndef CALOEVENT_CALOCONSTCELLCONTAINER_H
14#define CALOEVENT_CALOCONSTCELLCONTAINER_H
202 :
public BaseInfo<ConstDataVector<CaloCellContainer> >
DataVector adapter that acts like it holds const pointers.
char data[hepevt_bytes_allocation_ATLAS]
Define macros for attributes used to control the static checker.
std::vector< const CaloCell * > CellVector
type to be used for the internal lookup table, and to return list of cells
CaloCellContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Main constructor.
CaloCell_Base_ID::SUBCALO SUBCALO
Data object for each calorimeter readout cell.
CaloCellContainer that can accept const cell pointers.
::CaloCellContainer * baseContainer()
Return a non-const pointer to the base container.
void order()
order container
int findIndex(IdentifierHash theHash) const
Return index of the cell with a given hash.
void updateCaloIterators()
fill calo iterators and the index of first and last cell IT IS THE RESPONSABILITY OF THE PRODUCER TO ...
bool checkOrdered() const
verify one by one the container is ordered
void setIsOrderedAndComplete(bool ordered)
indicate that the container is complete and in order
bool checkOrderedAndComplete() const
verify one by one the container is complete (i.e.
void setHasTotalSize(bool flag)
If @ flag is true, then the container size equals the maximum hash.
::CaloCellContainer::const_iterator beginConstCalo(CaloCell_ID::SUBCALO caloNum) const
get const begin iterator on cell of just one calo
bool isOrdered() const
tell wether container is ordered
bool hasTotalSize() const
tell wether container has total hash id size
CaloConstCellContainer(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
Constructor.
friend class CaloCellContainerFinalizerTool
const CaloCell * findCell(IdentifierHash theHash) const
fast find method given identifier hash.
void updateCaloBeginIterators(int ic, int ind)
fills calo iterators and the index of first cell for a given subcalo
void setHasCalo(CaloCell_ID::SUBCALO caloNum)
set which calo has been filled.
::CaloCellContainer::const_iterator endConstCalo(CaloCell_ID::SUBCALO caloNum) const
get const begin iterator on cell of just one calo
void setIsOrdered(bool ordered)
indicates that the container is ordered
int indexFirstCellCalo(const CaloCell_ID::SUBCALO caloNum) const
index of first cell of given calorimeter (-1 if none).
void findCellVector(const std::vector< IdentifierHash > &theVectorHash, ::CaloCellContainer::CellVector &theCellVector) const
fast find method given vector of identifier hash.
void updateCaloEndIterators(int ic, int ind)
fills calo iterators and the index of last cell for a given subcalo
void push_back_fast(const CaloCell *cell)
reimplementation of push_back to gain speed in readin
bool isOrderedAndComplete() const
tell wether container is complete and in order
int indexLastCellCalo(const CaloCell_ID::SUBCALO caloNum) const
index of last cell of given calorimeter (-2 if none) Note that it is normally more efficient to use i...
int nCellsCalo(const CaloCell_ID::SUBCALO caloNum) const
get number of cels of given calorimeter
bool hasCalo(const CaloCell_ID::SUBCALO caloNum) const
tell whether it has been filled with cells (maybe none) of a given calo
void resetLookUpTable()
reset look up table
void push_back_fast(std::unique_ptr< const CaloCell > cell)
reimplementation of push_back to gain speed in readin (UP version)
CaloCellContainer::size_type size_type
ConstDataVector(SG::OwnershipPolicy ownPolicy=SG::OWN_ELEMENTS)
DataModel_detail::const_iterator< DataVector > const_iterator
SG::OwnershipPolicy ownPolicy() const
This is a "hash" representation of an Identifier.
Provide an interface for finding inheritance information at run time.
@ OWN_ELEMENTS
this data object owns its elements
bool findInContainer(const CaloCellContainer &data, CaloCell const *const &element, CaloCellContainer::size_type &index)
Default, invalid implementation of ClassID_traits.
Metafunction to find the proper DataBucket class for T.