// AUTOGENERATED FILE - DO NOT MODIFY!
// This file generated by Djinni from mynteye_types.djinni

package com.slightech.mynteye;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.util.ArrayList;

/** IMU intrinsics: scale, drift and variances */
public final class ImuIntrinsics {


    /*package*/ final ArrayList<Double> mScale;

    /*package*/ final ArrayList<Double> mDrift;

    /*package*/ final ArrayList<Double> mNoise;

    /*package*/ final ArrayList<Double> mBias;

    public ImuIntrinsics(
            @NonNull ArrayList<Double> scale,
            @NonNull ArrayList<Double> drift,
            @NonNull ArrayList<Double> noise,
            @NonNull ArrayList<Double> bias) {
        this.mScale = scale;
        this.mDrift = drift;
        this.mNoise = noise;
        this.mBias = bias;
    }

    /**
     * Scale matrix 3x3
     *  Scale X     cross axis  cross axis
     *  cross axis  Scale Y     cross axis
     *  cross axis  cross axis  Scale Z
     */
    @NonNull
    public ArrayList<Double> getScale() {
        return mScale;
    }

    /** Zero-drift: X, Y, Z 1x3 */
    @NonNull
    public ArrayList<Double> getDrift() {
        return mDrift;
    }

    /** Noise density variances 1x3 */
    @NonNull
    public ArrayList<Double> getNoise() {
        return mNoise;
    }

    /** Random walk variances 1x3 */
    @NonNull
    public ArrayList<Double> getBias() {
        return mBias;
    }

    @Override
    public String toString() {
        return "ImuIntrinsics{" +
                "mScale=" + mScale +
                "," + "mDrift=" + mDrift +
                "," + "mNoise=" + mNoise +
                "," + "mBias=" + mBias +
        "}";
    }

}
