#ifndef SOFIE_LEVEL0_DATABASE_INPUT_2006_07_12 #define SOFIE_LEVEL0_DATABASE_INPUT_2006_07_12 /** @file SofieDBinput.h @author Brian Magill @creation date 7/12/2006 @brief Class for reading Level 0 Science data */ //---------------------------------------------------------------------- // #include #include #include "SOFIE_namespace.h" #include "DBInputParam.h" #include "Lvl0FileHeader.h" #include "DetectorSignals.h" #include "SunSensorData.h" #include "DetectorAtten.h" #include "FilTSignal.h" #include "DetectorTemperature.h" #include "BalanceTimes.h" const double MICRO_PER_MINUTE = 1000000.0; class SofieDBinput { private: DBInputParam dbParam; Lvl0FileHeader header; bool hasData; Lvl0FileHeader ReadLvl0Header(long const &event_number); public: SofieDBinput() { hasData = false; }; SofieDBinput(DBInputParam const &db):dbParam(db) { hasData = false; }; SofieDBinput(DBInputParam const &db, long const &event); SofieDBinput(SofieDBinput const& rhs ) { dbParam = rhs.dbParam; header = rhs.header; hasData = rhs.hasData; }; SofieDBinput& operator = (SofieDBinput const& rhs ) { if(&rhs == this) return *this; dbParam = rhs.dbParam; header = rhs.header; hasData = rhs.hasData; return *this; }; ~SofieDBinput(){ }; void Conn(DBInputParam const &db) { dbParam = db; hasData = false; }; void Read(long const &event); bool HasData() { return hasData; }; Lvl0FileHeader getHeader() { return header; }; DetectorSignals getDetectorSignals(); SunSensorData getSunSensorData(); FilTSignal getfilterT(); DetectorTemperature getDetectorT(); DetectorAtten getAttenuation(); BalanceTimes getBalanceTimes(); }; #endif