Tudat/SimulationSetup/EstimationSetup/createAngularPositionPartials.cpp
//! Function to generate angular position partial wrt a position of a body.
Function to generate angular position partial wrt a position of a body.
Function to generate angular position partial wrt a position of a body .
std::shared_ptr< AngularPositionPartial > createAngularPositionPartialWrtBodyPosition(
        const observation_models::LinkEnds angularPositionLinkEnds,
        const simulation_setup::NamedBodyMap& bodyMap,
        const std::string bodyToEstimate,
        const std::shared_ptr< AngularPositionScaling > angularPositionScaler,
        const std::vector< std::shared_ptr< observation_partials::LightTimeCorrectionPartial > >&
        lightTimeCorrectionPartialObjects )
{
    std::map< observation_models::LinkEndType, std::shared_ptr< CartesianStatePartial > > positionPartials =
            createCartesianStatePartialsWrtBodyState( angularPositionLinkEnds, bodyMap, bodyToEstimate );
    std::shared_ptr< AngularPositionPartial > angularPositionPartial;
    if( positionPartials.size( ) > 0 )
    {
        angularPositionPartial = std::make_shared< AngularPositionPartial >(
                    angularPositionScaler, positionPartials, std::make_pair(
                        estimatable_parameters::initial_body_state, std::make_pair( bodyToEstimate, "" ) ),
                    lightTimeCorrectionPartialObjects );
    }
    return angularPositionPartial;
}
std :: shared_ptr < AngularPositionPartial > createAngularPositionPartialWrtBodyPosition ( const observation_models :: LinkEnds angularPositionLinkEnds , const simulation_setup :: NamedBodyMap & bodyMap , const std :: string bodyToEstimate , const std :: shared_ptr < AngularPositionScaling > angularPositionScaler , const std :: vector < std :: shared_ptr < observation_partials :: LightTimeCorrectionPartial > > & lightTimeCorrectionPartialObjects ) { std :: map < observation_models :: LinkEndType , std :: shared_ptr < CartesianStatePartial > > positionPartials = createCartesianStatePartialsWrtBodyState ( angularPositionLinkEnds , bodyMap , bodyToEstimate ) ; std :: shared_ptr < AngularPositionPartial > angularPositionPartial ; if ( positionPartials . size ( ) > 0 ) { angularPositionPartial = std :: make_shared < AngularPositionPartial > ( angularPositionScaler , positionPartials , std :: make_pair ( estimatable_parameters :: initial_body_state , std :: make_pair ( bodyToEstimate , " " ) ) , lightTimeCorrectionPartialObjects ) ; } return angularPositionPartial ; }
Function to generate angular position partial wrt a position of a body.
Function to generate angular position partial wrt a position of a body .
// Create position partials of link ends for current body position // Create angular position partials if any position partials are created (i.e. if any dependency exists).