7#include "CoralBase/Blob.h"
23 if (!attrList)
return;
29 msg << MSG::DEBUG <<
"Found data for " << attrList->
size() <<
" gains." <<
endmsg;
33 for(;gainIt!=gainIt_e;++gainIt) {
34 const unsigned gain=gainIt->first;
35 if (gain>=attrList->
size() || gain>2) {
36 msg << MSG::ERROR <<
"Found unexpected COOL-channel (=gain) number:" << gain <<
endmsg;
39 const coral::AttributeList& attr=gainIt->second;
40 const coral::Blob& rampBlob = attr[
"RampVec"].data<coral::Blob>();
41 if (blobSize==0) blobSize=rampBlob.size();
45 if (blobSize!=rampBlob.size()) {
46 msg << MSG::ERROR <<
"Unequal blob size (" << blobSize <<
"/"
47 << rampBlob.size() <<
")" <<
endmsg;
51 msg << MSG::ERROR <<
"Unequal polynom degree (" <<
m_nPoints <<
"/"
52 << attr[
"nPoints"].data<
unsigned>() <<
")" <<
endmsg;
56 m_pRamp[gain]=
static_cast<const float*
>(rampBlob.startingAddress());
61 msg << MSG::ERROR <<
"Number of points is zero!" <<
endmsg;
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
void readBlob(const CondAttrListCollection *attrList, MsgStream &msg)
std::vector< const float * > m_pRamp