-- P a r a m e t e r s (constants)
-- ===================
-- Basic:
constant cMeanRadius = 250
constant cPipeSeparation = 17
constant cPipeRadius = 5
global cInnerRadius -- cMeanRadius - cPipeSeparation div 2
global cOuterRadius -- cMeanRadius + cPipeSeparation div 2
global cInnerWallInnerRadius -- cInnerRadius - cPipeRadius
global cInnerWallOuterRadius -- cInnerRadius + cPipeRadius + 1
global cOuterWallInnerRadius -- cOuterRadius - cPipeRadius
global cOuterWallOuterRadius -- cOuterRadius + cPipeRadius + 1
constant cNrSectors = 32 -- must be divisible by 8
global cAzimuthStep -- 2*pi/cNrSectors
global cAverageSectorLength -- round(cAzimuthStep*(cOuterRadius+cInnerRadius)/2)
constant cNrCrossings = 8
constant cNrInjectionSections = 3
constant cNrDumpSections = 3
constant cPathDivision = 8
constant cInjectionAngleDegrees = 10
global cInjectionAngle -- pi*cInjectionAngleDegrees/180
constant cNrBunches = 32
constant cBunchRadius = 8
global cAfuzzy, cAcore, cBfuzzy, cBcore -- the colours of the bunches
constant cCollisionCounterInset = 30 -- the distance by which collision counters are placed away from the inner ring
-- Ornamentation:
global cSectionLineColour -- outline of elements (some dark green)
global cSectionFillColour -- fill of elements (white)
global cSectionErrorColour -- used when elements are placed in an occupied sector (red)
constant cPlayWidthMinimum = 600
constant cPlayHeightMinimum = 700
-- G l o b a l s
-- =============
global gOrigin -- the "top middle" of the window
global gActive -- which elements participate in the collider
global gSectorElement -- the element name occupying the sector, or empty.
global gPathFromInner, gPathFromOuter -- the set of points along which bunches move
global gPositionFromInner, gPositionFromOuter -- the set of points along which bunches move
global gNextPositionFromInner, gNextPositionFromOuter -- the set of points along which bunches move
global gACrossings, gBCrossings -- the positions in the path of the centres of the crossings by crossing number
global gACrOccupied,gBCrOccupied
global gNrActiveCrossings
-- debugging
global gDebug
global nxposinner, nxposouter