diff --git a/src/THcParmList.cxx b/src/THcParmList.cxx index 0f6f9d44bf489b8aa47718d4deff285508918133..a1ba47f5a6331bc3bd3ca9681ac9318085304864 100644 --- a/src/THcParmList.cxx +++ b/src/THcParmList.cxx @@ -631,8 +631,8 @@ Int_t THcParmList::LoadCCDBDirectory(const char* directory, // Retrieve assignment Assignment* assignment = CCDB_obj->GetAssignment(namepaths[iname], true); ConstantsTypeColumn::ColumnTypes ccdbtype=assignment->GetValueType(0); - Int_t ccdbncolumns=assignment->GetTypeTable()->GetNColumns(); - Int_t ccdbnrows=assignment->GetTypeTable()->GetNRows(); + Int_t ccdbncolumns=assignment->GetColumnsCount(); + Int_t ccdbnrows=assignment->GetRowsCount(); std::string title = assignment->GetTypeTable()->GetComment(); // Only load single column tables @@ -643,7 +643,8 @@ Int_t THcParmList::LoadCCDBDirectory(const char* directory, char sizestring[20]; sprintf(sizestring,"[%d]",ccdbnrows); std::string size_str (sizestring); - varname.append(size_str); + std::string varnamearray (varname); + varnamearray.append(size_str); // Select data type if(ccdbtype==ConstantsTypeColumn::cIntColumn) { @@ -658,7 +659,7 @@ Int_t THcParmList::LoadCCDBDirectory(const char* directory, for(UInt_t row=0;row<data.size(); row++) { ip[row] = data[row][0]; } - Define(varname.c_str(), title.c_str(), *ip); + Define(varnamearray.c_str(), title.c_str(), *ip); } else if (ccdbtype==ConstantsTypeColumn::cDoubleColumn) { vector<vector<double> > data; @@ -672,7 +673,7 @@ Int_t THcParmList::LoadCCDBDirectory(const char* directory, for(UInt_t row=0;row<data.size(); row++) { fp[row] = data[row][0]; } - Define(varname.c_str(), title.c_str(), *fp); + Define(varnamearray.c_str(), title.c_str(), *fp); } else if (ccdbtype==ConstantsTypeColumn::cStringColumn) { if(ccdbnrows > 1) { cout << namepaths[iname] << ": Only first element of CCDB string array loaded." << endl;