Relation between components and datasources

Let's look at an example of the nxsconfig info command. E.g.

haspp08% nxsconfig info -s haspp08mono:10000/p08/nxsconfigserver/haspp08 default

    Component: 'default'

source_name      source_type nexus_type   shape strategy source
---------------- ----------- ------------ ----- -------- -----------------------------------------------
sample_name      CLIENT      NX_CHAR            INIT     sample_name
chemical_formula CLIENT      NX_CHAR            INIT     chemical_formula
energylom        TANGO       NX_FLOAT           INIT     haspp08mono:10000/p08/lomenergy/exp.01/Position
beamtime_id      CLIENT      NX_CHAR            INIT     beamtime_id
start_time       CLIENT      NX_DATE_TIME       INIT     start_time
end_time         CLIENT      NX_DATE_TIME       FINAL    end_time
title            CLIENT      NX_CHAR            INIT     title
prints information about the default component. Here,

The second example

haspp08% nxsconfig info -s haspp08mono:10000/p08/nxsconfigserver/haspp08 lom

    Component: 'lom'

source_name    source_type nexus_type shape strategy source
-------------- ----------- ---------- ----- -------- -----------------------------------------------
energylom      TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lomenergy/exp.01/Position
lom1reflection PYEVAL      NX_INT     ['*'] INIT
\lom1lat       TANGO                        INIT     haspp08mono:10000/p08/lom/exp.02/Position
lom1tblroll    TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.11/Position
lom1tblpitch   TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.12/Position
lom1tblperp    TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.10/Position
lom1pitch      TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.01/Position
lom1lat        TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.02/Position
lom1lin        TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.03/Position
lom2reflection PYEVAL      NX_INT     ['*'] INIT
\lom2lat       TANGO                        INIT     haspp08mono:10000/p08/lom/exp.05/Position
lom2tblroll    TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.14/Position
lom2tblpitch   TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.15/Position
lom2tblperp    TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.13/Position
lom2pitch      TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.04/Position
lom2lat        TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.05/Position
lom2lin        TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.06/Position
lomfoil        TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.07/Position
lomrtclhgt     TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.08/Position
lomrtcllat     TANGO       NX_FLOAT64       INIT     haspp08mono:10000/p08/lom/exp.09/Position
shows the 'lom' component from P08.

The PYEVAL datasource, which corresponds to a simple python script, usually depends on other datasources. For example, lom1reflection depends on lom1lat. To mark this dependency lom1lat is preceded by the '\' character.

Moreover, the shape of lom1reflection is given by ['*']. Here, '*' denotes that the dimension length is taken automatically from the data size. In this case it will be 3.

If a component motor is selected to be scanned or it is selected in the detector tab of 'nxselector', i.e. it is added to the active measurement group as a tango device, then in the final configuration the NeXus sardana recorder will change this motor strategy from INIT to STEP.