Since psana.Jungfrau.ConfigV3 Jungfrau provides per-segment access to class ModuleConfigV1 object with three methods
- moduleVersion()
- firmwareVersion()
- serialNumber()
returning 64-bit integer numbers. For better human readability the segment Id name can be formatted as '%020d-%020d-%020d', e.g. "00000000000001508613-00000000000003997943-00000022630721062933".
Then total, Jungfrau Id is a dash separated combination of sequential segment Id names, i.g. for two segments of exp=xcsls3716:run=631, XcsEndstation.0:Jungfrau.0 Id is 000000000001508613-000022630721062933-000000000003997872-000000000001508613-000022630721062933-000000000003997943.
Method, which returns Jungfrau and its segments' Ids is implemented in Detector/src/UtilsJungfrau.py, and can be used as shown in example:
import psana from Detector.UtilsJungfrau import id_jungfrau ds = psana.DataSource('exp=xcsls3716:run=631') src = psana.Source('XcsEndstation.0:Jungfrau.0') co = ds.env().configStore().get(psana.Jungfrau.ConfigV3, src) print('id_jungfrau(co,0)', id_jungfrau(co,0)) # prints segment 0 Id print('id_jungfrau(co,1)', id_jungfrau(co,1)) # prints segment 1 Id print('id_jungfrau(co) ', id_jungfrau(co)) # prints entire Jungfrau Id