typedef traits::SystemModel<Derived, _VectorDimension, _CovarianceDimension> trait; \
\
enum { VectorDimension = trait::VectorDimension }; \
enum { CovarianceDimension = trait::CovarianceDimension }; \
\
typedef typename trait::StateVector StateVector; \
typedef typename trait::NoiseVariance NoiseVariance; \
typedef typename trait::SystemMatrix SystemMatrix; \
\
enum { InputDimension = trait::InputDimension }; \
typedef typename trait::InputType InputType; \
typedef typename trait::InputVector InputVector; \
typedef typename trait::InputMatrix InputMatrix; \
\
typedef typename trait::SubState SubState; \
typedef typename trait::Vector Vector; \
\
typedef typename trait::VectorSegment VectorSegment; \
typedef typename trait::CovarianceBlock CovarianceBlock; \
typedef typename trait::CrossVarianceBlock CrossVarianceBlock; \
typedef typename trait::SystemMatrixBlock SystemMatrixBlock; \
\
typedef typename trait::ConstVectorSegment ConstVectorSegment; \
typedef typename trait::ConstCovarianceBlock ConstCovarianceBlock; \
typedef typename trait::ConstCrossVarianceBlock ConstCrossVarianceBlock; \
typedef typename trait::ConstSystemMatrixBlock ConstSystemMatrixBlock; \