39 UInt rowsMax = 0,
UInt colsMax = 0) {
43 }
else if (
auto attrComp =
54 }
else if (
auto attrMatrix =
57 UInt rows =
static_cast<UInt>((**attrMatrix).rows());
58 UInt cols =
static_cast<UInt>((**attrMatrix).cols());
59 if (rowsMax == 0 || rowsMax > rows)
61 if (colsMax == 0 || colsMax > cols)
63 if (rows == 1 && cols == 1) {
65 }
else if (cols == 1) {
66 for (
UInt k = 0; k < rowsMax; ++k) {
68 attrMatrix->deriveCoeff<
Real>(k, 0);
71 for (
UInt k = 0; k < rowsMax; ++k) {
72 for (
UInt l = 0; l < colsMax; ++l) {
75 attrMatrix->deriveCoeff<
Real>(k, l);
79 }
else if (
auto attrMatrix =
82 UInt rows =
static_cast<UInt>((**attrMatrix).rows());
83 UInt cols =
static_cast<UInt>((**attrMatrix).cols());
84 if (rowsMax == 0 || rowsMax > rows)
86 if (colsMax == 0 || colsMax > cols)
88 if (rows == 1 && cols == 1) {
90 attrMatrix->deriveCoeff<
Complex>(0, 0)->deriveReal();
92 attrMatrix->deriveCoeff<
Complex>(0, 0)->deriveImag();
93 }
else if (cols == 1) {
94 for (
UInt k = 0; k < rowsMax; ++k) {
95 mAttributes[name +
"_" + std::to_string(k) +
".re"] =
96 attrMatrix->deriveCoeff<
Complex>(k, 0)->deriveReal();
97 mAttributes[name +
"_" + std::to_string(k) +
".im"] =
98 attrMatrix->deriveCoeff<
Complex>(k, 0)->deriveImag();
101 for (
UInt k = 0; k < rowsMax; ++k) {
102 for (
UInt l = 0; l < colsMax; ++l) {
104 std::to_string(l) +
".re"] =
105 attrMatrix->deriveCoeff<
Complex>(k, l)->deriveReal();
107 std::to_string(l) +
".im"] =
108 attrMatrix->deriveCoeff<
Complex>(k, l)->deriveImag();
113 throw std::runtime_error(
114 "DataLoggerInterface: Unknown attribute type for attribute " + name);
122 if (
auto attrMatrix =
124 if ((**attrMatrix).rows() == 1 && (**attrMatrix).cols() == 1) {
126 }
else if ((**attrMatrix).cols() == 1) {
127 for (
UInt k = 0; k < (**attrMatrix).rows(); ++k) {
131 for (
UInt k = 0; k < (**attrMatrix).rows(); ++k) {
132 for (
UInt l = 0; l < (**attrMatrix).cols(); ++l) {
134 attrMatrix->deriveCoeff<
CPS::Real>(k, l));
138 }
else if (
auto attrMatrix =
141 if ((**attrMatrix).rows() == 1 && (**attrMatrix).cols() == 1) {
143 }
else if ((**attrMatrix).cols() == 1) {
144 for (
UInt k = 0; k < (**attrMatrix).rows(); ++k) {
148 for (
UInt k = 0; k < (**attrMatrix).rows(); ++k) {
149 for (
UInt l = 0; l < (**attrMatrix).cols(); ++l) {