#ifndef _EPHEMGENERATORMACRO_IDL_
#define _EPHEMGENERATORMACRO_IDL_

#include <ManagmentDefinitions.idl>

/** @def DEFATTRIBUTES(NAME)
 * 	@brief this macro can be used to defines exposed attributes by interfaces that inherits from EphemGenerator
 *    @arg sourceID name or code of the pointed position
 *	@arg J2000RightAscension J2000 right ascension of the target, it does not include offsets, radians 
 *	@arg J2000Declination J2000 declination of the target, it does not include offsets,  radians
 *	@arg rightAscension apparent right ascension of the pointed position,it includes the offsets, radians
 *	@arg declination apparent declination of the pointed position,it includes the offsets, radians
 *	@arg julianEpoch current time as julian epoch	
 *	@arg gLongitude apparent galactic longitude of the pointed position radians, it includes the offsets	 
 *	@arg gLatitude apparent galactic latitude of the pointed position radians, it includes the offsets
 *	@arg apparent azimuth current azimtuh,it includes the offsets, radians, it includes the offsets
 *	@arg apparent elevation current elevation,it includes the offsets, radians, it includes the offsets	 	
 *	@arg userAzimuthOffset 
 *	@arg userElevationOffset
 *	@arg userRightAscensionOffset
 *	@arg userDeclinationOffset
 *	@arg userLongitudeOffset
 *	@arg userLatitudeOffset
 *	@arg parallacticAngle
*/
#define	DEFATTRIBUTES(NAME) struct NAME { \
	string sourceID; \
	double J2000RightAscension; \
	double J2000Declination; \
	double rightAscension; \
	double declination; \
	double julianEpoch; \
	double gLongitude; \
	double gLatitude; \
	double azimuth; \
	double elevation; \
	double parallacticAngle; \
	double userAzimuthOffset; \
	double userElevationOffset; \
	double userRightAscensionOffset; \
	double userDeclinationOffset; \
	double userLongitudeOffset; \
	double userLatitudeOffset; \
	Management::TScanAxis axis; \


#define ENDDEFATTRIBUTES }

#endif
