#ifndef LEVEL0PROFILES_H_ #define LEVEL0PROFILES_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 Level0Profiles.h /// /// @author John Burton /// /// @date Thu Jan 17 13:37:13 2008 /// //----------------------------------------------------------------------- // //----------------------------------------------------------------------- // Include Files: //----------------------------------------------------------------------- // #include #include "ConfigFile.h" #include "Event.h" // //----------------------------------------------------------------------- // Constants, Defines, Macros and Type Definitions: //----------------------------------------------------------------------- // // //----------------------------------------------------------------------- // Global Variables: //----------------------------------------------------------------------- // // //----------------------------------------------------------------------- // Class Definition: //----------------------------------------------------------------------- // class Level0Profiles { // //----------------------------------------------------------------------- // Private Members: //----------------------------------------------------------------------- // private: // // Configuration Data // ConfigFile CF_; std::string Section_; int eventNumber_; char srssflag_; // // Level 0 Input Data // EventVar TrackTimeStamp_; EventVar PixelTimeStamp_; EventVar Track_Low_X_; EventVar Track_High_X_; EventVar Track_Low_Y_; EventVar Track_High_Y_; EventVar ROI_Low_X_; EventVar ROI_High_X_; EventVar ROI_Low_Y_; EventVar ROI_High_Y_; EventVar Track_Status_; EventVarVect SumsData_; EventVarVect DSumsData_; EventVarVect convertSums2Double(EventVarVect intSums); EventVarVect timeAlignSumsData(EventVarVect &sums, EventVarVect &locs, double &shft); // //----------------------------------------------------------------------- // Protected Members: //----------------------------------------------------------------------- // protected: // //----------------------------------------------------------------------- // Public Members: //----------------------------------------------------------------------- // public: /// /// Default constructor - Creates a SunSensorTelemEvent object based on /// the contents of the Event object \c eventObj. \c eventObj must contain /// EventVar objects with the following names:"L0_SolarTrackerTimes", /// "L0_SolarTrackXLow", "L0_SolarTrackXHigh", "L0_SolarTrackYLow", /// "L0_SolarTrackYHigh", "L0_SolarImageTimes", "L0_SolarImages". /// @param[in] eventObj - Event object containing the EventVars listed above. /// Level0Profiles(Event& L0, Event& L1, ConfigFile& cf, std::string Section); double getTrackTimeStamp(int i) { return TrackTimeStamp_[i];}; double getPixelTimeStamp(int i) { return TrackTimeStamp_[i];}; double getTrackLowX(int i) { return Track_Low_X_[i];}; double getTrackHighX(int i) { return Track_High_X_[i];}; double getTrackLowY(int i) { return Track_Low_Y_[i];}; double getTrackHighY(int i) { return Track_High_Y_[i];}; EventVar getTrackLowX(void) { return Track_Low_X_;}; EventVar getTrackHighX(void) { return Track_High_X_;}; EventVar getTrackLowY(void) { return Track_Low_Y_;}; EventVar getTrackHighY(void) { return Track_High_Y_;}; double getROILowX(int i) { return ROI_Low_X_[i];}; double getROIHighX(int i) { return ROI_High_X_[i];}; double getROILowY(int i) { return ROI_Low_Y_[i];}; double getROIHighY(int i) { return ROI_High_Y_[i];}; int getTrackStatus(int i) { return Track_Status_[i];}; EventVar getSumsData(int i); EventVar getDSumsData(int i); int size(void) { return TrackTimeStamp_.size();}; void convertFixed2FloatingPoint(void); void selectFineTrackData(void); void correctTimeStamp(void); int getEventNumber(void) { return eventNumber_; }; char getSRSSFlag(void) { return srssflag_; }; std::string getSection(void) { return Section_; } ConfigFile getConfig(void) { return CF_; } void filterSumsData(void); void doChainSawFilter(void); void alignTrackingData2TimeGrid(void); void alignTrackingData2TimeGrid(double *par); void alignSumsData2TimeGrid(void); void alignSumsData2TimeGrid(double *par); }; // end class Level0Profiles #endif