/** @class STrackerSignal @author Brian Magill @datecreated 3/07/2006 $Date: 2006/04/06 20:40:24 $ $Revision: 1.4 $ @copyright (©) Copyright 2006 by GATS Inc. 11864 Canon Blvd., Suite 101, Newport News, VA 23606 All Rights Reserved. No part of this software or publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise without the prior written permission of GATS Inc. @brief Methods for Solar Tracking. This class contains the control commands sent to the mirror and the edges of the solar image on the array */ //---------------------------------------------------------------------- // #include #include "SOFIE_namespace.h" #include "STrackerSignal.h" //#include "SOFIE_Exception.h" #include #include //using namespace blitz; using namespace std; // STrackerSignal::STrackerSignal(const STrackerSignal & rhs ) // { // // TrackingInfo = rhs.TrackingInfo; // // } STrackerSignal& STrackerSignal::operator = (const STrackerSignal & rhs ) { if (this == &rhs) return *this; TrackingInfo = rhs.TrackingInfo; return *this; } valarray STrackerSignal::getTime() const { int j; int cnt = TrackingInfo.size(); valarray time(cnt); SolarTracking stemp; for (j = 0; j < cnt; ++j) { stemp = TrackingInfo[j]; time[j] = stemp.getTime(); } return time; } valarray STrackerSignal::getXLow() const { int j; int cnt = TrackingInfo.size(); valarray xlow(cnt); for (j = 0; j < cnt; ++j) xlow[j] = TrackingInfo[j].getXLow(); return xlow; } valarray STrackerSignal::getXHigh() const { int j; int cnt = TrackingInfo.size(); valarray xhigh(cnt); for (j = 0; j < cnt; ++j) xhigh[j] = TrackingInfo[j].getXHigh(); return xhigh; } valarray STrackerSignal::getYLow() const { int j; int cnt = TrackingInfo.size(); valarray ylow(cnt); for (j = 0; j < cnt; ++j) ylow[j] = TrackingInfo[j].getYLow(); return ylow; } valarray STrackerSignal::getYHigh() const { int j; int cnt = TrackingInfo.size(); valarray yhigh(cnt); for (j = 0; j < cnt; ++j) yhigh[j] = TrackingInfo[j].getYHigh(); return yhigh; } valarray STrackerSignal::getXSolarExtent() const { int j; int cnt = TrackingInfo.size(); valarray extent(cnt); for (j = 0; j < cnt; ++j) extent[j] = TrackingInfo[j].getXSolarExtent(); return extent; } valarray STrackerSignal::getYSolarExtent() const { int j; int cnt = TrackingInfo.size(); valarray extent(cnt); for (j = 0; j < cnt; ++j) extent[j] = TrackingInfo[j].getYSolarExtent(); return extent; } valarray STrackerSignal::getElev() const { int j; int cnt = TrackingInfo.size(); valarray elevation(cnt); for (j = 0; j < cnt; ++j) elevation[j] = TrackingInfo[j].getElev(); return elevation; } valarray STrackerSignal::getAzim() const { int j; int cnt = TrackingInfo.size(); valarray azimuth(cnt); for (j = 0; j < cnt; ++j) azimuth[j] = TrackingInfo[j].getAzim(); return azimuth; } valarray STrackerSignal::getStatus() const { int j; int cnt = TrackingInfo.size(); valarray status(cnt); for (j = 0; j < cnt; ++j) status[j] = TrackingInfo[j].getStatus(); return status; } void STrackerSignal::dump() const { unsigned long j; for(j = 0; j < TrackingInfo.size(); ++j) { TrackingInfo[j].dump(); cout << endl; } }