39 UInt rowsMax = 0,
UInt colsMax = 0) {
43 }
else if (
auto attrComp =
51 }
else if (
auto attrMatrix =
54 UInt rows =
static_cast<UInt>((**attrMatrix).rows());
55 UInt cols =
static_cast<UInt>((**attrMatrix).cols());
56 if (rowsMax == 0 || rowsMax > rows)
58 if (colsMax == 0 || colsMax > cols)
60 if (rows == 1 && cols == 1) {
62 }
else if (cols == 1) {
63 for (
UInt k = 0; k < rowsMax; ++k) {
65 attrMatrix->deriveCoeff<
Real>(k, 0);
68 for (
UInt k = 0; k < rowsMax; ++k) {
69 for (
UInt l = 0; l < colsMax; ++l) {
72 attrMatrix->deriveCoeff<
Real>(k, l);
76 }
else if (
auto attrMatrix =
79 UInt rows =
static_cast<UInt>((**attrMatrix).rows());
80 UInt cols =
static_cast<UInt>((**attrMatrix).cols());
81 if (rowsMax == 0 || rowsMax > rows)
83 if (colsMax == 0 || colsMax > cols)
85 if (rows == 1 && cols == 1) {
87 attrMatrix->deriveCoeff<
Complex>(0, 0)->deriveReal();
89 attrMatrix->deriveCoeff<
Complex>(0, 0)->deriveImag();
90 }
else if (cols == 1) {
91 for (
UInt k = 0; k < rowsMax; ++k) {
92 mAttributes[name +
"_" + std::to_string(k) +
".re"] =
93 attrMatrix->deriveCoeff<
Complex>(k, 0)->deriveReal();
94 mAttributes[name +
"_" + std::to_string(k) +
".im"] =
95 attrMatrix->deriveCoeff<
Complex>(k, 0)->deriveImag();
98 for (
UInt k = 0; k < rowsMax; ++k) {
99 for (
UInt l = 0; l < colsMax; ++l) {
101 std::to_string(l) +
".re"] =
102 attrMatrix->deriveCoeff<
Complex>(k, l)->deriveReal();
104 std::to_string(l) +
".im"] =
105 attrMatrix->deriveCoeff<
Complex>(k, l)->deriveImag();
110 throw std::runtime_error(
111 "DataLoggerInterface: Unknown attribute type for attribute " + name);
119 if (
auto attrMatrix =
121 if ((**attrMatrix).rows() == 1 && (**attrMatrix).cols() == 1) {
123 }
else if ((**attrMatrix).cols() == 1) {
124 for (
UInt k = 0; k < (**attrMatrix).rows(); ++k) {
128 for (
UInt k = 0; k < (**attrMatrix).rows(); ++k) {
129 for (
UInt l = 0; l < (**attrMatrix).cols(); ++l) {
131 attrMatrix->deriveCoeff<
CPS::Real>(k, l));
135 }
else if (
auto attrMatrix =
138 if ((**attrMatrix).rows() == 1 && (**attrMatrix).cols() == 1) {
140 }
else if ((**attrMatrix).cols() == 1) {
141 for (
UInt k = 0; k < (**attrMatrix).rows(); ++k) {
145 for (
UInt k = 0; k < (**attrMatrix).rows(); ++k) {
146 for (
UInt l = 0; l < (**attrMatrix).cols(); ++l) {