/* ************************************************************************************/
/* IRA Istituto di Radioastronomia                                                    */
/* $Id: Moon.midl,v 1.3 2010-09-24 15:42:03 a.orlati Exp $                                                                             */
/*                                                                                    */
/* This code is under GNU General Public Licence (GPL)                                */
/*																					  */
/* Who                                  when            What                          */
/* Rashmi							13/May/2k8         created                       */

#ifndef _Moon_IDL
#define _Moon_IDL

#include "baci.idl"
#include <enumpropMACRO.idl>
#include <EphemGenerator.idl>

#pragma prefix "alma"
                                                                            
module Antenna {
 /*	
 * Here we have defined a struct "MoonAttribute structure" that contains all the properties of the component. 
 * Since EphemGenerator defines all the properties of the component and we have inherited the Moon component from EphemGenerator.
 * This Interface will be mapped into the ACS dynamic component so it can't expose properties in their classic definations.
 * Component attributes are read via their accesor method (<i>getAttributes()</i>).   * 
*/	
	DEFATTRIBUTES (MoonAttributes)
	ENDDEFATTRIBUTES;
	
	
	interface Moon: EphemGenerator { 
		/*This is the Interface of the component Moon and this is inherited from EphemGenerator
		 * all the properties metioned below are inherited by the interface Moon 
		 * # input Source ID:Moon, the name of the source
		 * # double right Ascension of the Moon in radians
		 * # double decination of the Moon in radians
		 * # double azimuth in radians 
		 * # double elevation in radians
		 * # Julian Epoch the current time as a julian epoch
		 * # double userAzimuthOffset in radians	 
	 	 * # double userElevationOffset in radians
	 	 * # double userRightAscensionOffset in radians
	 	 * # double userDeclinationOffset in radians
		 * # double parallacticAngle in radians
		 */
		void getAttributes(out MoonAttributes att); /*this method is the attribute accessor*/
	
	};

};
	
	




#endif

