7#include "CoralBase/Blob.h"
25 if (!attrList)
return;
39 for(;gainIt!=gainIt_e;++gainIt) {
40 const unsigned gain=gainIt->first;
41 if (gain>=attrList->size() || gain>2) {
42 ATH_MSG_ERROR(
"Found unexpected COOL-channel (=gain) number:" << gain );
45 const coral::AttributeList& attr=gainIt->second;
46 const coral::Blob& ofcaBlob = attr[
"OFCa"].data<coral::Blob>();
47 const coral::Blob& ofcbBlob = attr[
"OFCb"].data<coral::Blob>();
48 const coral::Blob& toBlob = attr[
"TimeOffset"].data<coral::Blob>();
49 if (blobSize==0) blobSize=ofcaBlob.size();
53 if (blobSize!=ofcaBlob.size() || blobSize!=ofcbBlob.size()) {
54 ATH_MSG_ERROR(
"Unequal blob size (" << blobSize <<
"/"
55 << ofcaBlob.size() <<
"/" << ofcbBlob.size() <<
")" );
65 m_pOFCa[gain]=
static_cast<const float*
>(ofcaBlob.startingAddress());
66 m_pOFCb[gain]=
static_cast<const float*
>(ofcbBlob.startingAddress());
67 m_pTimeOffset[gain]=
static_cast<const float*
>(toBlob.startingAddress());
74 m_nChannels=blobSize/(
sizeof(
float)*m_nSamples);
79 if (tbin!=0)
return OFCRef_t(
nullptr,
nullptr);
84 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.
LArCondFlatBase(const std::string &name)
const LArOnlineID * m_onlineHelper
StatusCode initializeBase()
virtual OFCRef_t OFC_b(const HWIdentifier &CellID, int gain, int tbin=0) const
virtual unsigned nTimeBins(const HWIdentifier &CellID, int gain) const
virtual float timeOffset(const HWIdentifier &CellID, int gain) const
ILArOFC::OFCRef_t OFCRef_t
std::vector< const float * > m_pOFCa
std::vector< const float * > m_pOFCb
virtual float timeBinWidth(const HWIdentifier &CellID, int gain) const
std::vector< const float * > m_pTimeOffset
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)