5#ifndef CALOEVENT_CALOCOMPOSITECELLBASE_H
6#define CALOEVENT_CALOCOMPOSITECELLBASE_H
50 size_t iCell=
static_cast<size_t>(-1));
87 size_t size_hint = 0);
109 size_t size_hint = 0);
191 size_t& iCell)
const;
233 size_t& iCell)
const;
250 size_t& iCell)
const;
Container class for CaloCell.
Data object for each calorimeter readout cell.
cell_iterator cell_end() const
Retrieve a STL-type end() iterator for the cell store.
bool getCellIndex(const CaloCell *pCell, size_t &iCell) const
Retrieve the index of a given cell in the cell container.
void removeCell(const CaloCell *pCell)
Remove a cell with kinematic update.
void reweightCell(const CaloCell *pCell, double weight)
Reweight a cell with kinematic update.
CaloCompositeCellBase()
Constructor.
virtual ~CaloCompositeCellBase()
Destructor.
void reweightCell(const CaloCellContainer *pContainer, size_t &iCell, double weight)
Reweight a cell with kinematic update.
double getCellWeight(const CaloCell *pCell) const
Retrieve the kinematic weight of a given cell.
unsigned int getNumberOfCells() const
Return the number of cells in the store.
bool getCellIndex(cell_iterator &iterCell, size_t &iCell) const
Retrieve the index of a given cell in the cell container.
void addCell(const CaloCellContainer *pContainer, const CaloCell *pCell, double weight, size_t iCell=static_cast< size_t >(-1))
Add a cell with global kinematic update (slow)
cell_iterator cell_begin() const
Retrieve a STL-type begin() iterator for the cell store.
double getCellWeight(cell_iterator &iterCell) const
Retrieve the kinematic weight of a given cell.
CaloClusterNavigable::object_iter cell_iterator
double getCellWeight(const CaloCellContainer *pContainer, size_t &iCell) const
Retrieve the kinematic weight of a given cell.
void addUniqueCellNoKine(const CaloCellContainer *theContainer, size_t theIndex, double weight, size_t size_hint=0)
Add a cell with no kinematic update (fast)
void addCell(const CaloCellContainer *pContainer, size_t &iCell, double weight)
Add a cell with global kinematic update (fast)
void removeCells()
Remove all cells without kinematic update.
void addUniqueCell(const CaloCellContainer *theContainer, size_t theIndex, double weight, size_t size_hint=0)
Add a cell with global kinematic update (fast)
void removeCell(const CaloCellContainer *pContainer, size_t &iCell)
Remove a cell with kinematic update.
const CaloCellContainer * getCellContainer(cell_iterator &iterCell) const
Retrieve the pointer to the original cell container for a given cell.
void reweightCell(cell_iterator &iterCell, double weight)
Reweight a cell with kinematic update.
const CaloCellContainer * getCellContainer(const CaloCell *pCell) const
Retrieve the pointer to the original cell container for a given cell.
virtual void updateKine(const CaloCell *pCell, double weight)=0
update kinematics