# A box undergoes rotation relative to a parent box
# which is itself undergoing a different rotation.

d:Ge/World/HLX       = 10. m
d:Ge/World/HLY       = 10. m
d:Ge/World/HLZ       = 10. m
s:Ge/World/Material  = "Vacuum"
b:Ge/World/Invisible = "True"

d:Ge/BeamPosition/TransX = 3.9 m
d:Ge/BeamPosition/TransY = 3.9 m

s:Ge/OuterBox/Parent   = "World"
s:Ge/OuterBox/Type     = "TsBox"
s:Ge/OuterBox/Material = "Air"
d:Ge/OuterBox/HLX      = 4. m
d:Ge/OuterBox/HLY      = 4. m
d:Ge/OuterBox/HLZ      = 4. m
d:Ge/OuterBox/TransX   = 2. m
d:Ge/OuterBox/TransY   = 2. m
d:Ge/OuterBox/TransZ   = 0. m
d:Ge/OuterBox/RotX     = 0. deg
d:Ge/OuterBox/RotY     = 0. deg
d:Ge/OuterBox/RotZ     = Tf/OuterBoxStep/Value deg

s:Ge/InnerBox/Parent       = "OuterBox"
s:Ge/InnerBox/Type         = "TsBox"
s:Ge/InnerBox/Material     = "Lead"
d:Ge/InnerBox/HLX          = 1. m
d:Ge/InnerBox/HLY          = 1. m
d:Ge/InnerBox/HLZ          = 2. m
d:Ge/InnerBox/TransX       = 1. m
d:Ge/InnerBox/TransY       = 1. m
d:Ge/InnerBox/TransZ       = 0. m
d:Ge/InnerBox/RotX         = 0. deg
d:Ge/InnerBox/RotY         = Tf/InnerBoxStep/Value deg
d:Ge/InnerBox/RotZ         = Tf/InnerBoxStep/Value deg
s:Ge/InnerBox/DrawingStyle = "Solid"
s:Ge/InnerBox/Color        = "red"

s:Tf/OuterBoxRot/Function            = "Linear deg"
d:Tf/OuterBoxRot/Rate                = 2. deg/ms
d:Tf/OuterBoxRot/StartValue          = -28.0 deg
d:Tf/OuterBoxRot/RepetitionInterval  = 360. ms

s:Tf/InnerBoxRot/Function            = "Linear deg"
d:Tf/InnerBoxRot/Rate                = -2. deg/ms
d:Tf/InnerBoxRot/StartValue          = 0.0 deg
d:Tf/InnerBoxRot/RepetitionInterval  = 360. ms

s:Tf/InnerBoxStep/Function           = "Step"
dv:Tf/InnerBoxStep/Times             = 2 6 60 ms
dv:Tf/InnerBoxStep/Values            = 2 0. Tf/InnerBoxRot/Value deg
d:Tf/InnerBoxStep/RepetitionInterval = 360. ms

s:Tf/OuterBoxStep/Function           = "Step"
dv:Tf/OuterBoxStep/Times             = 2 14 60 ms
dv:Tf/OuterBoxStep/Values            = 2 0. Tf/OuterBoxRot/Value deg
d:Tf/OuterBoxStep/RepetitionInterval = 360. ms

i:Tf/Verbosity               = 1
d:Tf/TimelineEnd             = 30.0 ms
i:Tf/NumberOfSequentialTimes = 40

s:Gr/ViewA/Type                             = "OpenGL"
i:Gr/ViewA/WindowSizeX                      = 1024
i:Gr/ViewA/WindowSizeY                      = 768
d:Gr/ViewA/Theta                            = 55 deg
d:Gr/ViewA/Phi                              = 20 deg
u:Gr/ViewA/Zoom                             = 1.3
b:Gr/ViewA/HiddenLineRemovalForTrajectories = "True"
s:Gr/ViewA/Projection                       = "Perspective"
d:Gr/ViewA/PerspectiveAngle                 = 30 deg
b:Gr/ViewA/CopyOpenGLToEPS                  = "False"

sv:Ph/Default/Modules = 1 "g4em-standard_opt0"

s:So/Example/Type                     = "Beam"
s:So/Example/Component                = "BeamPosition"
s:So/Example/BeamParticle             = "proton"
d:So/Example/BeamEnergy               = 169.23 MeV
u:So/Example/BeamEnergySpread         = 0.757504
s:So/Example/BeamPositionDistribution = "Gaussian"
s:So/Example/BeamPositionCutoffShape  = "Ellipse"
d:So/Example/BeamPositionCutoffX      = 10. cm
d:So/Example/BeamPositionCutoffY      = 10. cm
d:So/Example/BeamPositionSpreadX      = 0.65 cm
d:So/Example/BeamPositionSpreadY      = 0.65 cm
s:So/Example/BeamAngularDistribution  = "Gaussian"
d:So/Example/BeamAngularCutoffX       = 90. deg
d:So/Example/BeamAngularCutoffY       = 90. deg
d:So/Example/BeamAngularSpreadX       = 0.0032 rad
d:So/Example/BeamAngularSpreadY       = 0.0032 rad
i:So/Example/NumberOfHistoriesInRun   = 10
