Project

General

Profile

Using NucondbFolders

Nucondb Folders are C++ client objects to access the web interface of The IOV data storage
browsable here, curently setup for Minerva. Details are on the DB Applications Minerva Page

The IOV data is grouped into folders, and has named data per channel per time window.

Using the client package in C++ looks like:

#include "nucondb.h" 

...

   static double d[8];

   try {

     std::unique_ptr<Folder> pf(new Folder("minerva_atten_id", "http://dbweb0.fnal.gov:8088/mnvcon_int/app","old"));

     pf->getNamedChannelData(
         1300969766.0,
         1210377216,
         "atten,atten_error,amp,amp_error,reflect,reflect_error",
         &d[0], &d[1], &d[2], &d[3], &d[4], &d[5]
        );

   } catch (WebAPIException we) {
      std::cout << "Exception:" << &we << std::endl;
   } 

Methods

Constructor

The constructor for a conditions data folder takes several parameters

  • Folder name -- folder data name in the database
  • URI -- where to find the web interface for the data
  • tag name -- (optional) a tag revision of the conditions data to
    reference, default is current data.

getNamedChannelData(when, chan, names, &d1, &d2,...)

  • when -- double time in seconds of when to fetch data
  • chan -- channel number
  • names -- comma separated list of value names
  • d1,d2,... -- address of doubles/strings/etc. to put resulting data into, one per name in the "names" list.

getCacheStartTime(), getCacheEndTime()

These methods return the start/end time of the cache.