You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Pds::Epics Namespace Reference.

EPICS (Experimental Physics and Industrial Control System) is used for hardware control and readout of hardware status, values etc. These are called process variables (PV). pdsdata contains a package that holds the epics classes needed to read the process variables from the xtc file. This is not even a complete documentation of these classes, as it would be unneccesarily detailed. Here we aim just to include the main ingredients and what the user need to know to extract the data.

Class EpicsPvHeader

Public Member Functions:

   EpicsPvHeader( short int iPvId1, short int iDbrType1, short int iNumElements1 ) :
                  iPvId(iPvId1),
                  iDbrType(iDbrType1),
                  iNumElements(iNumElements1)  {}

    int printPv() const;

    static void* operator new(size_t size, char* p)     { return p; }
    // Disable ordinary (non-placement) new: only placement new and memory mapped objects are allowed
    // Disable placement delete: Not allow to delete memory mapped objects

Class EpicsPvCtrlHeader

/**
 * Layout of the EpicsPvCtrlHeader
 *
 *---------------------------------- EpicsPvHeader ---------------------------------------------
  *---------------------+-----------------+--------------+------------------------------------
 * Name                | Length(Bytes)   |     Type     |    Description
 *---------------------+-----------------+--------------+------------------------------------
 * iPvId                      2              Int16        Pv Id
 * iDbrType                   2              Int16        Epics Data Type
 *                                                           Ctrl Types: DB_CTRL_STRING ~ DBR_CTRL_DOUBLE
 * iNumElements               2              Int16        Size of Pv Array
 *
 *---------------------------------- EpicsPvCtrlHeader ---------------------------------------------
 *---------------------+-----------------+--------------+------------------------------------
 * Name                | Length(Bytes)   |     Type     |    Description
 *---------------------+-----------------+--------------+------------------------------------
 * sPvName              _iMaxPvNameLength   char []       Null-terminated string,
 */

Class EpicsPvCtrl<iDbrType1,EpicsPvBase>

Class EpicsPvTime<iDbrType1,EpicsPvBase>

Pds::Epics Namespace

  • No labels