/** \file
 *
 *  Specifies the interface details for the ElevatorOffsetCalculator component in the
 *  DerivationModule.
 *
 *  ElevatorOffsetCalculator.h should only be included by ElevatorOffsetCalculator.cpp
 *  Other classes should include ElevatorOffsetCalculatorIF.h
 *
 *  Copyright (c) 2007,2008,2009 MBARI
 *  MBARI Proprietary Information.  All Rights Reserved
 */

#ifndef ELEVATOROFFSETCALCULATORIF_H_
#define ELEVATOROFFSETCALCULATORIF_H_

#include "data/ElementURI.h"

/**
 *  Specifies the interface details for the ElevatorOffsetCalculator component in the
 *  DerivationModule.
 *
 *  ElevatorOffsetCalculator.h should only be included by ElevatorOffsetCalculator.cpp
 *  Other classes should include ElevatorOffsetCalculatorIF.h
 *
 *  \ingroup modules_derivation
 */
namespace ElevatorOffsetCalculatorIF
{
/// Static const for component name
/// (Can be used by other components)
static const Str NAME( "ElevatorOffsetCalculator" );

// Include common ConfigURIs -- must be in namespace and follow definition of NAME
#include "component/HasLoadAtStartupIF.h"

/// Static const for configuration settings
static const ConfigURI ELEV_OFFSET_TARGET_ERROR_BOUND_CFG( NAME, "targetErrorBound", Units::DEGREE );
static const ConfigURI ELEV_OFFSET_TARGET_CONFIDENCE_CFG( NAME, "targetConfidenceLevel", Units::PERCENT );
static const ConfigURI ELEV_OFFSET_VERBOSITY_CFG( NAME, "verbosity", Units::COUNT );

/// Static const for slate outputs
static const DataURI ELEVATOR_ANGLE_AVERAGE( NAME, "elevator_angle_average", Units::RADIAN );
static const DataURI ELEVATOR_ANGLE_VARIANCE( NAME, "elevator_angle_variance", Units::RADIAN );
static const DataURI ELEVATOR_ANGLE_ERROR_BOUND( NAME, "elevator_angle_error_bound", Units::RADIAN );
static const DataURI ELEVATOR_ANGLE_CMD_SPEED_IDENTIFIER( NAME, "elevator_angle_cmd_speed_identifier", Units::METER_PER_SECOND );
static const DataURI ELEVATOR_ANGLE_CMD_PITCH_IDENTIFIER( NAME, "elevator_angle_cmd_pitch_identifier", Units::RADIAN );
static const DataURI ELEVATOR_ANGLE_CMD_MASS_POSITION_IDENTIFIER( NAME, "elevator_angle_cmd_mass_position_identifier", Units::METER );
}

#endif /*ELEVATOROFFSETCALCULATORIF_H_*/
