NEXT : G4 Optical Step Collection ====================================== Objective ----------- CG4 steered simulation running from GDML geometry with natural optical steps propagated with Opticks (using OpticksMgr) and hits passed back to CG4 Stages ------- * Revisit optical step collection within cfg4-, add natural collection of both Cerenkov and Scintillation process steps into one buffer * The OpticksMgr integration will need to happen in new package **okg4-** but the G4 level step collection can be developed first with cfg4- and tested on genstep file basis with OpticksMgrTest * generalize genstep material code mapping/lookup Review old collection with G4DAEChroma ------------------------------------------ * http://simoncblyth.bitbucket.org/env/notes/chroma/G4DAEChroma/ * *gdc-* developed in ~/env/chroma/G4DAEChroma * some version was copied into Dayabay NuWa svn Utilities * Tao also integrated some version into JUNO ~/offline/Simulation/DetSimV2/G4DAEChroma * expect should be straightforward enough to incorporate into Opticks cfg4- ? G4DAEChroma Observations ~~~~~~~~~~~~~~~~~~~~~~~~~~ * was developed in an earlier (more complicated) era when was using python Chroma, so had to handle distributed operation over ZMQ, metadata, database ! * had not settled on step transport * much of gdc- array handling, serialization is obsolete, now that have opticks npy-/NPY and lots of experience using it * yuck : even some ROOT TObject serialization stuff in G4DAEChromaPhotonList which is totally obsolete * *gdc-* is half the story, see also *csa-* *csa-* originally named after ChromaStackAction, but now handles DetSimChroma ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Was intended to be renamed *dsc-* for DetSimChroma but that never happened. * sources in ~/env/nuwa/detsim/src * DsChromaG4Scintillation.cc G4DAEChroma Things to plunder : looks like very little, NPY handles most of it ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * G4 workflow : G4DAEChroma::BeginOfRun EndOfRun BeginOfEvent ... * G4DAESensDet::MakeTrojanSensDet G4 trojan SD to sneak hits into G4 hit collections en-masse Approach to reviving optical step collection ----------------------------------------------- * raid G4DAEChroma for the minimum necessary amount of code to do optical step collection within a new class for this **OpticksG4Collector** in opticks cfg4- * initially avoid all the bells and whistles, no ZMQ, no metadata, no database, ... that complexity can hopefully be totally avoided with the C++ opticks DONE : Near Standard G4 Scintillation/Cerenkov Step Collection ------------------------------------------------------------------ Test with:: op --tcfg4 --g4gun CG4Test --g4gun ## same as above TODO: details of scintillation generation, compare Opticks vs G4 generated distrib -------------------------------------------------------------------------------------