Complete update of SOURCE [SDEF] entry
Abstract
The source system is changing from a variable driven system to a command line driven system based on --sdefType
and --sdefMod
. All other sdef command line options are going, and all variable type sourceName+Value variable type e.g. -va beamSourceEnergy 10
are going.
Introduction
The source system is based on the idea of entering an --sdefType
card followed by a name e.g. beam. Then there is a mess of either -sdefNAME
, were NAME is replaced by a random mix of values dependent on source type, and by a set of variables listed as beamSourceEnergy
or beamSourceYPos
etc.
This is a mess because
beamSource
etc variables are normally not defaulted, so a-va
command is needed.- It is completely unclear if
-sdefYpos
takes presidence over-va beamSourceYStep
. - For each source you have to look at the multiple pieces of code to figure out the capability of that source.
Solution
The solution is that we are going to have -sdefType
which will name a source type. That will be followed by -sdefObj
should any FixedComp and linkPt reference be needed and finally -sdefMod keyname
values...
-sdefMod
takes a set of keynames followed by values. The expected layout will be somthing like:
--sdefMod energy 10.0 \
--sdefMod yStep 20.0 \
--sdefMod radius 5.0 \
--sdefMod aSpead 1.0
Note that every keyword starts with a lower case letter.
The plan [not implemented yet] is to add -sdefModHelp
so that a given source can report the sdefMod
cards available.
Note
This will break all existing scripts that don't use default sources. Sorry.