|
ATLAS Offline Software
|
Go to the documentation of this file.
26 #include "GaudiKernel/SystemOfUnits.h"
45 ATH_MSG_ERROR(
"Configuration problem: 'addDeadOTX' set, but no missing FEB container given." );
46 return StatusCode::FAILURE;
67 return StatusCode::SUCCESS;
75 const EventContext& ctx)
const
78 ATH_MSG_ERROR(
"Called with a CaloCellContainer with wrong ownership policy! Need a VIEW container!" );
79 return StatusCode::FAILURE;
86 return StatusCode::FAILURE;
89 const size_t nRawChannels=rawColl->size();
90 if (nRawChannels==0) {
92 return StatusCode::SUCCESS;
98 unsigned nCellsAdded=0;
99 std::bitset<CaloCell_ID::NSUBCALO> includedSubcalos;
101 if (!theCellContainer->
empty()) {
103 theCellContainer->
clear();
119 if(
cabling->isOnlineConnectedFromHash(onlHash)) {
131 rawChan.provenance(),
134 if ((*theCellContainer)[oflHash]) {
136 << oflHash <<
" online ID=0x" << std::hex
140 (*theCellContainer)[oflHash] = pCell;
148 unsigned nMissingButPresent=0;
160 for (
int ch=0;
ch<chansPerFeb; ++
ch) {
162 if (
cabling->isOnlineConnected(hwid)) {
176 if ((*theCellContainer)[hashid]) {
177 ++nMissingButPresent;
178 ATH_MSG_DEBUG(
"The supposedly missing channel with online ID=0x" << std::hex
181 <<
" is actually present in the LArRawChannel container");
184 (*theCellContainer)[hashid]=pCell;
196 if (includedSubcalos.test(iCalo))
200 if (nMissingButPresent)
202 <<
" supposedly missing channels where present in the LArRawChannelContainer" );
207 theCellContainer->
erase(end1,theCellContainer->
end());
211 ATH_MSG_DEBUG(
"All " << nCellsAdded <<
" cells filled (no holes)");
213 return StatusCode::SUCCESS;
def retrieve(aClass, aKey=None)
IdentifierHash channel_Hash(HWIdentifier channelId) const
Create channel_hash from channel_Id.
IdentifierHash calo_cell_hash(const Identifier cellId) const
create hash id from 'global' cell id
void setHasCalo(const CaloCell_ID::SUBCALO caloNum)
set which calo has been filled.
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
const CaloDetDescrElement * get_element(const Identifier &cellId) const
get element by its identifier
bool deadReadout() const
FEB is not sending readout data, but the L1 trigger path is working.
Identifier32 get_identifier32() const
Get the 32-bit version Identifier, will be invalid if >32 bits needed.
std::vector< BadChanEntry > BadChanVec
const std::string & key() const
Return the StoreGate ID for the referenced object.
value_type get_compact() const
Get the compact id.
Definition of CaloDetDescrManager.
Definition of CaloDetDescriptor.
@ OWN_ELEMENTS
this data object owns its elements
Liquid Argon ROD output object base class.
void calo_cell_hash_range(const Identifier id, IdentifierHash &caloCellMin, IdentifierHash &caloCellMax) const
to loop on 'global' cell hashes of one sub-calorimeter alone
int channelInSlotMax(const HWIdentifier Id) const
Return the Maximum channel number of a given feb slot.
::StatusCode StatusCode
StatusCode definition for legacy code.
bool deadAll() const
FEB is completely missing, e.g. powered off.
SUBCALO
enumeration of sub calorimeters
HWIdentifier channel_Id(int barrel_ec, int pos_neg, int feedthrough, int slot, int channel) const
create channel identifier from fields
int sub_calo(const Identifier id) const
returns an int taken from SUBCALO enum and describing the subCalo to which the Id belongs.
std::pair< ChanId_t, LArBC_t > BadChanEntry
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
void clear()
Erase all the elements in the collection.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
void resize(size_type sz)
Resizes the collection to the specified number of elements.
StatusCode initialize(bool used=true)
Data object for LAr calorimeter readout cell.
Container class for CaloCell.
Identifier cell_id(const int subCalo, const int barec_or_posneg, const int sampling_or_fcalmodule, const int region_or_dummy, const int eta, const int phi) const
Make a cell (== channel) ID from constituting fields and subCalo index; for (Mini)FCAL,...
bool deactivatedInOKS() const
Deactivated in OKS.
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
This class provides the client interface for accessing the detector description information common to...
#define ATH_MSG_WARNING(x)
a typed memory pool that saves time spent allocation small object. This is typically used by containe...
SG::OwnershipPolicy ownPolicy() const
Return the ownership policy setting for this container.
Handle class for reading from StoreGate.
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
iterator erase(iterator position)
Remove element at a given position.
std::string channel_name(const HWIdentifier id) const
Return a string corresponding to a feedthrough name given an identifier.
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.