//////////////////////////// // APPEND COMMON HORIZONTALS void CcdAcqParams::AppendCommonHorizontals( std::vector< std::pair<uint16_t,uint16_t> > & settings, const uint16_t pixelShift) { // Validate the ROI params const uint16_t UnbinnedRoiCols = GetCcdImgCols() * GetCcdImgBinCols(); const uint16_t PreRoiSkip = m_RoiStartCol; const uint16_t PostRoiSkip = CalcHPostRoiSkip( PreRoiSkip, UnbinnedRoiCols ); if ( !IsColCalcGood( UnbinnedRoiCols, PreRoiSkip, PostRoiSkip) ) { std::stringstream msg; msg << "Invalid calculated number of ccd cols "; msg << ". Max number of cols is " << GetTotalCcdCols() << "."; apgHelper::throwRuntimeException( m_fileName, msg.str(), __LINE__, Apg::ErrorType_InvalidUsage ); } settings.push_back( std::pair<uint16_t,uint16_t>( CameraRegs::PREROI_SKIP_COUNT, PreRoiSkip) ); settings.push_back( std::pair<uint16_t,uint16_t>( CameraRegs::ROI_COUNT,GetCcdImgCols()+pixelShift) ); settings.push_back( std::pair<uint16_t,uint16_t>( CameraRegs::POSTROI_SKIP_COUNT, PostRoiSkip) ); }
//////////////////////////// // IS COL CALC GOOD bool AltaCcdAcqParams::IsColCalcGood( const uint16_t UnbinnedRoiCols, const uint16_t PreRoiSkip, const uint16_t PostRoiSkip) { const uint16_t TotalCols = UnbinnedRoiCols + PreRoiSkip + PostRoiSkip + m_CamData->m_MetaData.ClampColumns; return ( TotalCols == GetTotalCcdCols() ? true : false ); }