public void CalculateClusterToUMCMaps() { var num_datasets = mobj_umc_data.NumDatasets; marr_mass = new double [NumClusters]; marr_mass_calibrated = new double [NumClusters]; marr_scans = new int [NumClusters]; marr_nets = new double [NumClusters]; marr_charges = new int [NumClusters]; marr_dataset_num = new int [mobj_umc_data.NumUMCS]; for (var dataset_num = 0; dataset_num < num_datasets; dataset_num++) { int start_index = 0, stop_index = 0; mobj_umc_data.GetDataIndex(dataset_num, ref start_index, ref stop_index); for (var index = start_index; index < stop_index; index++) { var pair = new clsPair(); var cluster_num = marr_umc_2_cluster[index]; pair.Set(cluster_num, index); marr_clusters_2_umcs.Add(pair); marr_dataset_num[index] = dataset_num; } } // Sort by cluster num. marr_clusters_2_umcs.Sort(); }