Skip to content
Dmitry Romanov edited this page Jun 28, 2017 · 15 revisions

C++ Overview

 +------------------+      +------------------+
 |   User C++ API   |  --  |     JANA API     |
 +------------------+      +------------------+
           |
+---------------------+
|  Under the hood API |
+---------------------+

CCDB C++ library consists of separate levels (see fig. \ref{pic:cpp_api_levels}).

  • C++ User API - This level is most probably what any user, who is not bound to JANA, needs. The API provides simple functionality to get constants. It automates connections number, multi-threading, data source selection, etc.

  • JANA API - This level integrates CCDB and JANA framework. JANA API is now shipped with JANA framework. Architecturally it is based on Users C++ API.

  • Under the hood API - This level considered to be internal and could be interesting only in terms further development of CCDB. Regular users should not use classes from this level

    Low level API is subject to change for better CCDB performance and stability. Changes are done without any remorse to any user code which that uses the API.

    That is the reason why Low level API should be kept separated and used only in CCDB higher levels.