Skip to content
Dmitry Romanov edited this page Dec 1, 2015 · 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 shipped with JANA framework now. It is based 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. The changes are done without any care about user code which is happened to use the API.

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