14 const std::string& name,
15 const IInterface* parent)
16 : base_class(
type, name, parent)
25 return StatusCode::SUCCESS;
30 const EventContext& ctx)
const
33 return StatusCode::SUCCESS;
46 ATH_MSG_DEBUG(
"Executing start calo size=" <<theCellContainer->
size()<<
" Event="<<ctx.evt());
47 bool check_exist=
false;
48 if(theCellContainer->
size()>0) {
50 ATH_MSG_DEBUG(
" CaloCells do already exist: check required when creating!");
67 if (check_exist) { theCaloCell = (
CaloCell*)(theCellContainer->
findCell(theDDE->calo_hash())); }
71 E_tot += theCaloCell->
energy();
72 Et_tot += theCaloCell->
energy() / cosh(theCaloCell->
eta());
94 ATH_MSG_DEBUG(ncreate<<
" cells created, "<<nfound<<
" cells already found: size="<<theCellContainer->
size()<<
" e="<<E_tot<<
" ; et="<<Et_tot<<
". Now initialize and order calo...");
99 if (theCellContainer->
size() < hashMax) {
100 ATH_MSG_DEBUG(
"CaloCellContainer size " << theCellContainer->
size() <<
" smaller than hashMax: " << hashMax);
102 else if (theCellContainer->
size() == hashMax) {
103 ATH_MSG_DEBUG(
"CaloCellContainer size " << theCellContainer->
size() <<
" correspond to hashMax : " << hashMax);
108 <<
" larger than hashMax ! Too many cells ! " << hashMax);
118 ATH_MSG_DEBUG(
"CaloCellContainer not ordered or incomplete");
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
Container class for CaloCell.
bool checkOrdered() const
verify one by one the container is ordered
const CaloCell * findCell(const IdentifierHash theHash) const
fast find method given identifier hash.
void push_back(CaloCell *)
reimplementation of const push_back
void order()
order container
void setHasTotalSize(const bool)
If @ flag is true, then the container size equals the maximum hash.
bool isOrdered() const
tell wether container is ordered
bool checkOrderedAndComplete() const
verify one by one the container is complete (i.e.
void setIsOrderedAndComplete(const bool ordered)
indicate that the container is complete and in order
void setIsOrdered(const bool ordered)
indicates that the container is ordered
size_type calo_cell_hash_max() const
cell 'global' hash table max size
Helper class for offline cell identifiers.
CaloCell_Base_ID::SUBCALO SUBCALO
Data object for each calorimeter readout cell.
virtual void setTime(float time)
set time
double energy() const
get energy (data member)
void setCaloDDE(const CaloDetDescrElement *caloDDE)
set pointer to CaloDetDescrElement
virtual double eta() const override final
get eta (through CaloDetDescrElement)
void setGain(CaloGain::CaloGain gain=CaloGain::INVALIDGAIN)
set gain
virtual void setEnergy(float energy)
set energy
void setQuality(uint16_t quality)
set quality
This class groups all DetDescr information related to a CaloCell.
calo_element_range element_range() const
Range over element vector.
This class provides the client interface for accessing the detector description information common to...
const CaloCell_ID * getCaloCell_ID() const
get calo cell ID helper
a typed memory pool that saves time spent allocation small object.
pointer nextElementPtr()
obtain the next available element in pool by pointer pool is resized if its limit has been reached On...
unsigned int capacity()
return capacity of pool OK
unsigned int allocated()
return size already allocated OK
size_type size() const noexcept
Returns the number of elements in the collection.