Skip to content

Commit

Permalink
Refs #10205 Add workflow diagram dot source files
Browse files Browse the repository at this point in the history
  • Loading branch information
Harry Jeffery committed Dec 3, 2014
1 parent 4688d7d commit 3507853
Show file tree
Hide file tree
Showing 3 changed files with 153 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
digraph ReflectometryReductionOne {
label = "ReflectometryReductionOne Flowchart"
fontname = Helvetica
labelloc = t

node[fontname="Helvetica", style = filled]
edge[fontname="Helvetica"]

subgraph params {
node[fillcolor = khaki, shape = oval]
inputWorkspace [label="InputWorkspace"]
firstTransRun [label="FirstTransmissionRun"]
secondTransRun [label="SecondTransmissionRun"]
outputWorkspaceWL [label="OutputWorkspaceWavelength"]
outputWorkspaceMT [label="OutputWorkspace"]
thetaIn [label="ThetaIn"]
thetaOut [label="ThetaOut"]
}

subgraph decisions {
node[fillcolor = limegreen, shape = diamond]
checkXUnit [label="X axis in\nWavelength (λ)?"]
checkMultDet [label="Multidetector?"]
checkTransRun [label="FirstTransmissionRun\ngiven?"]
checkTransUnits [label="X axis in\nWavelength (λ)?"]
checkThetaIn [label="ThetaIn given?"]
checkCorDetPos [label="Correct Detector Positions?"]
}

subgraph algorithms {
node[style = "rounded,filled", fillcolor = lightskyblue, shape = rectangle]
calcTheta [label="SpecularReflectionCalculateTheta"]
convertToMT [label="ConvertUnits\n(Momentum-transfer)"]
convertToWL [label="ConvertUnits\n(Wavelength)"]
createTransWS [label="CreateTransmissionWorkspace"]
directBeamNorm [label="Direct Beam Normalisation"]
divideDetMon [label="Divide\n(Detectors / Monitors)"]
divideTrans [label="Divide\n(InputWorkspace / TransmissionWorkspace)"]
intMon [label="Integrate"]
specRefPosCor [label="SpecularReflectionPositionCorrect"]
}

subgraph values {
node[fontname = "Times-Roman", fillcolor = grey, shape = parallelogram]
valMon [label="I₀(λ)"]
valDet [label="I(λ)"]
valIntegrated [label="Σ I₀(λ)"]
valInputDiv [label="I(λ) / ΣI₀(λ)"]
valTrans [label="It(λ) / ΣI₀t(λ)"]
}

inputWorkspace -> checkXUnit
checkXUnit -> checkThetaIn [label="Yes"]
checkXUnit -> convertToWL [label="No"]
convertToWL -> valMon [label="Monitors"]
convertToWL -> valDet [label="Detectors"]
valMon -> intMon
valDet -> checkMultDet
intMon -> valIntegrated
valIntegrated -> divideDetMon
checkMultDet -> directBeamNorm [label="Yes"]
checkMultDet -> divideDetMon [label="No"]
directBeamNorm -> divideDetMon
divideDetMon -> valInputDiv
valInputDiv -> checkTransRun
checkTransRun -> divideTrans [label="Yes"]
checkTransRun -> checkThetaIn [label="No"]
firstTransRun -> checkTransUnits
checkTransUnits -> valTrans [label="Yes"]
checkTransUnits -> createTransWS [label="No"]
secondTransRun -> createTransWS
createTransWS -> valTrans
valTrans -> divideTrans
divideTrans -> checkThetaIn
thetaIn -> checkThetaIn
checkThetaIn -> checkCorDetPos [label="Yes"]
checkThetaIn -> calcTheta [label="No"]
calcTheta -> checkCorDetPos
calcTheta -> thetaOut
checkCorDetPos -> specRefPosCor [label="Yes"]
checkCorDetPos -> outputWorkspaceWL[label="No"]
specRefPosCor -> outputWorkspaceWL
outputWorkspaceWL -> convertToMT
convertToMT -> outputWorkspaceMT
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
digraph ReflectometryReductionOne {
label = "ReflectometryReductionOneAuto on a WorkspaceGroup Flowchart"
fontname = Helvetica
labelloc = t

node[fontname="Helvetica", style = filled]
edge[fontname="Helvetica"]

subgraph params {
node[fillcolor = khaki, shape = oval]
inputWorkspace [label="InputWorkspace"]
outputWorkspaceWL [label="OutputWorkspaceWavelength"]
outputWorkspaceMT [label="OutputWorkspace"]
thetaOut [label="ThetaOut"]
}

subgraph algorithms {
node[style = "rounded,filled", fillcolor = lightskyblue, shape = rectangle]
reflRedOne [label="ReflectometryReductionOne"]
reflRedOne_0 [label="ReflectometryReductionOne"]
reflRedOne_1 [label="ReflectometryReductionOne"]
groupIvQ [label="GroupWorkspaces"]
groupIvLam [label="GroupWorkspaces"]
}

inputWorkspace -> reflRedOne
reflRedOne -> reflRedOne_0 [label="InputWorkspace[0]"]
reflRedOne -> reflRedOne_1 [label="InputWorkspace[1]"]
reflRedOne_0 -> groupIvQ [label="IvQ"]
reflRedOne_1 -> groupIvQ [label="IvQ"]
reflRedOne_0 -> groupIvLam [label="Ivλ"]
reflRedOne_1 -> groupIvLam [label="Ivλ"]
reflRedOne_0 -> thetaOut [label="θ"]
groupIvQ -> outputWorkspaceMT [label="IvQ"]
groupIvLam -> outputWorkspaceWL [label="Ivλ"]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
digraph ReflectometryReductionOne {
label = "ReflectometryReductionOneAuto polarization correction step"
fontname = Helvetica
labelloc = t

node[fontname="Helvetica", style = filled]
edge[fontname="Helvetica"]

subgraph params {
node[fillcolor = khaki, shape = oval]
inWL [label="OutputWorkspaceWavelength"]
outWL [label="OutputWorkspaceWavelength"]
outMT [label="OutputWorkspace"]
}

subgraph algorithms {
node[style = "rounded,filled", fillcolor = lightskyblue, shape = rectangle]
polCor [label="PolarizationCorrection"]
reflRedOne_0b [label="ReflectometryReductionOne"]
reflRedOne_1b [label="ReflectometryReductionOne"]
groupIvLam_b [label="GroupWorkspaces"]
}

inWL -> polCor
polCor -> reflRedOne_0b [label="Ivλ[0]"]
polCor -> reflRedOne_1b [label="Ivλ[1]"]
polCor -> outWL [label="Ivλ"]

reflRedOne_0b -> groupIvLam_b [label="IvQ[0]"]
reflRedOne_1b -> groupIvLam_b [label="IvQ[1]"]
groupIvLam_b -> outMT [label="IvQ"]
}

0 comments on commit 3507853

Please sign in to comment.