// //----------------------------------------------------------------------- /// @copyright /// (c) Copyright 2007 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. /// //----------------------------------------------------------------------- /// /// @file SunSensorData.cpp /// /// @author John Burton /// /// @date Mon Dec 10 13:43:31 2007 /// //----------------------------------------------------------------------- // //----------------------------------------------------------------------- // Include Files: //----------------------------------------------------------------------- // #include #include #include "SunSensorData.h" //#include "SOFIE_Exception.h" #include "SOFIE_namespace.h" #include // //----------------------------------------------------------------------- // Defines and Macros: //----------------------------------------------------------------------- // using namespace SOFIE; using namespace std; // //----------------------------------------------------------------------- // Global Variables: //----------------------------------------------------------------------- // // //----------------------------------------------------------------------- // Class Methods: //----------------------------------------------------------------------- // SunSensorData& SunSensorData::operator = (const SunSensorData& rhs ) { if (this == &rhs) return *this; SunSensorInfo = rhs.SunSensorInfo; return *this; } void SunSensorData::dump() const { unsigned long j; for(j = 0; j < SunSensorInfo.size(); ++j) { SunSensorInfo[j].dump(); } cout << endl; } valarray SunSensorData::getTime() const { unsigned long count = SunSensorInfo.size(); valarray time(count); unsigned long Ind; for (Ind = 0; Ind < count; Ind++) { time[Ind] = SunSensorInfo[Ind].getTime(); } return time; } //vector< valarray > SunSensorData::SolarData() const //{ // // valarray temp(NSums); // vector< valarray > solar_avg; // vector::const_iterator Ind; // // for (Ind = SunSensorInfo.begin(); Ind != SunSensorInfo.end(); Ind++) // { // temp = (*Ind).getSumsData(); // solar_avg.push_back(temp); // } // // return solar_avg; //} vector< valarray > SunSensorData::getSumsData() const { int cnt = SunSensorInfo.size(); valarray temp(cnt); vector< valarray > solar_avg; vector::const_iterator Ind; for(int i = 0; i SunSensorData::getSumsData(unsigned long indx) const { unsigned long j; unsigned long cnt = SunSensorInfo.size(); valarray Sums(cnt); for (j = 0; j < cnt; ++j) Sums[j] = SunSensorInfo.at(j).getSum(indx); return Sums; }; // SunSensorData::SunSensorData(const SunSensorData & rhs ) // { // // SunSensorInfo = rhs.SunSensorInfo; // // } valarray SunSensorData::getXLow() const { int j; int cnt = SunSensorInfo.size(); valarray xlow(cnt); for (j = 0; j < cnt; ++j) xlow[j] = SunSensorInfo[j].getXLow(); return xlow; } valarray SunSensorData::getXHigh() const { int j; int cnt = SunSensorInfo.size(); valarray xhigh(cnt); for (j = 0; j < cnt; ++j) xhigh[j] = SunSensorInfo[j].getXHigh(); return xhigh; } valarray SunSensorData::getYLow() const { int j; int cnt = SunSensorInfo.size(); valarray ylow(cnt); for (j = 0; j < cnt; ++j) ylow[j] = SunSensorInfo[j].getYLow(); return ylow; } valarray SunSensorData::getYHigh() const { int j; int cnt = SunSensorInfo.size(); valarray yhigh(cnt); for (j = 0; j < cnt; ++j) yhigh[j] = SunSensorInfo[j].getYHigh(); return yhigh; } valarray SunSensorData::getXSolarExtent() const { int j; int cnt = SunSensorInfo.size(); valarray extent(cnt); for (j = 0; j < cnt; ++j) extent[j] = SunSensorInfo[j].getXSolarExtent(); return extent; } valarray SunSensorData::getYSolarExtent() const { int j; int cnt = SunSensorInfo.size(); valarray extent(cnt); for (j = 0; j < cnt; ++j) extent[j] = SunSensorInfo[j].getYSolarExtent(); return extent; } valarray SunSensorData::getElev() const { int j; int cnt = SunSensorInfo.size(); valarray elevation(cnt); for (j = 0; j < cnt; ++j) elevation[j] = SunSensorInfo[j].getElev(); return elevation; } valarray SunSensorData::getAzim() const { int j; int cnt = SunSensorInfo.size(); valarray azimuth(cnt); for (j = 0; j < cnt; ++j) azimuth[j] = SunSensorInfo[j].getAzim(); return azimuth; } valarray SunSensorData::getStatus() const { int j; int cnt = SunSensorInfo.size(); valarray status(cnt); for (j = 0; j < cnt; ++j) status[j] = SunSensorInfo[j].getStatus(); return status; }