libapogee  3.0.3079
apogee/CamGen2Base.h
00001 
00013 #ifndef CAMGEN2BASE_INCLUDE_H__ 
00014 #define CAMGEN2BASE_INCLUDE_H__ 
00015 
00016 #include "ApogeeCam.h" 
00017 #include <string>
00018 
00019 class DLL_EXPORT CamGen2Base  : public ApogeeCam
00020 { 
00021     public: 
00022         virtual ~CamGen2Base(); 
00023 
00024         CameraStatusRegs GetStatus();
00025         Apg::Status GetImagingStatus();
00026 
00027         void GetImage( std::vector<uint16_t> & out );
00028 
00029         void StopExposure( bool Digitize );
00030 
00031         uint32_t GetAvailableMemory();
00032 
00033         int32_t GetNumAds();
00034 
00035         double GetCoolerDrive();
00036 
00037         double GetTempHeatsink();
00038 
00039     protected:
00040         CamGen2Base(const uint16_t FirmwareRev,
00041                 const uint16_t Id, 
00042                 CamModel::PlatformType platform);
00043 
00044         CamGen2Base(CamModel::PlatformType platform);
00045 
00046         uint16_t ExposureZ();
00047 
00048         uint16_t GetImageZ();
00049 
00050         uint16_t GetIlluminationMask();
00051 
00052         void DefaultStartExposure( double Duration, bool IsLight, bool IssueReset=true );
00053 
00054     private:
00055         const std::string m_fileName;
00056 
00057         //disabling the copy ctor and assignment operator
00058         //generated by the compiler - don't want them
00059         //Effective C++ Item 6
00060         CamGen2Base(const CamGen2Base&);
00061         CamGen2Base& operator=(CamGen2Base&);
00062 }; 
00063 
00064 #endif