A Taste of CAFE
J.T.M.Chrin* (PSI)
CAFE (Channel Access interFacE) is a new C++ library that provides a multifaceted interface to the latest CA functions released with EPICS version 3.14. Functionality for both synchronous and asynchronous interactions has been implemented for individual, groups and collections of related channels. An abstract layer that addresses requirements dictated by beam dynamics applications has also been added. An XML-based configuration mechanism provides a convenient framework for users to define and initialize CAFE objects, e.g. for data analysis and/or visualization. Rules to flag members of a group/collection of CAFE objects, effectively modify a transaction to a selected subset, thereby allowing users to readily adapt to changes in a system during operation. CAFE is intended for use in C++ frameworks, such as Qt or ROOT, and presents itself as a candidate for event processing agents that, for example, capture machine physics data for inter-shot analysis at the SwissFEL. Python bindings to CAFE are also in preparation with basic read/write functionality already implemented. Once complete, the entire CAFE interface will be made available to users for rapid application development.