DDscat.C++ User and programmer guide
  DDscat.C++ 7.3.0 is a freely available open-source C++ software package applying the "discrete dipole approximation" (DDA) to calculate scattering and absorption of electromagnetic waves by targets with arbitrary geometries and a complex refractive index. DDscat.C++ is a clone of well known DDscat Fortran-90 software. We refer to DDscat as to the parent code in this document. Versions 7.3.0 of both codes have the identical functionality but the quite different implementation. Started as a teaching project, the DDscat.C++ code differs from the parent code DDscat in programming techniques and features, essential for C++ but quite seldom in Fortran.   As DDscat.C++ in its current version is just a clone, usage of DDscat.C++ for electromagnetic calculations is the same as of DDscat. Please, refer to "User Guide for the Discrete Dipole Approximation Code DDSCAT 7.3" to start using the code(s).   This document consists of two parts. In the first part we present Quick start guide for users who want to begin to use the code. Only differencies between DDscat.C++ and DDscat are explained. The second part of the document explains programming tips for the persons who want to change the code, to add the functionality or help the author with code refactoring and debugging. 
Vasyl Choliy
physics.comp-ph cs.MS