use crate::binning::container_events::ContainerEvents; use crate::binning::container_events::PulsedVal; use crate::log::*; use crate::Error; use daqbuf_err as err; use items_0::timebin::BinningggContainerEventsDyn; use netpod::EnumVariant; use netpod::ScalarType; use netpod::Shape; pub fn empty_events_dyn_ev( scalar_type: &ScalarType, shape: &Shape, ) -> Result, Error> { let ret: Box = match shape { Shape::Scalar => { use ScalarType::*; type K = ContainerEvents; match scalar_type { U8 => Box::new(K::::new()), U16 => Box::new(K::::new()), U32 => Box::new(K::::new()), U64 => Box::new(K::::new()), I8 => Box::new(K::::new()), I16 => Box::new(K::::new()), I32 => Box::new(K::::new()), I64 => Box::new(K::::new()), F32 => Box::new(K::::new()), F64 => Box::new(K::::new()), BOOL => Box::new(K::::new()), STRING => Box::new(K::::new()), Enum => Box::new(K::::new()), } } Shape::Wave(..) => { use ScalarType::*; type K = ContainerEvents>; match scalar_type { U8 => Box::new(K::::new()), U16 => Box::new(K::::new()), U32 => Box::new(K::::new()), U64 => Box::new(K::::new()), I8 => Box::new(K::::new()), I16 => Box::new(K::::new()), I32 => Box::new(K::::new()), I64 => Box::new(K::::new()), F32 => Box::new(K::::new()), F64 => Box::new(K::::new()), BOOL => Box::new(K::::new()), STRING => Box::new(K::::new()), Enum => Box::new(K::::new()), } } Shape::Image(..) => { error!("TODO empty_events_dyn_ev {:?} {:?}", scalar_type, shape); err::todoval() } }; Ok(ret) } pub fn empty_events_pulsed_dyn_ev( scalar_type: &ScalarType, shape: &Shape, ) -> Result, Error> { let ret: Box = match shape { Shape::Scalar => { use ScalarType::*; type K = ContainerEvents>; match scalar_type { U8 => Box::new(K::::new()), U16 => Box::new(K::::new()), U32 => Box::new(K::::new()), U64 => Box::new(K::::new()), I8 => Box::new(K::::new()), I16 => Box::new(K::::new()), I32 => Box::new(K::::new()), I64 => Box::new(K::::new()), F32 => Box::new(K::::new()), F64 => Box::new(K::::new()), BOOL => Box::new(K::::new()), STRING => Box::new(K::::new()), Enum => Box::new(K::::new()), } } Shape::Wave(..) => { use ScalarType::*; type K = ContainerEvents>>; match scalar_type { U8 => Box::new(K::::new()), U16 => Box::new(K::::new()), U32 => Box::new(K::::new()), U64 => Box::new(K::::new()), I8 => Box::new(K::::new()), I16 => Box::new(K::::new()), I32 => Box::new(K::::new()), I64 => Box::new(K::::new()), F32 => Box::new(K::::new()), F64 => Box::new(K::::new()), BOOL => Box::new(K::::new()), STRING => Box::new(K::::new()), Enum => Box::new(K::::new()), } } Shape::Image(..) => { error!("TODO empty_events_dyn_ev {:?} {:?}", scalar_type, shape); err::todoval() } }; Ok(ret) }