Page History
...
- We don't need to number Configure:0000 and Run:0000
- we only translate one run per file.
- Lets make a root group called Data. Main groups:
/Data
/Data/Run
- Make a new group for Configure Data
Now, we have
/Configure:0000/TypeA
/Configure:0000/TypeB
/Configure:0000/Run:0000
why not put all Config data, TypeA, TypeB in one place?
/Data
/Data/Config this in turn will have TypeA and TypeB as children
/Data/Run
Put Epics in its own group and remove Epics Source name with Arch from Schema
/Data/EpicsConfig
/Data/Config
/Data/Run
/Data/Run/Step:0000/Epics/pvName
Invert Type/Src relationship
/Data/Config/SrcA/TypeA
/Data/Config/SrcA/TypeB
/Data/Config/SrcB/TypeA
Use DAQ aliases when possible.
/Data/Config/alias
/Data/Config/alias/TypeA
/Data/Config/alias/TypeB
/Data/Config/SrcB/TypeA
Translator option for a alias.
Sometimes inverting type/src makes it harder to find data. An example is timetool data. It will be attached to a source like opal_1, but the user may not know this. They will be looking for timetool data and now they have to go through all the sources, for all the ipimb's, etc. The thought is to allow the user to specify a one group alias name for a src/type combination. So, while the hdf5 file has
/Data/Run/Step:0000/
/Data/Run/Step:0000/opal_1/TimeToolData
we'll also create
/Data/Run/Step:0000/TimeToolData {Soft Link to} /Data/Run/Step:0000/opal_1/TimeToolDataUse type aliases in place of full C++ type names with version
Basically, we will eliminate the V* and the :: from the typenames
see section below for all aliases
Use Step:000x rather than CalibCycle:000x
separate config and epics in steps
/Data/Run/Step:0000/Config
/Data/Run/Step:0000/Epics
Psana Module Keystrings treated like types
if a module does
evt.put(myndarray,src,"mykey")
then we translate
/Data/Run/Step:0000/src/mykey
...