00001 00013 #ifndef QUAD_INCLUDE_H__ 00014 #define QUAD_INCLUDE_H__ 00015 00016 00017 #include "CamGen2Base.h" 00018 #include "CameraInfo.h" 00019 #include <string> 00020 00021 class DLL_EXPORT Quad: public CamGen2Base 00022 { 00023 public: 00024 Quad(); 00025 00026 virtual ~Quad(); 00027 00028 void OpenConnection( const std::string & ioType, 00029 const std::string & DeviceAddr, 00030 const uint16_t FirmwareRev, 00031 const uint16_t Id ); 00032 00033 void StartExposure( double Duration, bool IsLight ); 00034 00035 bool IsPixelReorderOn() { return m_DoPixelReorder; } 00036 00037 void SetPixelReorder( const bool TurnOn ) { m_DoPixelReorder = TurnOn; } 00038 00039 int32_t GetNumAdChannels(); 00040 00041 double GetTempHeatsink(); 00042 00043 void Init(); 00044 00045 protected: 00046 Quad(const std::string & ioType, 00047 const std::string & DeviceAddr); 00048 00049 void FixImgFromCamera( const std::vector<uint16_t> & data, 00050 std::vector<uint16_t> & out, int32_t rows, int32_t cols ); 00051 00052 void CreateCamIo(const std::string & ioType, 00053 const std::string & DeviceAddr); 00054 00055 bool IsRoiCenteredAndSymmetric(uint16_t ccdLen, uint16_t startingPos, uint16_t roiLen ); 00056 00057 void ExposureAndGetImgRC(uint16_t & r, uint16_t & c); 00058 00059 private: 00060 void FullCtorInit( const std::string & ioType, 00061 const std::string & DeviceAddr ); 00062 00063 void CfgCamFromId( uint16_t CameraId ); 00064 void VerifyCamId(); 00065 00066 const std::string m_fileName; 00067 bool m_DoPixelReorder; 00068 00069 Quad(const Quad&); 00070 Quad& operator=(Quad&); 00071 }; 00072 00073 #endif