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.
- feels like there should be a one-to-one correspondence between DetType and the "-D" option to the drp executable?
- DetectorId 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 id's from the hardware and ignore the command line.
- 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)
- 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