Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In general xtcdata/xtc/ShapesData.hh::Name names should be python compatible containing only A-Z,a-z,0-9,_.  Unfortunately there are exceptions that make general naming conventions difficult to enforce in "attributes" xtcdata/xtc/ShapesData.hh::Name.  Note that python-compatibility is enforced for the "detector name" in the higher-level ShapesData.hh::Names.  The exceptions for "Name:"

  • ENUMDICT and ENUMVAL types have special handling that requires a ":".
  • Attributes (e.g. attr1, attr2 in evt._dgrams[nDgram].detname[nSegment].drpClassName.attr1.attr2...) are created by adding "." in the names.
  • I think if no alias is specified for epics variables then the ugly epics name is used (often having ":", ".", maybe others, but I haven't seen any)
    • feels like we should prevent "." in the xtc name for epics vars, given the fatal error below where "." is incorrectly interpreted as an attribute delimeter
  • in the case of step-scans I think the epics variables have no python-compatible alias name. Need to avoid "." here too?

For epics vars with ":" psana handles it correctly by using getattr() for epics vars.  But that character does not work for names that are not epics/enumdict/enumval.

...