Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Controlling the Genie Sequence Analyzer w/ the Genie 2K Programming Library

  1. Feb 18, 2009 #1
    Has anybody written programs that call the Genie 2000 SequenceAnalyzer object from the Genie 2000 Programming library?

    I am trying to do a peak locate, followed by a peak area computation, then write the results to a report file. The Analyze method says the sequence executes without problems (it returns S_OK), and it claims to have executed all 4 steps in the sequence. I specified a full path to the report file and asked Analyze to generate a report, but I cannot find the report file anywhere on my system.

    My code is written in MS Visual Studio 2008 C++. The actual call looks like this:

    seqAnalyzer->Analyze(dataAccess, &step, bsName, VARIANT_FALSE,

  2. jcsd
  3. Feb 21, 2009 #2
    I still cannot get Genie2K to produce the report, but I have found out how to get the information out. In case anyone is interested, here is how to get the peak area of all of the peaks (leaving out all error checking for clarity):

    Code (Text):
    long nPeaks;
    float *peakArea;
    dataAccess->get_NumberOfRecords(DataAccess::CAM_CLS_PEAK, (DataAccess::ParamCodes)0, &nPeaks));
    peakArea = new float[nPeaks];
    for (int peak = 1 ; peak <= nPeaks ; ++peak) {
    [INDENT]dataAccess->get_Param(DataAccess::CAM_F_PSAREA, peak, 0, &result);
    peakArea[peak] = result.fltVal;
    The get_NumberOfRecords method retrieves the number of peaks found in the analysis, then the for loop reads the parameter associated with the area of each peak using get_Param. Other peak properties listed near CAM_F_PSAREA in the manual can be extracted similarly.

    I still cannot get the API to generate the report. The analyze batch command and Gamma Acquisition & Analysis programs both generate reports for the same .ASF file. What I really wanted were numbers in the report to use elsewhere in my program. Now that I can get them more directly, I do not care so much...
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook