#!/bin/bash

## online.xml file as a first command-line parameter
if [[ -z $1 ]]; then
    onlinexml=""
else
    onlinexml=$1
fi

hname=$(hostname)
echo "hostname: $hname"

## NXSConfigServer name
if [ "$hname" == "haspp10lab" ]; then
    server="haspp10lab:10000/p10/nxsconfigserver/haspp10lab"
elif [ "$hname" == "haso228k" ]; then
    server="p06/nxsconfigserver/haso228"
else
    echo "Unknown host $hname"
    exit -1
fi

## create the configuration on the local file system
#stdopt="-d . -r $server"
#tgopt=""
#dsopt="-d . -r $server"
#cpopt="-d . -r $server"

## create the configuration in the NXSConfigServer DB
stdopt="-b -r $server -o -e haspp10lab:10000/p10/nxsconfigserver/haspp10lab"
tgopt="-b -r $server -o"
dsopt="-b -r $server $onlinexml -e haspp10lab:10000/p10/nxsconfigserver/haspp10lab"
cpopt="-b -r $server -o $onlinexml -e haspp10lab:10000/p10/nxsconfigserver/haspp10lab"


## online.xml datasources

nxscreate onlineds $dsopt


## default

nxscreate stdcomp -t default -m -c default longname "P10 Coherence Applications Beamline" shortname P10  $stdopt

## beamtime_id

nxscreate stdcomp -t beamtimeid -c beamtime_id shortname P10  $stdopt

## source

nxscreate tangods  -v petra/globals/keyword -s source_energy -u haspp10opt -t 10000 -a Energy $tgopt
nxscreate tangods  -v petra/globals/keyword -s source_current -u haspp10opt -t 10000 -a BeamCurrent $tgopt
nxscreate stdcomp -t source -c source beamcurrent source_current sourceenergy source_energy $stdopt

## undulator

nxscreate tangods  -v p10/undulator/1 -s undulator_harmonic -u haspp10opt -t 10000 -a Harmonic $tgopt
nxscreate tangods  -v p10/undulator/1 -s undulator_taper -u haspp10opt -t 10000 -a Taper $tgopt
nxscreate tangods  -v p10/undulator/1 -s undulator_gap -u haspp10opt -t 10000 -a Gap $tgopt
nxscreate tangods  -v p10/undulator/1 -s undulator_energy -u haspp10opt -t 10000 -a Position $tgopt
nxscreate stdcomp -t undulator -c undulator gap undulator_gap harmonic undulator_harmonic taper undulator_taper energy undulator_energy $stdopt

# ## pslit1

# nxscreate stdcomp -t slit -c pslit1 ygap ps1vgap yoffset ps1vcen $stdopt

# ## pslit2

# nxscreate stdcomp -t slit -c pslit2 ygap ps2vgap yoffset ps2vcen left ps2hleft right ps2hright $stdopt

# ## gslit1

# nxscreate stdcomp -t slit -c gslit1 ygap g1dy yoffset g1cy xgap g1dx xoffset g1cx top g1top bottom g1bottom left g1left right g1right $stdopt

# ## gslit2

# nxscreate stdcomp -t slit -c gslit2 ygap g2dy yoffset g2cy xgap g2dx xoffset g2cx top g2top bottom g2bottom left g2left right g2right $stdopt

# ## oslit1

# nxscreate stdcomp -t slit -c oslit1 ygap oslt1dy yoffset oslt1cy xgap oslt1dx xoffset oslt1cx top oslt1_top bottom oslt1_bottom left oslt1_left right oslt1_right $stdopt

# ## uslit1

# nxscreate stdcomp -t slit -c uslit1 ygap uslt1dy yoffset uslt1cy xgap uslt1dx xoffset uslt1cx top uslt1_top bottom uslt1_bottom left uslt1_left right uslt1_right $stdopt

# ## uslit2

# nxscreate stdcomp -t slit -c uslit2 ygap uslt2dy yoffset uslt2cy xgap uslt2dx xoffset uslt2cx top uslt2_top bottom uslt2_bottom left uslt2_left right uslt2_right $stdopt

# ## rslit1

# nxscreate stdcomp -t slit -c rslit1 ygap rslt1dy yoffset rslt1cy xgap rslt1dx xoffset rslt1cx top rslt1_top bottom rslt1_bottom left rslt1_left right rslt1_right $stdopt

# ## rslit1_stage

# nxscreate stdcomp -p nxsextrasp10 -t slitstage -c rslit1_stage slitname rslit1 x rslty y rsltz $stdopt

# ## slit1

# nxscreate stdcomp -t slit -c slit1 ygap slt1dy yoffset slt1cy xgap slt1dx xoffset slt1cx top slt1_top bottom slt1_bottom left slt1_left right slt1_right $stdopt

# ## slit1_stage

# nxscreate stdcomp -p nxsextrasp10 -t slitstage -c slit1_stage slitname slit1 x slity y slitz $stdopt


# ## slit2

# nxscreate stdcomp -t slit -c slit2 ygap slt2dy yoffset slt2cy xgap slt2dx xoffset slt2cx top slt2_top bottom slt2_bottom left slt2_left right slt2_right $stdopt

# ## slit2_stage

# nxscreate stdcomp -p nxsextrasp10 -t slitstage -c slit2_stage slitname slit2 x slity y slitz $stdopt


# ## slit3

# nxscreate stdcomp -t slit -c slit3 ygap slt3dy yoffset slt3cy xgap slt3dx xoffset slt3cx top slt3_top bottom slt3_bottom left slt3_left right slt3_right $stdopt

# ## laser

# nxscreate stdcomp -p nxsextrasp10 -t laser -c laser pitch laser_ry z laser_x $stdopt



## dcm_mono 

nxscreate stdcomp -t dcm -c dcm_mono crystal dcm_mono_crystal  dcmdevice haspp10opt:10000/p10/dcmener/opt.01 energyfmb energyfmb_common  braggangle dcm_bragg $stdopt
#nxscreate stdcomp -t dcm -c dcm_mono crystal dcm_mono_crystal  dcmdevice haspp10opt:10000/p10/dcmener/opt.01 energyfmb energyfmb_common exitoffset exitoffset energy p10energy braggangle dcm_bragg jack1 monoz_r jack2 monoz_lu jack3 monoz_ld table monoz lat monoy yaw monorz pitch2 c2_pitch roll2 c2_roll perp2 c2_perp par2 c2_para $stdopt
# #nxscreate stdcomp -t dcm -c dcm crystal dcm_mono_crystal  dcmdevice haspp10opt:10000/p10/dcmenergy/opt.01 energyfmb  mnchrmtr exitoffset dcm_exitoffset lat2 dcm_2nd_lateral  par2 dcm_2nd_longitudinal  pitch2 dcm_2nd_pitch roll2 dcm_2nd_roll roll1 dcm_1st_roll yaw dcm_1st_yaw yaw2 dcm_2nd_yaw energy mnchrmtr pitch1 dcm_1st_pitch bend1 dcm_1st_bend bend2 dcm_2nd_bend topdependson2 lat phi1dependson theta chi2dependson phi  $stdopt

## optional
#nxscreate tangods  -v p10/dcmener/opt.01 -s dcm_exitoffset -u haspp10opt -t 10000 -a ExitOffset $tgopt
nxscreate tangods  -v p10/dcmener/opt.01 -s dcm_mono_crystal -u haspp10opt -t 10000 -a Crystal  $tgopt
# #nxscreate tangods  -v p07/dcmmotor/01 -s dcm_mono_unitcalibration -u hzgpp07oh1 -t 10000 -a UnitCalibration $tgopt

## energyfmb_common

nxscreate stdcomp -t common2 -c energyfmb dds fmbenergy ods mnchrmtr $stdopt

# ## dcm_energy (from crystal)

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/dcm_mono:NXmonochromator/collection:NXcollection/dcmenergy' -s dcmenergy dcm_energy -g INIT -t NX_FLOAT64 -k -u eV -m $tgopt


# # ## ucc_mono

# # nxscreate stdcomp -t chcut -c ucc_mono crystal ucc_mono_crystal  chcutdevice haspp10opt:10000/p10/dcmener/opt.01  braggangle uccth table monoz lat monoy reflection "1 1 1"  $stdopt


# # ## ucc_energy

# # nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/ucc_mono:NXmonochromator/collection:NXcollection/uccenergy' -s uccenergy ucc_energy -g INIT -t NX_FLOAT64 -k -u eV -m $tgopt

# ## optional
# nxscreate tangods  -v p10/dcmener/opt.01 -s ucc_mono_crystal -u haspp10opt -t 10000 -a Crystal  $tgopt

# ## rcc_mono

# nxscreate stdcomp -t chcut -c rcc_mono crystal rcc_mono_crystal  chcutdevice haspp10opt:10000/p10/dcmener/opt.01  braggangle rccpitch  table rcctz lat rccty theta rccry  reflection "3 3 3" $stdopt

# ## optional
# nxscreate tangods  -v p10/dcmener/opt.01 -s rcc_mono_crystal -u haspp10opt -t 10000 -a Crystal  $tgopt

# ## rcc_energy

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/rcc_mono:NXmonochromator/collection:NXcollection/rccenergy' -s rccenergy rcc_energy -g INIT -t NX_FLOAT64 -k -u eV -m $tgopt


# ## mirrors

# nxscreate stdcomp -p nxsextrasp10 -t mirrors -c mirrors pitch1 mir1rz x1 mir1y y1 mirz pitch2 mir2rz x2 mir2y y2 mirz offset mircy gap mirdy x lm2y y lm2z $stdopt

# ## girder

# nxscreate stdcomp -p nxsextrasp10 -t girder -c girder x1 girdery1 y1 girderz1  x2 girdery2 y2 girderz2 x girdery y girderz $stdopt

# ## bpm

# #nxscreate stdcomp -t qbpm -c bpm foil bpm_foil foilpos bpm_mon foilposdict '{"Ti": 43, "Ni": 23, "Out": 4}' x  bpmy y bpmz $stdopt
# nxscreate stdcomp -t qbpm -c bpm  foilpos bpm_mon x  bpmy y bpmz $stdopt

# ## bm

# nxscreate stdcomp -t qbpm -c bm  x mon1y $stdopt

# ## bm2

# nxscreate stdcomp -t qbpm -c bm2  x mon2y $stdopt

# ## bm3

# nxscreate stdcomp -t qbpm -c bm3  x mon3y $stdopt

# ## cryo

# nxscreate stdcomp  -p nxsextrasp10 -t cryostage -c cryo x cryoy y cryoz z cryox  $stdopt


# ## usample_table (usaxs)

# nxscreate stdcomp -p nxsextrasp10 -t sampletable -c usample_table postfix _ut pitchdependson x y1 utz1 y2 utz2 y3 utz3 x1 uty1 x2 uty2 yaw utrz pitch utry x uty y utz $stdopt

# ## usample_stage (usaxs)

# nxscreate stdcomp -p nxsextrasp10 -t samplestage -c usample_stage postfix _usam  roll usamrx yaw usamrz pitch usamry x usamy y usamz z usamx $stdopt

# # ## tomo_stage 

# # nxscreate stdcomp -p nxsextrasp10 -t samplestage -c tomo_stage postfix _tomo roll tomorx pitch tomory x tomoy z tomox $stdopt


# ## afm_stage (usaxs)

# nxscreate stdcomp -p nxsextrasp10 -t samplestage -c afm_stage postfix _afm x afmy y afmz z afmx $stdopt


## mu_simu_common

nxscreate stdcomp -t common2 -c mu_simu dds mu_simu ods e6cctrl_simu $stdopt

## diffractometer (usaxs)

nxscreate stdcomp -p nxsextrasp10 -t diffractometer -c diffractometer sname sample  gamma gamma_simu delta delta_simu chi chi_simu phi phi_simu omega omega_simu mu mu_simu_common  $stdopt

# ## rsample_stage (usaxs)

# nxscreate stdcomp -p nxsextrasp10 -t samplestage -c rsample_stage postfix _rsam  x rsy  z rsx $stdopt


# ## rsample_table (rheometer)

# nxscreate stdcomp -p nxsextrasp10 -t sampletable -c rsample_table pitchdependson x postfix _rt y1 rtz1 y2 rtz2 y3 rtz3 x1 rty1 x2 rty2 yaw rtrz pitch rtry x rty y rtz $stdopt


# ## xpcs_sam_table (xpcs)

# nxscreate stdcomp -p nxsextrasp10 -t sampletable -c xpcs_sam_table postfix _tsam  x tsamy y tsamz  $stdopt

# ## xpcs_sam_stage (xpcs)

# nxscreate stdcomp -p nxsextrasp10 -t samplestage -c xpcs_sam_stage postfix _sam  x samy y samz z samx  pitch samry roll samrx  yaw samth  $stdopt

# ## sf_stage 

# nxscreate stdcomp -p nxsextrasp10 -t samplestage -c sf_stage postfix _sf x sfy pitch sfry  yaw sfrz  $stdopt

# ## xpcs_twotheta (xpcs)

# nxscreate stdcomp -p nxsextrasp10 -t twotheta -c xpcs_twotheta detname xpcsdetector twotheta samtth $stdopt

# ## twotheta 

# nxscreate stdcomp -p nxsextrasp10 -t twotheta -c twotheta detname detector twotheta eh2tthp10 $stdopt

# ## microscope

# nxscreate stdcomp -p nxsextrasp10 -t insstage -c microscope x micy y micz z micx $stdopt

# ## pil

# nxscreate stdcomp -p nxsextrasp10 -t insstage -c pil x pily y pilz  $stdopt

# ## ecrl

# nxscreate stdcomp -p nxsextrasp10 -t crl -c ecrl lensposition ehcrl pitch ecrlry yaw ecrlrz h ecrly v ecrlz trans ecrlx2 $stdopt

# ## bdu

# nxscreate stdcomp -p nxsextrasp10 -t bdu -c bdu x bduty y bdutz lat1 bduc1y yaw bdurz lin2 bduc2x yaw2 bduc2rz roll2 bduc2rx $stdopt

# ## det_stage 

# nxscreate stdcomp -p nxsextrasp10 -t detstage -c det_stage detname detector yaw detrz roll detrx x dety1 x2 dety2 y detz z detx yawdependson roll $stdopt

# ## rdet_stage 

# nxscreate stdcomp -p nxsextrasp10 -t detstage -c rdet_stage detname rdetector dependson x x rdy z rdx y rdz $stdopt

# ## rdiode_stage 

# nxscreate stdcomp -p nxsextrasp10 -t detstage -c rdiode_stage detname rdio dependson x x rdiodey $stdopt

# ## diode_stage 

# nxscreate stdcomp -p nxsextrasp10 -t detstage -c diode_stage detname diode dependson x x diodey $stdopt

# ## rdio

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c rdio detname rdio data rdio $stdopt

# ## udio

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c udio detname udio data udio $stdopt

# ## diffdio

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c diffdio detname diffdio data diffdio $stdopt

# ## e1diode2

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c e1diode2 detname e1diode2 data e1diode2 $stdopt

# ## e1diode3

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c e1diode3 detname e1diode3 data e1diode3 $stdopt

# ## e2diode1

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c e2diode1 detname e2diode1 data e2diode1 $stdopt

# ## e2diode2

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c e2diode2 detname e2diode2 data e2diode2 $stdopt

# ## e2diode3

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c e2diode3 detname e2diode3 data e2diode3 $stdopt

# ## ref_diode

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c ref_diode detname ref_diode data ref_diode $stdopt

# ## refdiode_stage 

# nxscreate stdcomp -p nxsextrasp10 -t detstage -c refdiode_stage detname ref_diode dependson pitch pitch reftth x refdiodey $stdopt

## mhz_lab

nxscreate stdcomp -p nxsextrasp10 -t pointdet -c mhz_lab detname mhz_lab data mhz_lab $stdopt

# ## mhz1

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c mhz1 detname mhz1 data mhz1 $stdopt

# ## mhz2

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c mhz2 detname mhz2 data mhz2 $stdopt

# # ## amptek_roi

# # nxscreate stdcomp -p nxsextrasp10 -t pointdet -c amptek_roi detname amptek data amptek_roi $stdopt

# ## apd

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c apd detname apd data apd $stdopt

# ## cbs1

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c cbs1 detname cbs1 data cbs1 $stdopt

# ## cbs1_ll

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/cbs1:NXdetector/collection:NXcollection/'  -g STEP -t NX_FLOAT64 -k cbs1_ll $tgopt

# ## cbs1_ul

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/cbs1:NXdetector/collection:NXcollection/'  -g STEP -t NX_FLOAT64 -k cbs1_ul $tgopt

# ## cbs2

# nxscreate stdcomp -p nxsextrasp10 -t pointdet -c cbs2 detname cbs2 data cbs2 $stdopt

# ## cbs2_ll

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/cbs2:NXdetector/collection:NXcollection/'  -g STEP -t NX_FLOAT64 -k cbs2_ll $tgopt

# ## cbs2_ul

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/cbs2:NXdetector/collection:NXcollection/'  -g STEP -t NX_FLOAT64 -k cbs2_ul $tgopt

# ## rcrystal

# nxscreate stdcomp -p nxsextrasp10 -t detstage -c rcrystal detname rcc_mono grouptype NXmonochromator dependson pitch pitch rcth yaw rcrz x rcy z rcx y rcz $stdopt
# #nxscreate stdcomp -p nxsextrasp10 -t detstage -c rcrystal detname rcrystal grouptype NXcrystal dependson pitch pitch rcth yaw rcrz x rcy z rcx y rcz $stdopt


# ## optics_table1

# nxscreate stdcomp -p nxsextrasp10 -t opticstable -c optics_table1 postfix _ot1 pitchdependson x y1 ot1z1 y2 ot1z2 y3 ot1z3 x1 ot1y1 x2 ot1y2 yaw ot1rz pitch ot1ry x ot1y y ot1z $stdopt

# ## optics_table2

# nxscreate stdcomp -p nxsextrasp10 -t opticstable -c optics_table2 postfix _ot2 pitchdependson x y1 ot2z1 y2 ot2z2 y3 ot2z3 x1 ot2y1 x2 ot2y2 yaw ot2rz pitch ot2ry x ot2y y ot2z $stdopt

# ## jbeamstop

# nxscreate stdcomp -t beamstop -c jbeamstop y jbsz  $stdopt

# ## rbeamstop

# nxscreate stdcomp -t beamstop -c rbeamstop x rbsy z rbsx  $stdopt

# ## beamstop

# nxscreate stdcomp -t beamstop -c beamstop x bsy y bsz  $stdopt

# ## beamstop2

# nxscreate stdcomp -t beamstop -c beamstop2 x bs2y y bs2z  $stdopt

# ## eigerbeamstop

# nxscreate stdcomp -t beamstop -c eigerbeamstop  y eigerbsz  $stdopt


## apiny_common

nxscreate stdcomp -t common2 -c apiny dds apiny ods apiny_position $stdopt

## apinz_common

nxscreate stdcomp -t common2 -c apinz dds apinz ods apinz_position $stdopt

## apinhole

nxscreate stdcomp -t pinhole -c apinhole x apiny_common y apinz_common  $stdopt

# ## rpinhole

# nxscreate stdcomp -t pinhole -c rpinhole x rpx z rpy  $stdopt

# ## fpinhole

# nxscreate stdcomp -t pinhole -c fpinhole x fpy y fpz  $stdopt

# ## absorber1

# nxscreate stdcomp  -t absorber -c absorber1 y abs1z  transformations  transformations $stdopt

# ## absorber2

# nxscreate stdcomp  -t absorber -c absorber2 y abs2z transformations  transformations  $stdopt

# ## shutterstage

# nxscreate stdcomp  -p nxsextrasp10 -t shutterstage -c shutterstage y fsz  $stdopt

# # ## crl_hexapod

# # nxscreate tangods -v p10/hexapodconfig/hexa1.01 -s crl_hexapod_hexat -u haspp10e1 -t 10000 -a PositionPivotT $tgopt
# # nxscreate tangods -v p10/hexapodconfig/hexa1.01 -s crl_hexapod_hexas -u haspp10e1 -t 10000 -a PositionPivotS $tgopt
# # nxscreate tangods -v p10/hexapodconfig/hexa1.01 -s crl_hexapod_hexar -u haspp10e1 -t 10000 -a PositionPivotR $tgopt

# # nxscreate stdcomp -p nxsextrasp10 -t lenshexapod -c crl_hexapod x hexay y hexaz z hexax pivotx crl_hexapod_hexas  pivoty crl_hexapod_hexar pivotz crl_hexapod_hexat pitch hexary yaw hexarz roll hexarx $stdopt

## lab_vfcXY

nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/detector:NXdetector/collection:NXcollection/' -v lab_vfc -f1 -l8 -g STEP -t NX_FLOAT64 -k  $tgopt

# ## e1_vfcXY

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/detector:NXdetector/collection:NXcollection/' -v e1_vfc -f4 -l5 -g STEP -t NX_FLOAT64 -k e1_vfc08 $tgopt

# ## e2_vfcXY

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/detector:NXdetector/collection:NXcollection/' -v e2_vfc -f5 -l8 -g STEP -t NX_FLOAT64 -k $tgopt

## lab_cXY

nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/detector:NXdetector/collection:NXcollection/' -v lab_c -f1 -l31 -g STEP -t NX_FLOAT64 -k $tgopt

# ## e1_cXY

# # nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/detector:NXdetector/collection:NXcollection/' -v e1_c -f6 -l31 -g STEP -t NX_FLOAT64 -k e1_c04 $tgopt
# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/detector:NXdetector/collection:NXcollection/' -v e1_c -f4 -l31 -g STEP -t NX_FLOAT64 -k $tgopt


# ## e2_cXY

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/detector:NXdetector/collection:NXcollection/' -v e2_c -f6 -l31 -g STEP -t NX_FLOAT64  e2_c02 -k $tgopt

# ## e1_mca

# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/e1_mca01:NXdetector/data'  e1_mca01  -g STEP -t NX_FLOAT64 -i  -c SPECTRUM $tgopt
# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/e1_mca02:NXdetector/data'  e1_mca02  -g STEP -t NX_FLOAT64 -i  -c SPECTRUM $tgopt
# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/e1_mca03:NXdetector/data'  e1_mca03  -g STEP -t NX_FLOAT64 -i  -c SPECTRUM $tgopt
# nxscreate comp  -n  '/entry$var.serialno:NXentry/instrument/e1_mca04:NXdetector/data'  e1_mca04  -g STEP -t NX_FLOAT64 -i  -c SPECTRUM $tgopt


# ## ldev

# nxscreate onlinecp -c ldev $cpopt

# ## l01

# nxscreate onlinecp -c l01 $cpopt

# ## l02

# nxscreate onlinecp -c l02 $cpopt

# ## lcx

# nxscreate onlinecp -c lcx $cpopt

# ## e4m

# nxscreate onlinecp -c e4m $cpopt

# ## p100

# nxscreate onlinecp -c p100 $cpopt

# ## p300

# nxscreate onlinecp -c p300 $cpopt

# ## p1m

# nxscreate onlinecp -c p1m $cpopt

# ## pcoedge

# nxscreate onlinecp -c pcoedge $cpopt

# ## mythen

# nxscreate onlinecp -c mythen $cpopt

## set DefaultPreselectedComponents of NXSRecSelector/haspp10lab

##  nxsetup -c -n DefaultPreselectedComponents -w "[\"source\",\"undulator\",\"beamtime_id\",\"dcm_mono\",\"diffractometer\",\"apinhole\"]" NXSRecSelector/haspp10lab