Skip to content

Commit 14a3ce4

Browse files
[ALICE 3] Implementation of peacock layour for services
1 parent d890d41 commit 14a3ce4

File tree

4 files changed

+458
-5
lines changed

4 files changed

+458
-5
lines changed

Detectors/Upgrades/ALICE3/TRK/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Configurables for various sub-detectors are presented in the following Table:
1717
| `TRKBase.layoutVD` | `kIRIS4` (default), `kIRISFullCyl`, `kIRIS5`, `kIRIS4a` | [link to definitions](./base/include/TRKBase/TRKBaseParam.h) |
1818
| `TRKBase.layoutML` | `kCylinder`, `kTurboStaves` (default), `kStaggered` | |
1919
| `TRKBase.layoutOT` | `kCylinder`, `kTurboStaves`, `kStaggered` (default) | |
20+
| `TRKBase.layoutSRV` | `kPeacockv1` (default), `kLOISymm` | `kLOISymm` produces radially symmetric service volumes, as used in the LoI |
2021

2122
For example, a geometry with fully cylindrical tracker barrel (for all layers in VD, ML and OT) can be obtained by
2223
```bash

Detectors/Upgrades/ALICE3/TRK/base/include/TRKBase/TRKBaseParam.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ enum eVDLayout {
3939
kIRIS4a,
4040
};
4141

42+
enum eSrvLayout {
43+
kPeacockv1 = 0,
44+
kLOISymm,
45+
};
46+
4247
struct TRKBaseParam : public o2::conf::ConfigurableParamHelper<TRKBaseParam> {
4348
std::string configFile = "";
4449
float serviceTubeX0 = 0.02f; // X0 Al2O3
@@ -49,10 +54,12 @@ struct TRKBaseParam : public o2::conf::ConfigurableParamHelper<TRKBaseParam> {
4954
eLayout layoutML = kTurboStaves; // Type of segmentation for the middle layers
5055
eLayout layoutOT = kStaggered; // Type of segmentation for the outer layers
5156
eVDLayout layoutVD = kIRIS4; // VD detector layout design
57+
eSrvLayout layoutSRV = kPeacockv1; // Layout of services
5258

5359
eLayout getLayoutML() const { return layoutML; }
5460
eLayout getLayoutOT() const { return layoutOT; }
5561
eVDLayout getLayoutVD() const { return layoutVD; }
62+
eSrvLayout getLayoutSRV() const { return layoutSRV; }
5663

5764
O2ParamDef(TRKBaseParam, "TRKBase");
5865
};

Detectors/Upgrades/ALICE3/TRK/simulation/include/TRKSimulation/TRKServices.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ class TRKServices : public FairModule
5151
void createMiddleServices(TGeoVolume* motherVolume);
5252
void createOuterDisksServices(TGeoVolume* motherVolume);
5353
void createOuterBarrelServices(TGeoVolume* motherVolume);
54+
void createMLServicesPeacock(TGeoVolume* motherVolume);
55+
void createOTServicesPeacock(TGeoVolume* motherVolume);
5456
void createVacuumCompositeShape();
5557
void excavateFromVacuum(TString shapeToExcavate);
5658
void registerVacuum(TGeoVolume* motherVolume);
@@ -65,12 +67,14 @@ class TRKServices : public FairModule
6567
float mColdPlateX0;
6668

6769
// Services
70+
float mFiberArea = 7.1e-2; // cm^2
71+
float mPowerBundleArea = 1.13; // cm^2
6872
float mFiberComposition[2] = {0.5, 0.5}; // SiO2, PE
69-
float mPowerBundleComposition[2] = {0.09, 0.91}; // Cu, PE
73+
float mPowerBundleComposition[2] = {0.08, 0.92}; // Cu, PE (with jacket)
7074
float mPowerBundleJacketComposition[2] = {0.06, 0.94}; // Cu, PE
7175
float mWaterBundleComposition[2] = {0.56, 0.44}; // PU, H2O
7276
float mWaterBundleDiskComposition[2] = {0.44, 0.56}; // PU, H2O
73-
float mMiddleDiskThickness = 1.0; // cm
77+
// float mMiddleDiskThickness = 1.0; // cm
7478
std::vector<float> mCableFanWeights = {0.5, 0.3, 0.2}; // relative weights of the fan layers
7579

7680
ClassDefOverride(TRKServices, 1);

0 commit comments

Comments
 (0)