Here are the classes, structs, unions and interfaces with brief descriptions:
| clFactory | The class is a factory for the OpenCl contexts, command queues and kernels. It is also a pool manager for the queues created |
| clQueue | This class contains an OpenCl environment ready for the use |
| CPSO | This class represents the Search method Cooperative Particle Swarm Optimization (CPSO) |
| Debug | This static class is responsible for controlling all the debug information that is produced by the program |
| fits_out_buffer | This struct is a buffer to store 3D results in double format |
| fits_ptr | This struct is a pointer to navigate into a FITS file |
| fits_result | This struct contains all the basic data necessary to estimate the PSF, and contains the buffers to store the results |
| FitsManager | This class is responsible for managing the input and output FITS files |
| kernel_set | This struct data type contains the complete kernel configuration and its mutex to synchronize the calls |
| kernel_t | This struct data type contains the OpenCl cl_kernel instance and its mutex to synchronize the calls |
| PSF | This class represents the PSF |
| PsfEstimator | This class is a pool manager for the PSF Estimation methods |
| TimeTracker | This class keeps track of the system elapsed time and the CPU clock counter |
| word_out_buffer | This struct is a buffer to store 3D results in WORD format |