Struct InputFileData#

Struct Documentation#

struct InputFileData#

Central configuration container for a NuMagSANS simulation run.

This structure stores all parameters parsed from the user input file, including geometry, discretization, physical constants, polarization settings, and output control flags.

Public Members

string NucDataPath#

Path to nuclear real-space data directory.

string MagDataPath#

Path to magnetic real-space data directory.

string StructDataFilename#

CSV file containing structural information.

string RotDataFilename#

CSV file containing rotational information.

string StructDataPath = ""#

Directory containing StructData_1.csv, StructData_2.csv, … files.

string RotDataPath = ""#

Directory containing RotData_1.csv, RotData_2.csv, … files.

string RotDataConvention = "zyz"#

Euler-axis convention used to interpret the three RotData angles.

string RotMatConvention = "zyz"#

Euler-axis convention used to interpret the three global RotMat angles.

bool FastLoad_flag = false#

Skip repeated MagData dimension checks for faster data import.

bool NucData_ReplicationImport_flag = false#

Replicate a single local nuclear object during import.

int NucData_NumberOfReplications = 1#

Effective number of nuclear objects generated from the single template object.

bool MagData_ReplicationImport_flag = false#

Replicate a single local magnetic object during import.

int MagData_NumberOfReplications = 1#

Effective number of magnetic objects generated from the single template object.

string SANSDataFoldername#

Output directory for computed SANS data.

string SANSData_Output_Format = "csv"#

Output backend for scattering data (“csv” or “hdf5”)

string Fourier_Approach#

Fourier computation approach (e.g., “Direct”, “FFT”)

bool Loop_Modus#

Activate loop mode over dataset indices.

bool RotDataLoop_flag = false#

Activate inner loop mode over rotation data files.

bool StructDataLoop_flag = false#

Activate inner loop mode over structure data files.

int Loop_From#

Starting index for loop mode.

int Loop_To#

Final index for loop mode.

int RotDataLoop_From = 1#

Starting index for rotation data loop mode.

int RotDataLoop_To = 1#

Final index for rotation data loop mode.

int StructDataLoop_From = 1#

Starting index for structure data loop mode.

int StructDataLoop_To = 1#

Final index for structure data loop mode.

string StructData_User_Selection#

User-defined structure-data selection string.

std::vector<int> StructDataLoop_IndexArray#

Parsed structure-data index list.

string RotData_User_Selection#

User-defined rotation-data selection string.

std::vector<int> RotDataLoop_IndexArray#

Parsed rotation-data index list.

string User_Selection#

User-defined dataset selection string.

std::vector<int> User_Selection_IndexArray#

Parsed dataset index list.

int N_q#

Number of q-points.

int N_theta#

Number of azimuthal angles.

int N_r#

Number of radial points for correlation functions.

int N_alpha#

Number of angular alpha points.

float q_min = 0.0#

Minimum scattering vector magnitude [1/nm].

float q_max#

Maximum scattering vector magnitude [1/nm].

float r_max#

Maximum real-space radius [nm].

float Scattering_Volume_V#

Total scattering volume [nm^3].

float cell_nuclear_sld#

Nuclear scattering length density of a cell.

float cell_magnetization#

Saturation magnetization per cell.

float cuboid_cell_size_x#

Cuboid cell size in x-direction [nm].

float cuboid_cell_size_y#

Cuboid cell size in y-direction [nm].

float cuboid_cell_size_z#

Cuboid cell size in z-direction [nm].

float RotMat_alpha#

First global Euler rotation angle [degree].

float RotMat_beta#

Second global Euler rotation angle [degree].

float RotMat_gamma = 0.0f#

Third global Euler rotation angle [degree].

float RotMat[9]#

3x3 rotation matrix (column-major)

float XYZ_Unit_Factor#

Unit conversion factor for coordinate scaling.

float Polarization[3]#

Polarization vector (Px, Py, Pz)

bool NucData_activate_flag#

Enable nuclear data input.

bool MagData_activate_flag#

Enable magnetic data input.

bool StructData_activate_flag#

Enable structural data input.

bool RotData_activate_flag#

Enable rotation data input.

bool ExcludeZeroMoments_flag#

Exclude zero-moment cells from computation.

bool Check_InputFile_Flag#

Validate input file before execution.

int k_max#

Maximum Fourier summation index.

bool AngularSpec_activate_flag#

Activate angular spectrum evaluation.

bool output_fourier_correlation_matrix_flag#

Output full Fourier correlation matrix.

OutFlagQuant OutFlags = {}#