/*******************************************************************************
 * Copyright (c) 2007 TOPCASED. All rights reserved. This program
 * and the accompanying materials are made available under the terms of the
 * Eclipse Public License v1.0 which accompanies this distribution, and is
 * available at http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors: Topcased contributors and others - initial API and implementation
*******************************************************************************/

package SpacecraftModel.SpaceSegment;

//Start of user code for imports
import java.util.ArrayList;
//End of user code for imports
/**
 * 
 * @author
 */
public class StarTracker extends OnboardDevice  {

    //Attributes
    public STRModeEnumeration strMode;
    public Integer ccdTemp;
    public Integer striPeltierOrder;
    public String instanceID;

    //Attributes from associations
    public AOCS source;
    public ArrayList<StarTracker> AOCStarget = new ArrayList<StarTracker>();

    //Start of user code for the default constructor
    /**
     * Default constructor
     */
    public StarTracker (){
        super();
        //Attributes
        this.strMode = new STRModeEnumeration();
        this.ccdTemp = new Integer();
        this.striPeltierOrder = new Integer();
        this.instanceID = null;
        this.source = null;
        this.AOCStarget = null;
    }
    //End of user code for the default constructor

    //Accessors

    /**
     * Return strMode
     * @return STRModeEnumeration
     */	
    public STRModeEnumeration getStrMode(){
        return this.strMode;
    }	

    /**
     * Set the value of strMode.
     * @param mystrMode 
     */
    public void setStrMode(STRModeEnumeration mystrMode){
        this.strMode = mystrMode;
    }	

    /**
     * Return ccdTemp
     * @return Integer
     */	
    public Integer getCcdTemp(){
        return this.ccdTemp;
    }	

    /**
     * Set the value of ccdTemp.
     * @param myccdTemp 
     */
    public void setCcdTemp(Integer myccdTemp){
        this.ccdTemp = myccdTemp;
    }	

    /**
     * Return striPeltierOrder
     * @return Integer
     */	
    public Integer getStriPeltierOrder(){
        return this.striPeltierOrder;
    }	

    /**
     * Set the value of striPeltierOrder.
     * @param mystriPeltierOrder 
     */
    public void setStriPeltierOrder(Integer mystriPeltierOrder){
        this.striPeltierOrder = mystriPeltierOrder;
    }	

    /**
     * Return instanceID
     * @return String
     */	
    public String getInstanceID(){
        return this.instanceID;
    }	

    /**
     * Set the value of instanceID.
     * @param myinstanceID 
     */
    public void setInstanceID(String myinstanceID){
        this.instanceID = myinstanceID;
    }	

    /**
     * Return source
     * @return AOCS
     */
    public AOCS getSource(){
        return this.source;
    }

    /**
     * Set the value of mySource
     * @param mySource
     */
    public void setSource(AOCS mySource){
        this.source = mySource;
    }

    /**
     * Return AOCStarget
     * @return ArrayList(StarTracker)
     */
    public ArrayList<StarTracker> getAOCStargetList(){
        return this.AOCStarget;
    }

    /**
     * Return an element from AOCStarget
     * @param index
     * @return StarTracker
     */
    public StarTracker getAOCStarget(int index){
        return this.AOCStarget.get(index);
    }

    /**
     * Set the value of myAOCStarget
     * @param AOCStarget
     */
    public void setAOCStargetList(ArrayList<StarTracker> myAOCStarget){
        this.AOCStarget = myAOCStarget;
    }

    /**
     * Put an element into AOCStarget
     * @param AOCStarget
     */
    public void addStarTracker(StarTracker item){
        this.AOCStarget.add(item);
    }

	
    //Methods 

    /**
     * 
     * @param strPeltierFlag 
     */
    public void setTemperature(PeltierFlagEnumeration strPeltierFlag) {
        //Start of user code for StarTracker.setTemperature
        //End of user code
    }
	
    //Methods for abstract methods from superclass
    //Start of user code for main	
    /*public static void main (String[] args) {	
    }
    */
    //End of user code
	
}
