public MappedBindedInertialSesnorProducer(IDataProducer <InertialSensorData> binder, IMapper mapper)
        {
            if (binder == null)
            {
                throw new ArgumentException("Cannot be null.", binder.GetType().Name);
            }
            if (mapper == null)
            {
                throw new ArgumentException("Cannot be null.", mapper.GetType().Name);
            }

            this.Binder = binder;
            this.Mapper = mapper;

            this.Binder.NewTData += OnNewTDataReciever;
            X_smoother            = new DoubleExponentialDeriver(alpha, gamma, NDerivative.smooth);
            Y_smoother            = new DoubleExponentialDeriver(alpha, gamma, NDerivative.smooth);
            Z_smoother            = new DoubleExponentialDeriver(alpha, gamma, NDerivative.smooth);
        }