Skip to content
Snippets Groups Projects
spectrum_test.rs 919 B
Newer Older
use opossum::error::OpossumError;
use opossum::spectrum::Spectrum;
use uom::si::{f64::Length, length::meter};
fn main() -> Result<(), OpossumError> {
    let mut s = Spectrum::new(
        Length::new::<meter>(400.0)..Length::new::<meter>(450.0),
        Length::new::<meter>(0.1),
    s.add_lorentzian_peak(Length::new::<meter>(415.0), Length::new::<meter>(3.2), 2.0)?;

    let mut s2=Spectrum::new(
        Length::new::<meter>(400.0)..Length::new::<meter>(450.0),
        Length::new::<meter>(2.1),
    )?;
    s2.add_lorentzian_peak(Length::new::<meter>(430.0), Length::new::<meter>(1.2), 0.5)?;
    s.add(&s2);

    let mut s3=Spectrum::new(
        Length::new::<meter>(400.0)..Length::new::<meter>(450.0),
        Length::new::<meter>(0.05),
    )?;
    s3.add_lorentzian_peak(Length::new::<meter>(420.0), Length::new::<meter>(0.3), 0.02)?;
    s.sub(&s3);
    s.to_plot("spectrum.svg");