Introduction ============ Scope ----- The scTDC software development kit (SDK) for the C and C++ programming languages enables the creation of custom user applications for a selection of products built by Surface Concept GmbH: * stand-alone time-digital converters (TDC) * delayline detectors (DLD) * ReconFlex\ :sup:`TM` cameras SDK contents ------------ This SDK comprises 1. a set of shared libraries (the main library is a file ``scTDC1.dll`` for MS Windows, or ``libscTDC.so`` for Linux systems). The library files are provided in two variants: - for 32-bit applications (``lib_x86`` folder) - for 64-bit applications (``lib_x64`` folder) 2. header files for C/C++. User code needs to ``#include <...>`` these files to use functions of the library 3. code examples (in separate files + :ref:`in this document `) 4. this document Alternatives ------------ Custom user applications can also be developed using 1. our Python SDK 2. our LabView instrument driver. These alternatives make it easier to learn about application development for our products and may provide better integration with existing user software (for example, integration with other devices at the user site which are already controlled from LabView). Features -------- The strong points of this SDK for C/C++ are 1. access to the highest possible performance 2. highest flexibility with regard to reading and processing of data 3. full coverage of functionality. This SDK will always provide the newest features first, before they will be integrated into the Python and LabView support. General usage scheme -------------------- Any application for operating the products supported by this SDK will involve the following steps: 1. Initialization of the hardware (TDC, DLD, or camera) 2. Configuring which kind of data are produced by the library 3. Starting a measurement (once or repeatedly) 4. Reading and processing of data 5. Deinitialization of the hardware These steps will be covered in the following sections.