I wish to replace a 6x6 TMatrixDSym in MyClass versions up to 3 with a 21-element float array in MyClass version 4. My linkdef.h dictionary entry is
#pragma read \
sourceClass="MyClass" source="TMatrixDSym m_Covariance" version="[-3]" \
targetClass="MyClass" target="m_Cov" \
code = "{ \
int k = 0; \
for (int i = 0; i < 6; ++i) { \
for (int j = 0; j <= i; ++j) { \
m_Cov[k++] = onfile.m_Covariance(i,j); \
} \
} \
}"
This fails because onfile.m_Covariance has 0 rows and 0 columns. (However, if I read the same root file with MyClass version 3, m_Covariance is 6x6 and its contents look reasonable.) I am using ROOT 6.06/08 on Linux.
Please advise.