eic / eic/epic

Silicon disks 3,4,5 in N and P direction must have offset hole

Open
#118 14 comments 0 reactions 2 assignees Claimed by @smaple1 View on GitHub
topic: tracking
Dominant language
C++
Stars
31
Forks
61
Avg merge
3d 12h
Merged PRs (30d)
16

Description

**Is your feature request related to a problem? Please describe.**
The silicon tracker disks at the expanding incoming and outgoing beampipe must have a hole that is off-centered.

**Describe the solution you'd like**
In the [xml file](https://github.com/eic/epic/blob/main/compact/tracker/silicon_disks.xml) we should add parameters for the `offset`, e.g. `TrackerEndcapNLayer4_offsetx`, and pass them to the envelope, e.g.,
```xml

```
and we would need to add support to the [`src/TrapEndcapTracker_geo.cpp`](https://github.com/eic/epic/blob/main/src/TrapEndcapTracker_geo.cpp), such as:
```cpp
std::string layer_vis = l_env.attr(_Unicode(vis));
double layer_rmin = l_env.attr(_Unicode(rmin));
double layer_rmax = l_env.attr(_Unicode(rmax));
double layer_offsetx = l_env.attr(_Unicode(offsetx));
double layer_length = l_env.attr(_Unicode(length));
double layer_zstart = l_env.attr(_Unicode(zstart));
double layer_center_z = layer_zstart + layer_length / 2.0;
// ...
Tube layer_tub_outer(0, layer_rmax, layer_length / 2);
Tube layer_tub_inner(0, layer_rmin, layer_length / 2);
SubtractionSolid layer_tub(layer_tub_outer, layer_tub_inner, Translation3D(layer_offsetx, 0, 0));
```

**Describe alternatives you've considered**
Keep larger central hole, but that cuts into acceptance.

**Additional context**
There will additional work needed to then place the rings correctly. Maybe we need to add a `phi` range for the rings, or otherwise allow for incomplete rings.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.