Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 11 additions & 7 deletions Detectors/Upgrades/ALICE3/FT3/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,22 @@ This is top page for the FT3 detector documentation.
Configuration of the endcap disks can be done by setting values for the `FT3Base.layoutFT3` configurable,
the available options are presented in the following Table:

| Option | Comments |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `kSegmented` (default) | Currently, only OT disks have realistic implementation, for ML - simple trapezoids |
| `kTrapezoidal` | Simple trapezoisal disks (in both ML and OT), with `FT3Base.nTrapezoidalSegments=32` |
| `kCylindrical` | Simplest possible disks as TGeoTubes (ML and OT), bad for ACTS (wrong digi due to polar coorinates on disk sides) |
| Option | Comments |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `kSegmentedStave` | Segmentation of ML and OT disks: Modules are placed on staggered staves with user defined constants |
| `kSegmentedStaveOTOnly` (default) | Only OT disks are contain staves with modules, ML layers are segmented with strips of modules on front/back |
| `kSegmented` | Segmentation of ML and OT disk with strips of modules of chips on the front and back of a layer |
| `kTrapezoidal` | Simple trapezoidal disks (in both ML and OT), with `FT3Base.nTrapezoidalSegments=32` |
| `kCylindrical` | Simplest possible disks as TGeoTubes (ML and OT), bad for ACTS (wrong digi due to polar coorinates on disk sides) |

Furthermore, there are more options in the case of stave segmentation -- for only OT or both. The user can set to cut the staves exactly on the nominal inner radii (true by default), and outer radii (false by default) of the disks. This exists since (planned) placements of sensors & staves often protrude out of the nominal radii to be more able to cover the nominal disk area. In addition, it is possible to draw reference circles in root for the stave segmented layouts for both the inner (red) and outer (blue) radii. This is off by default, yet can be toggled if the user wants to see how tight the tiling is to the nominal radii -- for visualisation purposes only.

[ [Link to definitions](./base/include/FT3Base/FT3BaseParam.h) ]

For example, a geometry with the endcaps-only can be obtained by
For example, see the command below to generate a geometry with the endcaps only, all layers with the stave geometry, and including reference circles of nominal radii for visualisation.
```bash
o2-sim-serial-run5 -n 1 -g pythia8hi -m FT3 \
--configKeyValues "FT3Base.layoutFT3=kTrapezoidal"
--configKeyValues "FT3Base.layoutFT3=kSegmented; FT3Base.drawReferenceCircles=true"
```

<!-- doxy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ namespace o2::ft3::ModuleConstants
*/
// First set all layout constants for the rest of the function
const double single_sensor_width = 2.5;
const double single_sensor_height = 3.2;
const double single_sensor_height = 2.9;
const double inactive_width = 0.2;
const double sensor2x1_gap = 0.02;
const double stackGap = sensor2x1_gap; // gap between 2xN module stacks
Expand Down Expand Up @@ -103,7 +103,7 @@ const int SiInactiveColor = kRed;
const int glueColor = kBlue;
const int CuColor = kOrange;
const int kaptonColor = kYellow;
const int carbonColor = kBlack;
const int carbonFiberColor = kGray + 1;

// Struct for stave position configuration (varies between IT/OT)
struct StaveConfig {
Expand Down Expand Up @@ -177,7 +177,7 @@ const double x_midpoint_spacing = 4.5;
const std::vector<bool> staveOnFront =
{
1, 0, 1, 0, 1, 0, 1, 0, // L
0, 1, 0, 1, 0, 1, 0, 1 // R
1, 0, 1, 0, 1, 0, 1, 0 // R
};
} // namespace ML_StavePositions

Expand Down
3 changes: 3 additions & 0 deletions Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,9 @@ void FT3Module::addStaveVolume(
(volumeName).c_str(),
staveShape,
carbonFiberMed);
staveVolume->SetLineColor(Constants::carbonFiberColor);
staveVolume->SetFillColorAlpha(Constants::carbonFiberColor, 0.4);

TGeoRotation* rot = new TGeoRotation();
rot->RotateX(-90); // lift from xy plane into xz plane
/*
Expand Down
Loading