Skip to content

Commit

Permalink
Merge pull request #32 from campa-consortium/dcs16/03
Browse files Browse the repository at this point in the history
Coordinate systems standard
  • Loading branch information
DavidSagan authored Jan 20, 2025
2 parents 6648946 + 16100c9 commit b104abd
Show file tree
Hide file tree
Showing 10 changed files with 19,881 additions and 5 deletions.
2 changes: 2 additions & 0 deletions myst.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ project:
children:
- file: 'source/standard/introduction.md'
- file: 'source/standard/element_parameter.md'
- file: 'source/standard/coordinates.md'
site:
template: book-theme
#domains:
# - <username>-<project>.curve.space

3 changes: 2 additions & 1 deletion source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = ['myst_parser', 'sphinx_design']
myst_enable_extensions = ["colon_fence"]
myst_enable_extensions = ["colon_fence", "amsmath"]
numfig = True

templates_path = ['_templates']
exclude_patterns = []
Expand Down
1 change: 1 addition & 0 deletions source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ front_matter/how_to_write_docs.md
standard/introduction.md
standard/element_parameter.md
standard/coordinates.md
```
410 changes: 410 additions & 0 deletions source/standard/coordinates.md

Large diffs are not rendered by default.

1,337 changes: 1,337 additions & 0 deletions source/standard/figures/coordinates.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7,690 changes: 7,690 additions & 0 deletions source/standard/figures/ele-coord-frame.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,106 changes: 1,106 additions & 0 deletions source/standard/figures/floor-coords.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8,018 changes: 8,018 additions & 0 deletions source/standard/figures/patch-between.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1,301 changes: 1,301 additions & 0 deletions source/standard/figures/tilt-bend.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 14 additions & 4 deletions source/standard/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,21 @@ By convention, element names in ALS will be upper camel case.

## Lattice Branches

A lattice **Branch** is essentially an ordered array of lattice elements that gives the physical
sequence to be tracked through.
In the simplest case, a program can track through the elements one element at a time.
A lattice **branch** holds a collection of lattice elements.
There are two types of branches. One type, called a "tracking branch", holds
an ordered array of lattice elements that gives a
sequence of elements to be tracked through. A tracking branch can represent something like a
storage ring, transfer line or Linac.
In the simplist case, a program can track through the elements one element at a time.
However, lattice elements may overlap which will naturally complicate tracking.

The other type of branch, called a "lord" branch, is used to hold lattice elements that help describe:
- Support elements (Girders)
- Overlapping elements (Superposition)
- Situations where an element is transversed multiple times as in an ERL or in opposite directions
as in a colliding beam machine (Multipass)
Lord branches will be explained in detail in later sections.

## Lattices

A **lattice is the root structure holding the information about a
Expand All @@ -77,5 +87,5 @@ This is used to simulate forking beam lines such as a connections to a transfer
X-ray beam line. The **branch** from which other **branches** fork but is not forked to by any
other branch is called a **root** branch.

A lattice may contain multiple **root branches. For example, a pair of intersecting storage
A lattice may contain multiple **root** branches. For example, a pair of intersecting storage
rings will generally have two root branches, one for each ring.

0 comments on commit b104abd

Please sign in to comment.