From a conversation with Ric Claus on 3/17/2020. We are trying to impose some order on the values here:
(ps-2.0.5) drp-tst-dev012:lcls2$ detnames -r exp=tstx00417,run=32,dir=/ffb01/data/tst/tstx00417/xtc ------------------------------------------- Name | Det Type | Data Type | Version ------------------------------------------- smdinfo | offset | offsetAlg | 0_0_0 runinfo | runinfo | runinfo | 0_0_1 xpphsd | hsd | hsdConfig | 0_0_1 xpphsd | hsd | hsd | 1_2_3 pva | pva | pvaAlg | 1_2_3 xppcspad | cspad | cspadFexAlg | 1_2_3 xppcspad | cspad | cspadRawAlg | 1_2_3 epics | epics | epics | 0_0_1 ebeam | ebeam | ebeamAlg | 0_7_1 tmots | ts | tsConfig | 0_0_1 tmots | ts | ts | 0_0_1 ------------------------------------------- (ps-2.0.5) drp-tst-dev012:lcls2$
We suggest it be revised to this:
(ps-2.0.5) drp-tst-dev012:lcls2$ detnames -r exp=tstx00417,run=32,dir=/ffb01/data/tst/tstx00417/xtc ------------------------------------------- Name | Det Type | Data Type | Version ------------------------------------------- smdinfo | offset | offsetAlg | 0_0_0 runinfo | runinfo | runinfo | 0_0_1 tmohsd | hsd | config | 2_0_0 tmohsd | hsd | raw | 2_0_0 tmoandor | andor | raw | 2_0_0 tmocspad | cspad | fex | 2_0_0 tmocspad | cspad | raw | 2_0_0 epics | epics | raw | 2_0_0 ebeam | ebeam | raw | 2_0_0 tmots | ts | config | 2_0_0 tmots | ts | raw | 2_0_0 ------------------------------------------- (ps-2.0.5) drp-tst-dev012:lcls2$
Some thoughts on the choices above:
- by way of reminder: the detector-interface class is selected from dettype+datatype+version. the Name can be anything chosen by the hutch scientists and are used to look up configurations.
- feels like there should be a one-to-one correspondence between DetType and the "-D" option to the drp executable?
- SerialNumber strings (not listed in the above tables) which are used to look up calibration constants should be settable administratively on drp command-line, with a default of empty-string. some detectors (e.g. epix) will read those serial number's from the hardware and ignore the command line. Ideally this serial number (or an alias created by Mikhail) should be displayed in the above table.
- we shouldn't change smdinfo/runinfo at this point because they are hardwired into many files used by exafel
- we will start official version numbers at 2.0.0 (0,1 reserved for kludged early tests)
- we should endeavor to have a consistent raw data format for simple detectors with the same array rank (e.g. a simple 2D imaging detector) so they can all use the same detector interface class in psana (by inheritance). This is similar to the "FrameV1" idea in LCLS-I.
- the values for the Andor (a Pva detector) are perhaps the trickiest, since a Pva detector can be many things (andor, xtcav, waveform)
- the pva detector would ideally auto-detect it's array rank (1D, 2D...) and type (uint32_t, float64,...) to make it more flexible
- future less-generic pva detectors may do complex feature extraction (in some ideal world using "dlopen") and create complex data types
Overview
Content Tools