00001 /* 00002 * $RCSfile: AI16_DataSet.hpp,v $ 00003 * $Revision: 1.4 $ 00004 * $Date: 2009/12/24 20:07:55 $ 00005 * jEdit:tabSize=4:indentSize=4:collapseFolds=1: 00006 * 00007 * class AI16_DataSet declarations 00008 */ 00009 00010 #if ! defined( AI16_DataSet_hpp ) 00011 #define AI16_DataSet_hpp 00012 00013 // {{{ includes 00014 #include <ostream> 00015 #include <time.h> 00016 #include <AI16_DataPoint.hpp> 00017 // }}} 00018 00019 namespace AIOUSB { 00020 00021 class AnalogInputSubsystem; 00022 class AI16_DataPoint; 00023 00030 class AI16_DataSet { 00031 friend class AnalogInputSubsystem; 00032 00033 protected: 00034 AnalogInputSubsystem *subsystem; // subsystem from which this data was obtained 00035 AI16_DataPointArray points; // data points taken from device 00036 long timeStamp; // approximate time stamp when data was captured 00037 int calMode; // calibration mode (AnalogInputSubsystem::CAL_MODE_*) 00038 int triggerMode; // trigger mode (AnalogInputSubsystem::TRIG_MODE_*) 00039 int overSample; // over-samples 00040 bool discardFirstSample; // true == first sample was discarded 00041 00042 AI16_DataSet( AnalogInputSubsystem &subsystem, int numPoints, long timeStamp 00043 , int calMode, int triggerMode, int overSample, bool discardFirstSample ); 00044 00045 public: 00046 virtual ~AI16_DataSet(); 00047 00053 AnalogInputSubsystem &getSubsystem() { 00054 return *subsystem; 00055 } // getSubsystem() 00056 00062 const AI16_DataPointArray &getPoints() { 00063 return points; 00064 } // getPoints() 00065 00074 long getTimeStamp() { 00075 return timeStamp; 00076 } // getTimeStamp() 00077 00084 int getCalMode() { 00085 return calMode; 00086 } // getCalMode() 00087 00094 int getTriggerMode() { 00095 return triggerMode; 00096 } // getTriggerMode() 00097 00104 int getOverSample() { 00105 return overSample; 00106 } // getOverSample() 00107 00114 bool isDiscardFirstSample() { 00115 return discardFirstSample; 00116 } // isDiscardFirstSample() 00117 00118 std::ostream &print( std::ostream &out ); 00119 }; // class AI16_DataSet 00120 00121 } // namespace AIOUSB 00122 00123 #endif 00124 00125 /* end of file */