7#include "CoralBase/Blob.h"
27 if (!attrList)
return;
41 for(;gainIt!=gainIt_e;++gainIt) {
42 const unsigned gain=gainIt->first;
43 if (gain>=attrList->size() || gain>2) {
44 ATH_MSG_ERROR(
"Found unexpected COOL-channel (=gain) number:" << gain);
47 const coral::AttributeList& attr=gainIt->second;
48 const coral::Blob& ofcaBlob = attr[
"OFCa"].data<coral::Blob>();
49 const coral::Blob& ofcbBlob = attr[
"OFCb"].data<coral::Blob>();
50 const coral::Blob& toBlob = attr[
"TimeOffset"].data<coral::Blob>();
51 if (blobSize==0) blobSize=ofcaBlob.size();
55 if (blobSize!=ofcaBlob.size() || blobSize!=ofcbBlob.size()) {
56 ATH_MSG_ERROR(
"Unequal blob size (" << blobSize <<
"/"
57 << ofcaBlob.size() <<
"/" << ofcbBlob.size() <<
")");
67 m_pOFCa[gain]=
static_cast<const float*
>(ofcaBlob.startingAddress());
68 m_pOFCb[gain]=
static_cast<const float*
>(ofcbBlob.startingAddress());
69 m_pTimeOffset[gain]=
static_cast<const float*
>(toBlob.startingAddress());
76 m_nChannels=blobSize/(
sizeof(
float)*m_nSamples);
81 if (tbin!=0)
return OFCRef_t(
nullptr,
nullptr);
86 if (tbin!=0)
return OFCRef_t(
nullptr,
nullptr);
This file defines the class for a collection of AttributeLists where each one is associated with a ch...
char data[hepevt_bytes_allocation_ATLAS]
This class is a collection of AttributeLists where each one is associated with a channel number.
const_iterator end() const
const_iterator begin() const
Access to Chan/AttributeList pairs via iterators.
size_type size() const
number of Chan/AttributeList pairs
ChanAttrListMap::const_iterator const_iterator
This is a "hash" representation of an Identifier.
StatusCode initializeBase()
const LArOnline_SuperCellID * m_scOnlineID
LArCondSuperCellBase(const std::string &name)
virtual OFCRef_t OFC_b(const HWIdentifier &CellID, int gain, int tbin=0) const
virtual float timeOffset(const HWIdentifier &CellID, int gain) const
std::vector< const float * > m_pTimeOffset
virtual unsigned nTimeBins(const HWIdentifier &CellID, int gain) const
virtual OFCRef_t OFC_a(const HWIdentifier &CellID, int gain, int tbin=0) const
access to OFCs by online ID, gain, and tbin (!=0 for testbeam)
ILArOFC::OFCRef_t OFCRef_t
std::vector< const float * > m_pOFCb
virtual float timeBinWidth(const HWIdentifier &CellID, int gain) const
std::vector< const float * > m_pOFCa