Software Review: StFmsSimulatorMaker

1. Code Organization

    StFmsSimulatorMaker should reside in its own directory, outside of a pool area:  StRoot/StFmsSimulatorMaker/

2. getDetectorId()

    Should define and use an enum rather than returning constants

    enum { kNorth=1, kSouth, kNorthPre, kSouthPre, kNorthLarge=8, kSouthLarge, kNorthSmall, kSouthSmall }

3. Code uses StMcEvent as input for MC hit information.  It should use the FPD hit table from the geant tables instead.   

       St_g2t_emc_hit *g2t_fpd_hitTablePointer =  (St_g2t_emc_hit *) geantDstI("g2t_fpd_hit");
       etc...

4. Code gets a global pointer to the FMS DB maker, rather than obtaining a pointer to it through a GetDataSet call... e.g.

       mDB = GetDataSet("fmsDb");

5. See StRoot/StEEmcSimulatorMaker/StEEmcSlowMaker.h for an appropriate level of documentation.  Make use of doxygen markup so that the documenation is exported to the STAR doxygen web pages.

6.  int --> Int_t, float --> Float_t etc...

7.  I don't see alot of functionality in this maker.  It looks like it only converts geant energy deposit to an adc pulse with no pedestal offset, no simulation of phototube response, attenuation of light, etc... I know that alot of effort has gone into reproducing the shower shapes in the FMS simulations... but I don't see it reflected here.  Please comment.