There are two threads that need to be supported:
- a) conversion from ray tracer output to general photon database and b) conversion from general photon database to source input to MCCL, and
- a) conversion from MCCL reflectance output to general photon database and b) conversion from that database to raytracer input.
Once 1)b) and 2)a) are coded, MCCL will be shielded from the particulars of the raytracer output/input. Initial plan is to use existing PhotonDataPoint and PhotonDatabase classes to define general photon database for 1)b) and 2)a), and use existing PhotonDatabaseWriter and PhotonDatabase.FromFile to write and read from this database, respectively. PhotonDataPoint includes Position, Direction, weight, totalTime and PhotonStateType. Need to assess whether all of these fields are needed, possibly others need to be added. Also need to consider database size.
Initially code for 1)a) and 2)b) will be done in Python.