sketch of data content. kind of ambiguous still.
// template
class FitNodeBase
{
// states after up/down stream filter
m_upstreamstate ;
m_downstreamstate ;
} ;
class TransportNode
{
// this info could also be stored in the 'processor'
// ref states
m_upstreamrefstate ;
m_downstreamrefstate ;
// ref noise (need to store only 1)
m_upstreamnoise ;
// note: enough information to process, but
const State& process( const State& input, int direction ) {
}
} ;
// template
class Value1DWithCov
{
double m_x ; // coordinate
double m_C ; // covariance
}
//template< int StateDim, int ConstraintDim >
MeasurementNode1D
{
// minimal data content
// this information stored in the measurement?
m_referencestate ;
m_m ; // measured coordinate
m_V ; // variance of measuremed coodinate
m_H ; // projection matrix
// states after up/down stream filter
m_upstreamstate ;
m_downstreamstate ;
//
INode* upstreamNode() { ... } ;
INode* downstreamNode() { ... } ;
// compute on demand
mutable std::pair<bool,State> m_state ; // smoothed state
// compute on demand
mutable std::pair<bool,State> m_state ; // smoothed state
// some things worth caching? at least, we need fast access to the
// smoothed residual which
Value1DWithCov m_downstreamprojectedstate ; // caches m_H * m_downstreamsta$ upstream/downstream/smoothed residual
}
-- WouterHulsbergen - 15 Mar 2007