use serde::{Deserialize, Serialize};
#[derive(Clone, Deserialize, Serialize)]
pub enum AbsRefRes {
ByBin(f64),
ByBinOrder(Vec<f64>),
ByBinChannel(Vec<f64>),
ByBinOrderChannel(Vec<Vec<f64>>),
}
#[derive(Clone, Deserialize, Serialize)]
pub enum RelRefUnc {
ByBin(f64),
ByBinOrder(Vec<f64>, CombOp),
ByBinChannel(Vec<f64>, CombOp),
ByBinOrderChannel(Vec<Vec<f64>>, CombOp),
}
#[derive(Clone, Deserialize, Serialize)]
pub enum CombOp {
Sum,
Quadrature,
}
#[derive(Clone, Default, Deserialize, Serialize)]
pub struct Reference {
ref_res_unc: Vec<(AbsRefRes, RelRefUnc)>,
ref_conv_fun: Vec<String>,
}