#ifndef SUNSENSOREVENT_H_ #define SUNSENSOREVENT_H_ // //----------------------------------------------------------------------- /// @copyright /// (c) Copyright 2008 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 SunSensorEvent.h /// /// @author John Burton /// /// @date Thu Jan 17 16:49:33 2008 /// //----------------------------------------------------------------------- // //----------------------------------------------------------------------- // Include Files: //----------------------------------------------------------------------- // #include #include #include "ConfigFile.h" #include "Level0Profiles.h" #include "SunSensorRecord.h" // //----------------------------------------------------------------------- // Constants, Defines, Macros and Type Definitions: //----------------------------------------------------------------------- // // //----------------------------------------------------------------------- // Global Variables: //----------------------------------------------------------------------- // // //----------------------------------------------------------------------- // Class Definition: //----------------------------------------------------------------------- // class SunSensorEvent { // //----------------------------------------------------------------------- // Private Members: //----------------------------------------------------------------------- // private: ConfigFile CF_; std::string Section_; int eventNumber_; char srssflag_; std::vector sssVec_; // std::vector sssVec_; EventVarVectAzCenter_; EventVarVectAzExtent_; // //----------------------------------------------------------------------- // Protected Members: //----------------------------------------------------------------------- // protected: // //----------------------------------------------------------------------- // Public Members: //----------------------------------------------------------------------- // public: /// /// Default constructor - Creates a SunSensorEvent object based on /// the contents of the Level0Profiles object \c l0p. \c l0p must contain /// EventVar objects with the following names:"L0_SolarTrackerTimes", /// "L0_SolarTrackXLow", "L0_SolarTrackXHigh", "L0_SolarTrackYLow", /// "L0_SolarTrackYHigh", "L0_SolarImageTimes", "L0_SolarImages". /// @param[in] l0p - Level0Profiles object containing the EventVars listed above. /// SunSensorEvent(Level0Profiles &l0p); SunSensorEvent(){}; virtual ~SunSensorEvent(); void doFlatFieldCorrections(Event& SD); void doNonLinearityCorrections(Event& SD); void doIntegrationTimeCorrection(void); void determineLocations(void); ConfigFile getConfigFile(void) { return CF_; }; std::string getSection(void) { return Section_; }; int getEventNumber(void) { return eventNumber_; }; char getSRSSFlag(void) { return srssflag_; }; EventVar getRecordType(EventVar &ev); EventVar getPixelTimeStamp(EventVar &ev); EventVar getTrackTimeStamp(EventVar &ev); EventVar getTrackLoX(EventVar &ev); EventVar getTrackHiX(EventVar &ev); EventVar getTrackLoY(EventVar &ev); EventVar getTrackHiY(EventVar &ev); EventVarVect getCenterAvePixVals(EventVarVect &evv); EventVarVect getCenterSums(EventVarVect &evv); EventVarVect getCenterSumsOffsets(EventVarVect &evv); EventVarVect getCenterSumsRows(EventVarVect &evv); EventVarVect getAveragePixVals(EventVarVect &evv); EventVarVect getAverageLocations(EventVarVect &evv); EventVar calcExtent(void); void writeExoAtmosphericDataXYZ(void); void plotAzCenter(void); }; // end class SunSensorEvent #endif