/// <summary> /// Updates references for common parameters /// </summary> //public virtual void refreshReferences() { //ISpectrum topSpectrum = Spectra[0]; //for (int groupId = 0; groupId < topSpectrum.Parameters.GroupCount; groupId++) { // if (topSpectrum.Parameters[groupId] is ContributedGroup) { // IParameter topContribution = ((ContributedGroup)topSpectrum.Parameters[groupId]).contribution; // foreach (ISpectrum spectrum in Spectra) { // if (spectrum == topSpectrum) { // topContribution.ReferencedParameter = null; // } else { // IParameter contribution = ((ContributedGroup)spectrum.Parameters[groupId]).contribution; // if ((contribution.Status & ParameterStatus.Common) == ParameterStatus.Common) // contribution.ReferencedParameter = topContribution; // } // } // } // for (int componentId = 0; componentId < topSpectrum.Parameters[groupId].Components.Size; componentId++) { // for (int parameterId = 0; parameterId < topSpectrum.Parameters[groupId].Components[componentId].Size; parameterId++) { // IParameter topParameter = topSpectrum.Parameters[groupId].Components[componentId][parameterId]; // foreach (ISpectrum spectrum in Spectra) { // if (spectrum == topSpectrum) { // topParameter.ReferencedParameter = null; // } else { // IParameter parameter = spectrum.Parameters[groupId].Components[componentId][parameterId]; // if ((parameter.Status & ParameterStatus.Common) == ParameterStatus.Common) // parameter.ReferencedParameter = topParameter; // } // } // } // } //} //} public virtual void RemoveSpectrum(ISpectrum spectrum) { Spectra.Remove(spectrum); spectrum.Dispose(); //refreshReferences(); }