I have done most of the work with the IMU simulation on HP's at Wisconsin. Aside from a catastrophic OS upgrade, this provided a stable platform with lots of spare CPU.
I provided code for the iron, the magnetic field, the beam pipe, toroids, and the wall and plug hadron. I translated the code others wrote for the central, plug E/M, silicon, CMU, and CMX. This runs in a Fortran framework without A_C. Although I make an IMUE bank, and have dumped it and checked it, I don't use it in my own analysis.
I use ISAJET to generate a HEPEVT file of minimum bias events, and HEP2GEANT to load them into the GEANT job.
This framework has the advantages of stability and speed. I could work independent of changes made to the GEANT C++ infrastructure. The pieces of the IMU simulation are reasonably simple, and I forsee no problems in translating this to C++.