public MsMsFragmentAlgorithm(
			IEventAggregator eventAggregator,
			IMsMsSpectrumSelection msmsSpectrumSelection,
			ISmoothing smoothing,
			MsMsFragmentAnalyzer msmsFragmentAnalyzer,
			DeuterationResultGenerator deuterationResultGenerator,
			IServiceLocator serviceLocator)
        {
            _eventAggregator = eventAggregator;
            this.deuterationResultGenerator = deuterationResultGenerator;
            this.msmsSpectrumSelection = msmsSpectrumSelection;
            _smoothing = smoothing;
            this.msmsFragmentAnalyzer = msmsFragmentAnalyzer;
            _serviceLocator = serviceLocator;

            ProcessingSteps.Add(msmsSpectrumSelection);
            ProcessingSteps.Add(_smoothing);
            ProcessingSteps.Add(msmsFragmentAnalyzer);
        }
        public LabelAmountAlgorithm(
			IEventAggregator eventAggregator,
			IXicSelection xicSelection,
			IChromatographicPeakDetection chromatographicPeakDetection,
			XicPeakPicker xicPeakPicker,
			ISpectrumSelection spectrumSelection,
			ISpectralPeakDetection spectralPeakDetection,
			IsotopicProfileFinder isotopicProfileFinder,
			LabelAmountCalculator labelAmountCalculator,
			ISmoothing xicSmoothing,
			ISmoothing spectrumSmoothing,
			DeuterationResultGenerator deuterationResultGenerator,
			IServiceLocator serviceLocator)
            : base()
        {
            _eventAggregator = eventAggregator;
            _xicSelection = xicSelection;
            _chromatographicPeakDetection = chromatographicPeakDetection;
            _spectrumSelection = spectrumSelection;
            _spectralPeakDetection = spectralPeakDetection;
            _xicPeakPicker = xicPeakPicker;
            _isotopicProfileFinder = isotopicProfileFinder;
            _labelAmountCalculator = labelAmountCalculator;
            _xicSmoothing = xicSmoothing;
            _spectrumSmoothing = spectrumSmoothing;
            _deuterationResultGenerator = deuterationResultGenerator;
            _serviceLocator = serviceLocator;

            ProcessingSteps.Add(_xicSelection);
            ProcessingSteps.Add(_xicSmoothing);
            ProcessingSteps.Add(_chromatographicPeakDetection);
            ProcessingSteps.Add(_xicPeakPicker);
            ProcessingSteps.Add(_spectrumSelection);
            ProcessingSteps.Add(_spectrumSmoothing);
            ProcessingSteps.Add(_spectralPeakDetection);
            ProcessingSteps.Add(_isotopicProfileFinder);
            ProcessingSteps.Add(_labelAmountCalculator);
        }