Tudat/Astrodynamics/Propagators/stateTransitionMatrixInterface.cpp
//! Function to reset the state transition and sensitivity matrix interpolators
Function to reset the state transition and sensitivity matrix interpolators
Function to reset the state transition and sensitivity matrix interpolators
void MultiArcCombinedStateTransitionAndSensitivityMatrixInterface::updateMatrixInterpolators(
        const std::vector< std::shared_ptr< interpolators::OneDimensionalInterpolator< double, Eigen::MatrixXd > > >
        stateTransitionMatrixInterpolators,
        const std::vector< std::shared_ptr< interpolators::OneDimensionalInterpolator< double, Eigen::MatrixXd > > >
        sensitivityMatrixInterpolators,
        const std::vector< double >& arcStartTimes )
{
    stateTransitionMatrixInterpolators_ = stateTransitionMatrixInterpolators;
    sensitivityMatrixInterpolators_ = sensitivityMatrixInterpolators;
    arcStartTimes_ =  arcStartTimes;
    if( stateTransitionMatrixInterpolators_.size( ) != sensitivityMatrixInterpolators_.size( ) ||
            stateTransitionMatrixInterpolators_.size( ) != static_cast< unsigned int >( numberOfStateArcs_ ) )
    {
        throw std::runtime_error(
                    "Error when resetting multi arc state transition and sensitivity interface, vector sizes are inconsistent." );
    }
    std::vector< double > arcSplitTimes = arcStartTimes_;
    arcSplitTimes.push_back( std::numeric_limits< double >::max( ) );
    lookUpscheme_ = std::make_shared< interpolators::HuntingAlgorithmLookupScheme< double > >(
                arcSplitTimes );
}
void MultiArcCombinedStateTransitionAndSensitivityMatrixInterface :: updateMatrixInterpolators ( const std :: vector < std :: shared_ptr < interpolators :: OneDimensionalInterpolator < double , Eigen :: MatrixXd > > > stateTransitionMatrixInterpolators , const std :: vector < std :: shared_ptr < interpolators :: OneDimensionalInterpolator < double , Eigen :: MatrixXd > > > sensitivityMatrixInterpolators , const std :: vector < double > & arcStartTimes ) { stateTransitionMatrixInterpolators_ = stateTransitionMatrixInterpolators ; sensitivityMatrixInterpolators_ = sensitivityMatrixInterpolators ; arcStartTimes_ = arcStartTimes ; if ( stateTransitionMatrixInterpolators_ . size ( ) != sensitivityMatrixInterpolators_ . size ( ) || stateTransitionMatrixInterpolators_ . size ( ) != static_cast < unsigned int > ( numberOfStateArcs_ ) ) { throw std :: runtime_error ( " " ) ; } std :: vector < double > arcSplitTimes = arcStartTimes_ ; arcSplitTimes . push_back ( std :: numeric_limits < double > :: max ( ) ) ; lookUpscheme_ = std :: make_shared < interpolators :: HuntingAlgorithmLookupScheme < double > > ( arcSplitTimes ) ; }
Function to reset the state transition and sensitivity matrix interpolators
Function to reset the state transition and sensitivity matrix interpolators