Below is the current state of the code, corresponding to the release v5r26 of CalRecon.
Structure of CalRecon v5r26
The proposal below is trying to go one step closer to TkrRecon, and one step toward future TDS classes. The original main algorithm is splitted in two actors, one for clustering, one for corrections. The latter, CalEnergyAlg, has default tools which depends on the instance name (same mechanism as in TkrReconAlg). In the second daigram, we show that the former kernel tool is made a package service, which is closer to its actual role.
Proposal 1: two top level algorithms
Proposal 2: the former kernel tool is made a package service