Public Member Functions | |
| __init__ (self, winding, float domain_radius, float domain_resolution) | |
| layer_slots (self, int l) | |
| int | end_slot_shift (self, int l) |
| z_rows (self) | |
| tube_rows (self) | |
| tube_slot_count (self) | |
| build (self, builder) | |
| check_surface (self, builder, tol=1e-9) | |
Public Attributes | |
| w = winding | |
| domain_radius = domain_radius | |
| domain_resolution = domain_resolution | |
Protected Member Functions | |
| _assert_outward (self, builder, axis, which) | |
| rutherford.shells.ShellGenerator.__init__ | ( | self, | |
| winding, | |||
| float | domain_radius, | ||
| float | domain_resolution ) |
|
protected |
The triangle added at builder.tris[which] must face away from the axis point of its row pair. The stadium is convex, so this is a valid outwardness test for the strips as well as the tube.
| rutherford.shells.ShellGenerator.build | ( | self, | |
| builder ) |
| rutherford.shells.ShellGenerator.check_surface | ( | self, | |
| builder, | |||
| tol = 1e-9 ) |
Every ring node must sit exactly on its layer's stadium.
| int rutherford.shells.ShellGenerator.end_slot_shift | ( | self, | |
| int | l ) |
Slot index shift between a layer's last row and its first: ring slot j at z = length sits at the z = 0 position of slot j + q * (slots per sector), q = winding.tape_shift(), the same for both winding senses.
| rutherford.shells.ShellGenerator.layer_slots | ( | self, | |
| int | l ) |
Slot arc lengths (z = 0, before the sense is applied) for layer
l and the per-feature slot ranges: returns (slots, features) where
features is a list of ("tape"|"gap", tape_index, slot_start,
slot_count).
| rutherford.shells.ShellGenerator.tube_rows | ( | self | ) |
| rutherford.shells.ShellGenerator.tube_slot_count | ( | self | ) |
| rutherford.shells.ShellGenerator.z_rows | ( | self | ) |
| rutherford.shells.ShellGenerator.domain_radius = domain_radius |
| rutherford.shells.ShellGenerator.domain_resolution = domain_resolution |
| rutherford.shells.ShellGenerator.w = winding |