예제 #1
0
void CGridRFULimits::_SetRFUColumn(CLabRFU *pRFU, int nCol)
{
  _SetCellIntValue(ROW_RFU_MIN,       nCol,pRFU->GetMinRFU());
  _SetCellIntValue(ROW_RFU_INTERLOCUS,nCol,pRFU->GetMinRFUinterlocus());
  _SetCellIntValue(ROW_RFU_MAX,       nCol,pRFU->GetMaxRFU());
  _SetCellIntValue(ROW_DETECTION,     nCol,pRFU->GetMinDetection());
}
예제 #2
0
void CGridRFURunBase::_TransferToChannelRows(
    const vector<int> &anChannelRFU, 
    const vector<int> &anChannelDetection,
    int nDefaultRFU,
    int nDefaultDetection)
{
  if(!( anChannelDetection.empty() && anChannelRFU.empty() &&
    (nDefaultRFU < 0) && (nDefaultDetection < 0)
    ))
  {
    ChannelNumberIterator itrChannelCol;
    int nRow;

    for(itrChannelCol = m_vnChannelNumbers.begin(), 
            nRow = m_nROW_CHANNEL_START;
      itrChannelCol != m_vnChannelNumbers.end();
      ++itrChannelCol, ++nRow)
    {
      _SetCellIntValue( nRow,COL_DETECTION,
        GetVectorChannel(anChannelDetection,(*itrChannelCol)),
        nDefaultDetection);
      _SetCellIntValue( nRow,COL_ANALYSIS,
        GetVectorChannel(anChannelRFU,(*itrChannelCol)),
        nDefaultRFU);
    }
  }
}
bool CGridRFULimits::TransferDataToWindow()
{
  bool bRtn = (m_pData != NULL);
  if(bRtn)
  {
    CLabRFU *pRFU;
    for(int nCol = 0; nCol < COL_COUNT; ++nCol)
    {
      pRFU = m_apRFU[nCol];
      _SetCellIntValue(ROW_RFU_MIN,       nCol,pRFU->GetMinRFU());
      _SetCellIntValue(ROW_RFU_INTERLOCUS,nCol,pRFU->GetMinRFUinterlocus());
      _SetCellIntValue(ROW_RFU_MAX,       nCol,pRFU->GetMaxRFU());
      _SetCellIntValue(ROW_DETECTION,     nCol,pRFU->GetMinDetection());
    }
  }
  return bRtn;
}
예제 #4
0
bool CGridRFULimits::TransferDataToWindow()
{
  bool bRtn = (m_pData != NULL);
  if(bRtn)
  {
    int nCol;
    _ClearChannelColumns();
    _SetRFUColumn(m_pData->GetRFUsample(),m_nCOL_SAMPLE);
    _SetRFUColumn(m_pData->GetRFUladder(),m_nCOL_LADDER);
    _SetRFUColumn(m_pData->GetRFUls(),m_nCOL_ILS);

    CLabSampleChannelThresholdSet *pChannelSet = m_pData->GetChannelThresholds();
    CLabSampleChannelThresholdSet::iterator itr;
    for (itr = pChannelSet->begin(); itr != pChannelSet->end(); ++itr)
    {
      nCol = (*itr)->GetChannel() - 1 + m_nCOL_CHANNEL_START;
      _SetCellIntValue(ROW_RFU_MIN,nCol,(*itr)->GetMin());
      _SetCellIntValue(ROW_DETECTION,nCol,(*itr)->GetDetection());
    }
  }
  return bRtn;
}
예제 #5
0
bool CGridRFUParam::TransferDataToWindow()
{
  bool bRtn = (m_pParms != NULL) && !m_sKitName.IsEmpty();
  if(bRtn)
  {
    const vector<int> &anChannelDetection = m_pParms->GetChannelDetection();
    const vector<int> &anChannelRFU = m_pParms->GetChannelRFU();
    ClearGrid();
    _TransferToChannelRows(anChannelRFU,anChannelDetection);

    _SetCellIntValue(m_nROW_SAMPLE,COL_ANALYSIS,m_pParms->GetMinRFU_Sample());
    _SetCellIntValue(m_nROW_SAMPLE,COL_INTERLOCUS,m_pParms->GetMinRFU_Interlocus());
    _SetCellIntValue(m_nROW_SAMPLE,COL_DETECTION,m_pParms->GetSampleDetectionThreshold());
    _SetCellIntValue(m_nROW_LADDER,COL_ANALYSIS,m_pParms->GetMinRFU_Ladder());
    _SetCellIntValue(m_nROW_LADDER,COL_INTERLOCUS,m_pParms->GetMinLadderInterlocusRFU());
    _SetCellIntValue(m_nROW_ILS,COL_ANALYSIS,m_pParms->GetMinRFU_ILS());
  }
  return bRtn;
}