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