#!/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