Few notes on g2t_ tables

grep g2t_ $STAR/StRoot/St*/{,*}/*.cxx | awk '//{ print $1}' | sort --unique

Approximately 50 places in the code where g2t_ tables are utilized.  Mostly in utility classes, user classes and fast / slow simulators. 

I assume that fast/slow simulators use only the table relevant to the subsystem which is being simulated.  Or perhaps they pull in information about the vertex.  If we replace g2t with another structure, then the software coordinators would need to arrange for updates to ~10-20 codes.  (In the case of the EEMC, this dependence is buried far down in utilities directory, BTW.)

StGenericVertexMaker uses vertex information for creating an 'evalulation ntuple'.  This could be removed and / or reshaped quickly.  Probably... (Did not trace dependency of this maker.. perhaps we don't use this much any more?)

Big concerns are StMcEvent and St_geant_Maker.  These are heavily dependent on g2t_ tables.  Would need to reshape them significanly if we moved away from tables.  OTOH, these two would need to be updated with a new g2t table each time one is added.  It is unlikely we need to add to other codes.

-----------------------

I see no reason to migrate away from g2t_ tables.

----------------------------------------

Take 2:  A little more agressive of the grepping now:

grep --recursive g2t_ $STAR/StRoot/* | awk '//{ print $1}' | grep :$ | sort --unique > list

Results in (with afs paths stripped):

StRoot/macros/analysis/tpcdraw.C:                                 StRoot/macros/analysis/TwoSideDraw.C:
StRoot/macros/examples/geant.C:                                   StRoot/macros/examples/trsNtuple.C:
StRoot/macros/graphics/EventPanel.C:                              StRoot/macros/graphics/HitsDraw.C:
StRoot/macros/graphics/TrackFilters/StTrackFilter.cxx:            StRoot/macros/graphics/TrackFilters/StTrackFilter.h:
StRoot/macros/graphics/TurnDisplay.C:                             StRoot/StBbcSimulationMaker/StBbcSimulationMaker.cxx:
StRoot/StBbcSimulationMaker/StBbcSimulationMaker.h:               StRoot/StBFChain/doc/StBFChain.cxx_doc:
StRoot/StBFChain/StBFChain.cxx:                                   StRoot/StBTofSimMaker/StBTofSimMaker.cxx:
StRoot/StBTofSimMaker/StBTofSimMaker.h:                           StRoot/StBTofUtil/StBTofGeometry.cxx:
StRoot/St_ctf_Maker/St_ctf_Maker.cxx:                             StRoot/StEEmcPool/LCP/StGeant2LcpTreeMaker.cxx:
StRoot/StEEmcPool/macros/LCP/rdMuDst_Geant2print.C:               StRoot/StEEmcPool/macros/rdMuDst_Geant2print.C:
StRoot/StEEmcUtil/EEmcMC/EEmcMCData.cxx:                          StRoot/StEEmcUtil/EEmcMC/EEmcMCData.h:
StRoot/StEEmcUtil/macros/checkvol.kumac:                          StRoot/StEEmcUtil/macros/dump.C:
StRoot/StEEmcUtil/macros/eemc.C:                                  StRoot/StEEmcUtil/macros/fzd2bin.C:
StRoot/StEEmcUtil/macros/fzd_decode.C:                            StRoot/StEEmcUtil/macros/rdGeant.C:
StRoot/StEEmcUtil/macros/rdMuDst_Geant2print.C:                   StRoot/StEEmcUtil/macros/test_vol.kumac:
StRoot/StFtpcClusterMaker/StFtpcClusterMaker.cxx:                 StRoot/StFtpcClusterMaker/StFtpcFastSimu.cc:
StRoot/StFtpcClusterMaker/StFtpcGeantReader.cc:                   StRoot/StFtpcClusterMaker/StFtpcGeantReader.hh:
StRoot/StFtpcSlowSimMaker/StFtpcSlowSimMaker.cxx:                 StRoot/StFtpcTrackMaker/StFtpcTrackEvaluator.cc:
StRoot/StFtpcTrackMaker/StFtpcTrackEvaluator.hh:                  StRoot/StFtpcTrackMaker/StFtpcVertex.cc:
StRoot/St_geant_Maker/St_geant_Maker.cxx:                         StRoot/St_geant_Maker/St_geant_Maker.h:
StRoot/StGenericVertexMaker/StCtbUtility.cxx:                     StRoot/StGenericVertexMaker/StGenericVertexMaker.cxx:
StRoot/StGenericVertexMaker/StiPPVertex/CtbHitList.cxx:           StRoot/StGenericVertexMaker/StiPPVertex/StPPVertexFinder.cxx:
StRoot/StGenericVertexMaker/StiPPVertex/Vertex3D.cxx:             StRoot/StGenericVertexMaker/StppLMVVertexFinder.cxx:
StRoot/StJetMaker/mudst/StjMCKinMuDst.cxx:                        StRoot/StJetMaker/mudst/StjMCMuDst.cxx:
StRoot/StJetMaker/StJetSimuUtil/macros/StMcEventReadMacro.C:      StRoot/StJetMaker/St_pythia_Maker.cxx:
StRoot/StMcEvent/doc/index.html:                                  StRoot/StMcEvent/doc/tex/StMcEvent.tex:
StRoot/StMcEventMaker/StMcEventMaker.cxx:                         StRoot/StMcEventMaker/StMcEventMaker.h:
StRoot/StMcEvent/StMcCtbHit.cc:                                   StRoot/StMcEvent/StMcCtbHit.hh:
StRoot/StMcEvent/StMcEvent.cc:                                    StRoot/StMcEvent/StMcEvent.hh:
StRoot/StMcEvent/StMcFgtHit.hh:                                   StRoot/StMcEvent/StMcFtpcHit.hh:
StRoot/StMcEvent/StMcHit.cc:                                      StRoot/StMcEvent/StMcHit.hh:
StRoot/StMcEvent/StMcIstHit.hh:                                   StRoot/StMcEvent/StMcPixelHit.hh:
StRoot/StMcEvent/StMcRichHit.hh:                                  StRoot/StMcEvent/StMcSsdHit.hh:
StRoot/StMcEvent/StMcSvtHit.hh:                                   StRoot/StMcEvent/StMcTofHit.hh:
StRoot/StMcEvent/StMcTpcHit.hh:                                   StRoot/StMcEvent/StMcTrack.cc:
StRoot/StMcEvent/StMcTrack.hh:                                    StRoot/StMcEvent/StMcVertex.cc:
StRoot/StMcEvent/StMcVertex.hh:                                   StRoot/StPeCMaker/StPeCGeant.cxx:
StRoot/StPeCMaker/StPeCParticle.h:                                StRoot/StPixelFastSimMaker/StPixelFastSimMaker.cxx:
StRoot/StPmdSimulatorMaker/StPmdSimulatorMaker.cxx:               StRoot/St_QA_Maker/doc/index.html:
StRoot/St_QA_Maker/doc/qa_histograms.html:                        StRoot/StRTSClient/FCFMaker/FCFMaker.cxx:
StRoot/StSpinPool/StChargedPionAnalysisMaker/StChargedPionMaker.cxx:
StRoot/StSpinPool/StMCAsymMaker/StMCAsymMaker.cxx:                StRoot/StSpinPool/StMCAsymMaker/StMCAsymMaker.h:
StRoot/St_srs_Maker/St_sfs_Maker.cxx:                             StRoot/StSsdFastSimMaker/StSsdFastSimMaker.cxx:
StRoot/StSsdSimulationMaker/St_sls_Maker.cxx:                     StRoot/StSsdSimulationMaker/St_sls_Maker.h:
StRoot/StSvtSimulationMaker/StSvtSimulationMaker.cxx:             StRoot/StTableUtilities/StG2TTpcChair.h:
StRoot/StTableUtilities/StHitChair.h:                             StRoot/St_tcl_Maker/StTpcFastSimMaker.cxx:
StRoot/StTofSimMaker/StTofSimMaker.cxx:                           StRoot/StTofSimMaker/StTofSimMaker.h:
StRoot/StTofUtil/StTofrGeometry.cxx:                              StRoot/StTpcRSMaker/StTpcRSMaker.cxx:
StRoot/StTrsMaker/doc/trs.tex:                                    StRoot/StTrsMaker/examples/maker.cc:
StRoot/StTrsMaker/include/g2t_tpc_hit.hh:                         StRoot/StTrsMaker/src/StTrsChargeSegment.cc:
StRoot/StTrsMaker/StTrsMaker.cxx:                                 StRoot/StTrsMaker/StTrsMaker.h:

-----------------------

05/07/2010
A few more notes:  after yesterday's vmc meeting, the idea of developing a single table definition was discussed.  The table would be a union of all existing tables, with some of the names changed to eliminate the degeneracy between "energy, Energy, ener, E, etc...".  Then this single table would be made available as multiple 'versions' by setting up typedefs, so that the underlying code librabries do not change.