#include "hdf5Scenario.h" template void Hdf5::datasetBranch(const string &branchPath, T datasetValue[MAX_ARRAY_DEPTH]) { const H5std_string datasetPath(branchPath); DataSet datasetType = _file.openDataSet(datasetPath); datasetType.read(datasetValue, PredType::NATIVE_FLOAT, H5S_ALL, H5S_ALL); } void Hdf5::hdf5Path(const string &h5Path) { const H5std_string filePath(h5Path); H5File file (filePath, H5F_ACC_RDONLY); _file = file; } void Hdf5::scenarioRead(ScenGenHardwareOutput_t &scenParams) { /****************** /sramParameters/frameType ******************/ datasetBranch ("/sramParameters/frameType", floatArray); scenParams.frameType = static_cast(floatArray[0]); /****************** /sramParameters/totalTxShotNo ******************/ datasetBranch ("/sramParameters/totalTxShotNo", floatArray); scenParams.totalTxShotNumber = static_cast(floatArray[0]); /******************* /sramParameters/focusTypeNo *******************/ datasetBranch ("/sramParameters/focusTypeNo", floatArray); scenParams.focusTypeNumber = static_cast(floatArray[0]); /******************* /sramParameters/rxBeamformerNo *******************/ datasetBranch ("/sramParameters/rxBeamformerNo", floatArray); scenParams.rxBeamFormerNumber.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.rxBeamFormerNumber.push_back(static_cast(floatArray[var])); /**************** /sramParameters/pulseInterval ********************/ datasetBranch ("/sramParameters/pulseInterval", floatArray); scenParams.pulseInterval.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.pulseInterval.push_back(floatArray[var]); /**************** /sramParameters/indexParameters/shotPropertiesIndex ********************/ datasetBranch ("/sramParameters/indexParameters/shotPropertiesIndex", floatArray); scenParams.indexParams.shotPropertiesIndex.clear(); for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) scenParams.indexParams.shotPropertiesIndex.push_back(static_cast(floatArray[var])); /**************** /sramParameters/indexParameters/pulsePropertiesIndex ********************/ datasetBranch ("/sramParameters/indexParameters/pulsePropertiesIndex", floatArray); scenParams.indexParams.pulsePropertiesIndex.clear(); for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) scenParams.indexParams.pulsePropertiesIndex.push_back(static_cast(floatArray[var])); /**************** /sramParameters/indexParameters/receiverConfigurationIndex ********************/ datasetBranch ("/sramParameters/indexParameters/receiverConfigurationIndex", floatArray); scenParams.indexParams.receiverConfigurationIndex.clear(); for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) scenParams.indexParams.receiverConfigurationIndex.push_back(static_cast(floatArray[var])); /**************** /sramParameters/indexParameters/firstLineInFrame ********************/ datasetBranch ("/sramParameters/indexParameters/firstLineInFrame", floatArray); scenParams.indexParams.firstLineInFrame.clear(); for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) scenParams.indexParams.firstLineInFrame.push_back(static_cast(floatArray[var])); /**************** /sramParameters/indexParameters/lastLineInFrame ********************/ datasetBranch ("/sramParameters/indexParameters/lastLineInFrame", floatArray); scenParams.indexParams.lastLineInFrame.clear(); for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) scenParams.indexParams.lastLineInFrame.push_back(static_cast(floatArray[var])); /**************** /sramParameters/indexParameters/dLineNum ********************/ datasetBranch ("/sramParameters/indexParameters/dLineNum", floatArray); scenParams.indexParams.dLineNum.clear(); for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) scenParams.indexParams.dLineNum.push_back(static_cast(floatArray[var])); /**************** /sramParameters/indexParameters/dEnsembleNum ********************/ datasetBranch ("/sramParameters/indexParameters/dEnsembleNum", floatArray); scenParams.indexParams.dEnsembleNum.clear(); for (quint32 var = 0; var < scenParams.totalTxShotNumber; var++) scenParams.indexParams.dEnsembleNum.push_back(static_cast(floatArray[var])); /**************** /sramParameters/txParameters/txFocusXPos ********************/ datasetBranch ("/sramParameters/txParameters/txFocusXPos", floatArray); scenParams.txParams.txFocusXPos.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.txParams.txFocusXPos.push_back(floatArray[var]); /**************** /sramParameters/txParameters/txFocusYPos ********************/ datasetBranch ("/sramParameters/txParameters/txFocusYPos", floatArray); scenParams.txParams.txFocusYPos.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.txParams.txFocusYPos.push_back(floatArray[var]); /**************** /sramParameters/txParameters/txFocusZPos ********************/ datasetBranch ("/sramParameters/txParameters/txFocusZPos", floatArray); scenParams.txParams.txFocusZPos.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.txParams.txFocusZPos.push_back(floatArray[var]); /**************** /sramParameters/txParameters/txStartActiveElementNo ********************/ datasetBranch ("/sramParameters/txParameters/txStartActiveElementNo", floatArray); scenParams.txParams.txStartActiveElementNumber.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.txParams.txStartActiveElementNumber.push_back(static_cast(floatArray[var])); /**************** /sramParameters/txParameters/txActiveElementNo ********************/ datasetBranch ("/sramParameters/txParameters/txActiveElementNo", floatArray); scenParams.txParams.txActiveElementNumber.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.txParams.txActiveElementNumber.push_back(static_cast(floatArray[var])); /**************** /sramParameters/txParameters/maxDelayQ ********************/ datasetBranch ("/sramParameters/txParameters/maxDelayQ", floatArray); scenParams.txParams.maxDelayQ.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.txParams.maxDelayQ.push_back(static_cast(floatArray[var])); /**************** /sramParameters/rxParameters/rxR0CenterActiveElementNo ********************/ datasetBranch ("/sramParameters/rxParameters/rxR0CenterActiveElementNo", floatArray); scenParams.rxParams.rxR0CenterActiveElementNumber.clear(); quint32 accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.rxR0CenterActiveElementNumber.push_back(static_cast(floatArray[accum])); accum++; } /**************** /sramParameters/rxParameters/rxR0ActiveElementNo ********************/ datasetBranch ("/sramParameters/rxParameters/rxR0ActiveElementNo", floatArray); scenParams.rxParams.rxR0ActiveElementNumber.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.rxR0ActiveElementNumber.push_back(static_cast(floatArray[accum])); accum++; } /**************** /sramParameters/rxParameters/rxActiveElementStep ********************/ datasetBranch ("/sramParameters/rxParameters/rxActiveElementStep", floatArray); scenParams.rxParams.rxActiveElementStep.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.rxParams.rxActiveElementStep.push_back(floatArray[var]); /**************** /sramParameters/rxParameters/interceptPointFiringTime ********************/ datasetBranch ("/sramParameters/rxParameters/interceptPointFiringTime", floatArray); scenParams.rxParams.interceptPointFiringTime.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.rxParams.interceptPointFiringTime.push_back(static_cast(floatArray[var])); /**************** /sramParameters/rxParameters/rxFocusPointNo ********************/ datasetBranch ("/sramParameters/rxParameters/rxFocusPointNo", floatArray); scenParams.rxParams.rxFocusPointNumber.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.rxParams.rxFocusPointNumber.push_back(static_cast(floatArray[var])); /**************** /sramParameters/rxParameters/r0Position ********************/ datasetBranch ("/sramParameters/rxParameters/r0Position", floatArray); scenParams.rxParams.r0Position.clear(); for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) scenParams.rxParams.r0Position.push_back(floatArray[var]); /**************** /sramParameters/rxParameters/thetaCos ********************/ datasetBranch ("/sramParameters/rxParameters/thetaCos", floatArray); scenParams.rxParams.thetaCos.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.thetaCos.push_back(floatArray[accum]); accum++; } /**************** /sramParameters/rxParameters/thetaSin ********************/ datasetBranch ("/sramParameters/rxParameters/thetaSin", floatArray); scenParams.rxParams.thetaSin.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.thetaSin.push_back(floatArray[accum]); accum++; } /**************** /sramParameters/rxParameters/phiCos ********************/ datasetBranch ("/sramParameters/rxParameters/phiCos", floatArray); scenParams.rxParams.phiCos.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.phiCos.push_back(floatArray[accum]); accum++; } /**************** /sramParameters/rxParameters/phiSin ********************/ datasetBranch ("/sramParameters/rxParameters/phiSin", floatArray); scenParams.rxParams.phiSin.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.phiSin.push_back(floatArray[accum]); accum++; } /**************** /sramParameters/rxParameters/interceptXPos ********************/ datasetBranch ("/sramParameters/rxParameters/interceptXPos", floatArray); scenParams.rxParams.interceptXPos.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.interceptXPos.push_back(floatArray[accum]); accum++; } /**************** /sramParameters/rxParameters/interceptYPos ********************/ datasetBranch ("/sramParameters/rxParameters/interceptYPos", floatArray); scenParams.rxParams.interceptYPos.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.interceptYPos.push_back(floatArray[accum]); accum++; } /**************** /sramParameters/rxParameters/interceptZPos ********************/ datasetBranch ("/sramParameters/rxParameters/interceptZPos", floatArray); scenParams.rxParams.interceptZPos.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.interceptZPos.push_back(floatArray[accum]); accum++; } /**************** /sramParameters/rxParameters/txR0MinDelayQ ********************/ datasetBranch ("/sramParameters/rxParameters/txR0MinDelayQ", floatArray); scenParams.rxParams.txR0MinDelayQ.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.txR0MinDelayQ.push_back(static_cast(floatArray[accum])); accum++; } /**************** /sramParameters/rxParameters/rxR0MinDelayQ ********************/ datasetBranch ("/sramParameters/rxParameters/rxR0MinDelayQ", floatArray); scenParams.rxParams.rxR0MinDelayQ.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.rxR0MinDelayQ.push_back(static_cast(floatArray[accum])); accum++; } /**************** /sramParameters/rxParameters/rxR0MaxDelayQ ********************/ datasetBranch ("/sramParameters/rxParameters/rxR0MaxDelayQ", floatArray); scenParams.rxParams.rxR0MaxDelayQ.clear(); accum = 0; for (quint32 var = 0; var < scenParams.focusTypeNumber; var++) for (quint8 var1 = 0; var1 < scenParams.rxBeamFormerNumber[static_cast(var)]; var1++) { scenParams.rxParams.rxR0MaxDelayQ.push_back(static_cast(floatArray[accum])); accum++; } /**************** /registerParameters/pulseTypeNo ********************/ datasetBranch ("/registerParameters/pulseTypeNo", floatArray); scenParams.hwRegister.pulseTypeNumber = static_cast(floatArray[0]); /**************** /registerParameters/rxBeamformerTypeNo ********************/ datasetBranch ("/registerParameters/rxBeamformerTypeNo", floatArray); scenParams.hwRegister.rxBeamFormerTypeNumber = static_cast(floatArray[0]); /**************** /registerParameters/receiverConfigTypeNo ********************/ datasetBranch ("/registerParameters/receiverConfigTypeNo", floatArray); scenParams.hwRegister.receiverConfigTypeNumber = static_cast(floatArray[0]); /**************** /registerParameters/blendWeight ********************/ datasetBranch ("/registerParameters/blendWeight", floatArray); scenParams.hwRegister.blendWeight.clear(); QVector tempBlendWeight; for (quint32 i = 0; i < 4; i++) { tempBlendWeight.clear(); for (quint32 j = 0; j < 512; j++) { tempBlendWeight.push_back(floatArray[j + i * 512]); } scenParams.hwRegister.blendWeight.push_back(tempBlendWeight); } /**************** /registerParameters/freqLut ********************/ datasetBranch ("/registerParameters/freqLut", floatArray); scenParams.hwRegister.freqLut.clear(); for (quint32 var = 0; var < 8; var++) scenParams.hwRegister.freqLut.push_back(floatArray[var]); /**************** /registerParameters/dTgcLut ********************/ datasetBranch ("/registerParameters/dTgcLut", floatArray); scenParams.hwRegister.dtgcLut.clear(); for (quint32 var = 0; var < 1024; var++) scenParams.hwRegister.dtgcLut.push_back(floatArray[var]); /**************** /registerParameters/elementXPositions ********************/ datasetBranch ("/registerParameters/elementXPositions", floatArray); scenParams.hwRegister.elementXPosition.clear(); for (quint32 var = 0; var < 192; var++) scenParams.hwRegister.elementXPosition.push_back(floatArray[var]); /**************** /registerParameters/elementYPositions ********************/ datasetBranch ("/registerParameters/elementYPositions", floatArray); scenParams.hwRegister.elementYPosition.clear(); for (quint32 var = 0; var < 192; var++) scenParams.hwRegister.elementYPosition.push_back(floatArray[var]); /**************** /registerParameters/elementZPositions ********************/ datasetBranch ("/registerParameters/elementZPositions", floatArray); scenParams.hwRegister.elementZPosition.clear(); for (quint32 var = 0; var < 192; var++) scenParams.hwRegister.elementZPosition.push_back(floatArray[var]); /**************** /registerParameters/scenarioStartIndex ********************/ datasetBranch ("/registerParameters/scenarioStartIndex", floatArray); scenParams.hwRegister.scenarioStartIndex = static_cast(floatArray[0]); /**************** /registerParameters/scenarioEndIndex ********************/ datasetBranch ("/registerParameters/scenarioEndIndex", floatArray); scenParams.hwRegister.scenarioEndIndex = static_cast(floatArray[0]); /**************** /registerParameters/pulseProperties/halfPeriod ********************/ datasetBranch ("/registerParameters/pulseProperties/halfPeriod", floatArray); QList halfPeriod; for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) { halfPeriod.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/pulseProperties/halfCycleNo ********************/ datasetBranch ("/registerParameters/pulseProperties/halfCycleNo", floatArray); QList halfCycleNo; for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) { halfCycleNo.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/pulseProperties/pulseVoltSel ********************/ datasetBranch ("/registerParameters/pulseProperties/pulseVoltSel", floatArray); QList pulseVoltSel; for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) { pulseVoltSel.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/pulseProperties/startPhase ********************/ datasetBranch ("/registerParameters/pulseProperties/startPhase", floatArray); QList startPhase; for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) { startPhase.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/pulseProperties/dampingPulseWidth ********************/ datasetBranch ("/registerParameters/pulseProperties/dampingPulseWidth", floatArray); QList dampingPulseWidth; for (quint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) { dampingPulseWidth.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/pulseProperties ********************/ Pulse_t pulseObj; scenParams.hwRegister.pulseProps.clear(); for (qint32 j = 0; j < scenParams.hwRegister.pulseTypeNumber; j++) { pulseObj.halfPeriod = halfPeriod.at(j); pulseObj.startPhase = startPhase.at(j); pulseObj.halfCycleNo = halfCycleNo.at(j); pulseObj.pulseVoltSel = pulseVoltSel.at(j); pulseObj.dampingPulseWidth = dampingPulseWidth.at(j); scenParams.hwRegister.pulseProps.push_back(pulseObj); } /**************** /registerParameters/rxBeamformerProperties/mla ********************/ datasetBranch ("/registerParameters/rxBeamformerProperties/mla", floatArray); QList mla; for (quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) { mla.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/rxBeamformerProperties/lag ********************/ datasetBranch ("/registerParameters/rxBeamformerProperties/lag", floatArray); QList lag; for (quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) { lag.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/rxBeamformerProperties/apodizationSel ********************/ datasetBranch ("/registerParameters/rxBeamformerProperties/apodizationSel", floatArray); QList apodizationSel; for (quint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) { apodizationSel.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/rxBeamformerProperties ********************/ RxBeamFormer_t rxBeamformerObj; scenParams.hwRegister.rxBeamFormerProps.clear(); for (qint32 j = 0; j < scenParams.hwRegister.rxBeamFormerTypeNumber; j++) { rxBeamformerObj.mla = mla.at(j); rxBeamformerObj.lag = lag.at(j); rxBeamformerObj.apodizationSel = apodizationSel.at(j); scenParams.hwRegister.rxBeamFormerProps.push_back(rxBeamformerObj); } /**************** /registerParameters/receiverConfigProperties/mla ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/mla", floatArray); QList receiverCfgMla; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { receiverCfgMla.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/lineMode ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/lineMode", floatArray); QList lineMode; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { lineMode.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/aTgcSel ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/aTgcSel", floatArray); QList aTgcSel; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { aTgcSel.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/stbEn ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/stbEn", floatArray); QList stbEn; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { stbEn.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/stb ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/stb", floatArray); QList stb; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { stb.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/subtractFilterEn ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/subtractFilterEn", floatArray); QList subtractFilterEn; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { subtractFilterEn.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/dcCancelEn ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/dcCancelEn", floatArray); QList dcCancelEn; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { dcCancelEn.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/ncoFreqSel ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/ncoFreqSel", floatArray); QList ncoFreqSel; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { ncoFreqSel.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/lpfSel ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/lpfSel", floatArray); QList lpfSel; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { lpfSel.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/absEn ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/absEn", floatArray); QList absEn; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { absEn.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/focusNo ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/focusNo", floatArray); QList focusNo; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { focusNo.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/lineFilterEn ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/lineFilterEn", floatArray); QList lineFilterEn; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { lineFilterEn.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/dpeEn ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/dpeEn", floatArray); QList dpeEn; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { dpeEn.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/ddcEn ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/ddcEn", floatArray); QList ddcEn; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { ddcEn.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties/wmfEn ********************/ datasetBranch ("/registerParameters/receiverConfigProperties/wmfEn", floatArray); QList wmfEn; for (quint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { wmfEn.push_back(static_cast(floatArray[j])); } /**************** /registerParameters/receiverConfigProperties ********************/ ReceiverConfig_t receiverCfgObj; scenParams.hwRegister.receiverConfigProps.clear(); for (qint32 j = 0; j < scenParams.hwRegister.receiverConfigTypeNumber; j++) { receiverCfgObj.mla = receiverCfgMla.at(j); receiverCfgObj.stb = stb.at(j); receiverCfgObj.ddcn = ddcEn.at(j); receiverCfgObj.absEn = absEn.at(j); receiverCfgObj.dpeEn = dpeEn.at(j); receiverCfgObj.stbEn = stbEn.at(j); receiverCfgObj.wmfEn = wmfEn.at(j); receiverCfgObj.lpfSel = lpfSel.at(j); receiverCfgObj.aTgcSel = aTgcSel.at(j); receiverCfgObj.focusNo = focusNo.at(j); receiverCfgObj.lineMode = lineMode.at(j); receiverCfgObj.dcCancelEn = dcCancelEn.at(j); receiverCfgObj.ncoFreqSel = ncoFreqSel.at(j); receiverCfgObj.lineFilterEn = lineFilterEn.at(j); receiverCfgObj.subtractFilterEn = subtractFilterEn.at(j); scenParams.hwRegister.receiverConfigProps.push_back(receiverCfgObj); } } void Hdf5::prbDependParamsRead(ScenPrbDepHardwareParam &prbDepParams) { /**************** /registerParameters/apodizationLut ********************/ datasetBranch ("/registerParameters/apodizationLut", floatArray); prbDepParams.prbDepParams.apodizationLut.clear(); QVector tempApodization; for (quint32 i = 0; i < 4; i++) { tempApodization.clear(); for (quint32 j = 0; j < 3057; j++) { tempApodization.push_back(static_cast(floatArray[j + i * 3057])); } prbDepParams.prbDepParams.apodizationLut.push_back(tempApodization); } /**************** /registerParameters/aTgcLut ********************/ datasetBranch ("/registerParameters/aTgcLut", floatArray); prbDepParams.prbDepParams.atgcLut.clear(); QVector tempAtgc; for (quint32 i = 0; i < 4; i++) { tempAtgc.clear(); for (quint32 j = 0; j < 128; j++) { tempAtgc.push_back(static_cast(floatArray[j + i * 128])); } prbDepParams.prbDepParams.atgcLut.push_back(tempAtgc); } /**************** /registerParameters/lpfLut ********************/ datasetBranch ("/registerParameters/lpfLut", floatArray); prbDepParams.prbDepParams.lpfLut.clear(); QVector tempLpf; for (quint32 i = 0; i < 4; i++) { tempLpf.clear(); for (quint32 j = 0; j < 48; j++) { tempLpf.push_back(static_cast(floatArray[j + i * 48])); } prbDepParams.prbDepParams.lpfLut.push_back(tempLpf); } } QVector Hdf5::stbRead() { /**************** /registerParameters/stbLutQ ********************/ datasetBranch ("/registerParameters/stbLutQ", floatArray); QVector stb; for (quint8 var = 0; var < 8; var++) stb.push_back(static_cast(floatArray[var])); return stb; } QVector Hdf5::lineFilterRead() { /**************** /registerParameters/lineFilterLutQ ********************/ datasetBranch ("/registerParameters/lineFilterLutQ", floatArray); QVector lineFilter; for (quint8 var = 0; var < 3; var++) lineFilter.push_back(floatArray[var]); return lineFilter; }