Commit 6e922c32 authored by Anton Piccardo-Selg's avatar Anton Piccardo-Selg
Browse files

Merge pull request #15030 from mantidproject/snspowderredux_workflow_14877

Add workflow diagram to SNSPowderReduction
parents afd66179 781a7318
......@@ -23,6 +23,13 @@ of time. Here is how the filter is used:
| ``   3. There is NO upper boundary of the filter wall if wall[1] is ZERO;``
Workflow
--------
.. diagram:: SNSPowderReduction-v1_workflow.dot
.. diagram:: SNSPowderReduction-v1_focus_workflow.dot
Usage
-----
......
digraph FocusAndSum {
labe="FocusAndSum Flowchart"
$global_style
subgraph params {
$param_style
RunNumberList
OutputWorkspace
}
subgraph algorithms {
$algorithm_style
alignAndFocusPowder [label="AlignAndFocusPowder v1"]
getRunNumber [label="Get a run number"]
plus [label="Plus v1\nsummed workspace"]
load [label="Load v1"]
split [label="SplitEvents v1"]
mergeWorkspace [label="Merge chunked workspaces"]
gatherWorkspace [label="Gather workspaces MPI"]
compressEvents [label="CompressEvents v1"]
normaliseByCurrent [label="NormaliseByCurrent v1"]
}
subgraph decisions{
$decision_style
haveMPI [label="Have MPI?"]
isSum [label="Is Sum True?"]
isLastRunNumber [label="Is Last Run Number?"]
}
RunNumberList -> getRunNumber
getRunNumber -> RunNumber
RunNumber -> load
load -> split
split -> alignAndFocusPowder
alignAndFocusPowder -> mergeWorkspace
mergeWorkspace -> gatherWorkspace
gatherWorkspace -> normaliseByCurrent
normaliseByCurrent -> isLastRunNumber
isLastRunNumber -> OutputWorkspace [label="Yes"]
isLastRunNumber -> getRunNumber [label="No"]
}
digraph FocusChunks {
labe="FocusAndSum Flowchart"
$global_style
subgraph params {
$param_style
RunNumberList
FilterWall
CalibrationFile
SplittersWorkspace
OutputWorkspacesList
}
subgraph algorithms {
$algorithm_style
alignAndFocusPowder [label="AlignAndFocusPowder v1"]
getRunNumber [label="Get a run number"]
plus [label="Plus v1\nsummed workspace"]
load [label="Load v1"]
split [label="SplitEvents v1"]
mergeWorkspace [label="Merge chunked workspaces"]
gatherWorkspace [label="Gather workspaces MPI"]
compressEvents [label="CompressEvents v1"]
normaliseByCurrent [label="NormaliseByCurrent v1"]
plusAmongChunks [label="Plus v1\n workspaces from different chunks but same time range."]
setGSASParamFile [label="Set GSAS iparam file to run"]
compressEvents [label="CompressEvents v1"]
normaliseByCurrent [label="NormaliseByCurrent v1"]
}
subgraph decisions{
$decision_style
doSplitWorkspace [label="Do split workspaces?"]
haveMPI [label="Have MPI?"]
isSum [label="Is Sum True?"]
isLastRunNumber [label="Is Last Run Number?"]
}
setChunk0 -> loadData
loadData -> doSplitWorkspace
doSplitWorkspace -> splitWorkspace [label="Yes"]
SplittersWorkspace -> splitWorkspace
splitWorkspace -> alignAndFocusWorkspaces
doSplitWorkspace -> alignAndFocusWorkspaces [label="No"]
alignAndFocusWorkspaces -> plusAmongChunks
plusAmongChunks -> haveMPI
haveMPI -> gatherWorkspaces [label="Yes"]
gatherWorkspaces -> setGSASParamFile
haveMPI -> setGSASParamFile [label="No"]
setGSASParamFile -> compresseEvents
compressEvents -> normaliseByCurrent
normaliseByCurrent -> OutputWorkspacesList
}
digraph ProcessVanadium {
label="Process Vanadium Flowchart"
$global_style
subgraph params {
$param_style
VanadiumRunNumberList
ProcessedVanadiumWorkspace
TimeFilterWall
SampleRunIndex
CalibrationFile
}
subgraph algorithms {
$algorithm_style
convertUnitsToTOF [label="ConvertUnits v1 \n to T.O.F."]
formVanadiumWorkspaceName [label="Form vanadium workspace name"]
loadAndSum [label="Load and sum"]
loadAndSumBlgd [label="Load and sum\n vanadium background run"]
focusAndSum [label="FocusAndSum v1"]
minusBkgd [label="Minus v1\n van run - background run"]
compressEvents1 [label="CompressEvents v1"]
convertUnits1 [label="ConvertUnits v1"]
SetSampleMaterial [label="SetSampleMaterial"]
multipleScatteringCylinderAbsorption [label="MultipleScatteringCylinderAbsorption v1"]
convertUnits2 [label="ConvertUnits v1"]
alignAndFocusPowder [label="AlignAndFocusPowder v1"]
convertUnits3 [label="ConvertUnits v1"]
stripVanadiumPeaks [label="StripVanadiumPeaks"]
convertUnits4 [label="ConvertUnits v1"]
fftSmooth [label="FFTSmooth v1"]
setUncertainties [label="SetUncertainties"]
}
subgraph decisions{
$decision_style
haveMPI [label="Have MPI?"]
isSum [label="Is Sum True?"]
doesVanadiumWorkspaceExist [label="Does vanadium workspace exist?"]
isBackgrounRunNumberSpecified [label="Is background run specified?"]
doStripVanadiumPeaks [label="Do strip vanadium peaks?"]
}
VanadiumRunNumberList -> formVanadiumWorkspaceName
formVanadiumWorkspaceName -> doesVanadiumWorkspaceExit
formVanadiumWorkspaceName -> convertUnitsToTOF [label="Yes"]
convertUnitsToTOF -> ProcessedVanadiumWorkspace
formVanadiumWorkspaceName -> loadAndSum [label="No"]
loadAndSum -> isBackgrounRunNumberSpecified
isBackgrounRunNumberSpecified -> loadAndSumBkgd [label="Yes"]
loadAndSumBkgd -> minusBkgd [label="Yes"]
minusBkgd -> compressEvents1
isBackgrounRunNumberSpecified -> compressEvents1 [label="No"]
compressEvents1 -> convertUnits1
convertUnits1 -> setSampleMaterial
setSampleMaterial -> multipleScatteringCylinderAbsorption
multipleScatteringCylinderAbsorption -> convertUnits2
convertUnits2 -> alignAndFocusPowder
alignAndFocusPowder -> doStripVanadiumPeaks
doStripVanadiumPeaks -> convertUnits3 [label="Yes"]
convertUnits3 -> stripVanadiumPeaks
stripVanadiumPeaks -> convertUnits4
doStripVanadiumPeaks -> convertUnits4 [label="No"]
convertUnits4 -> fftSmooth
fftSmooth -> setUncertainties
setUncertainties -> ProcessedVanadiumWorkspace
}
digraph SNSPowderReduction {
label="SNSPowderReduction Flowchart"
$global_style
subgraph params {
$param_style
RunNumber
Sum
TimeFilterWall
CalibrationFile
}
subgraph algorithms {
$algorithm_style
focusAndSum [label="FocusAndSum v1"]
}
subgraph decisions{
$decision_style
haveMPI [label="Have MPI?"]
isSum [label="Is Sum True?"]
isLastRunNumber [label="Is Last Run Number?"]
}
Sum -> isSum
isSum -> focusAndSum [label="Yes"]
RunNumber -> focusAndSum
TimeFilterWall -> focusAndSum
CalibrationFile -> focusAndSum
isSum -> isLastRunNumber [label="No"]
}
digraph FocusAndSum123 {
labe="FocusAndSum Flowchart"
subgraph params {
$param_style
RunNumber
OutputWorkspace
}
subgraph algorithms {
$algorithm_style
alignAndFocusPowder [label="AlignAndFocusPowder v1"]
}
RunNumber -> alignAndFocusPowder
alignAndFocusPowder -> OutputWorkspace
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment