Program Listing for File NuMagSANSlib_ExportData.h#
↰ Return to documentation for file (src/wrapper/NuMagSANSlib_ExportData.h)
#pragma once
inline void ExportDataMulti(InputFileData* InputData, ScalingFactors* ScalFactors, ScatteringData* SANSData,
ScatteringData* SANSData_gpu, SpectralData* SpecData, SpectralData* SpecData_gpu,
int Data_File_Index, int StructData_File_Index = 0, int RotData_File_Index = 0) {
// copy scattering data from GPU to RAM ###################################################
copyGPU2RAM_ScatteringData(SANSData, SANSData_gpu);
// scaling of the scattering data on RAM ##################################################
LogSystem::write("scaling of SANSdata...");
scale_ScatteringData(ScalFactors, SANSData, InputData);
// write scattering data ##################################################################
if (InputData->SANSData_Output_Format == "csv") {
write2CSVtable_ScatteringData(InputData, SANSData, Data_File_Index, StructData_File_Index, RotData_File_Index);
} else if (InputData->SANSData_Output_Format == "hdf5") {
write2HDF5table_ScatteringData(InputData, SANSData, Data_File_Index, StructData_File_Index, RotData_File_Index);
}
if (InputData->AngularSpec_activate_flag) {
// copy spectral data from GPU to RAM #################################################
copyGPU2RAM_SpectralData(SpecData, SpecData_gpu);
// scaling of the spectral data on RAM ################################################
scale_SpectralData(ScalFactors, SpecData, InputData);
// write spectral data ################################################################
if (InputData->SANSData_Output_Format == "csv") {
write2CSV_SpectralData(InputData, SpecData, Data_File_Index, StructData_File_Index, RotData_File_Index);
} else if (InputData->SANSData_Output_Format == "hdf5") {
write2HDF5_SpectralData(InputData, SpecData, Data_File_Index, StructData_File_Index, RotData_File_Index);
}
}
}
inline void ExportData(InputFileData* InputData, NuMagSANSData* Data, int Data_File_Index,
int StructData_File_Index = 0, int RotData_File_Index = 0) {
ExportDataMulti(InputData, &Data->ScalFactors, &Data->SANSData, &Data->SANSData_gpu, &Data->SpecData,
&Data->SpecData_gpu, Data_File_Index, StructData_File_Index, RotData_File_Index);
}