Skip to content

Commit 3e6bee8

Browse files
committed
Add an option for pure cylindrical IRIS
1 parent e62ddfe commit 3e6bee8

File tree

4 files changed

+521
-87
lines changed

4 files changed

+521
-87
lines changed

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ namespace o2::trk
2424
// Each function builds one local petal assembly (walls + layers + disks)
2525
// and then places/rotates the petal once into the mother volume.
2626

27-
void createIRIS4Geometry(TGeoVolume* motherVolume); // 4 petals, cylindrical L0
28-
void createIRIS4aGeometry(TGeoVolume* motherVolume); // 3 petals, cylindrical L0
29-
void createIRIS5Geometry(TGeoVolume* motherVolume); // 4 petals, rectangular L0
27+
void createIRISGeometryFullCyl(TGeoVolume* motherVolume); // Full-cylinder IRIS geometry (no petals, no gaps, no side walls)
28+
void createIRISGeometryFullCylwithDisks(TGeoVolume* motherVolume); // Full-cylinder IRIS geometry (no petals, no gaps, no side walls) incl. disks
29+
void createIRIS4Geometry(TGeoVolume* motherVolume); // 4 petals, cylindrical L0
30+
void createIRIS4aGeometry(TGeoVolume* motherVolume); // 3 petals, cylindrical L0
31+
void createIRIS5Geometry(TGeoVolume* motherVolume); // 4 petals, rectangular L0
3032

3133
void createSinglePetalDebug(TGeoVolume* motherVolume, int petalID = 0, int nPetals = 4, bool rectangularL0 = false);
3234

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ class VDLayer
3939
protected:
4040
int mLayerNumber{0};
4141
std::string mLayerName;
42-
double mX2X0{0.f}; // Radiation length in units of X0
43-
double mChipThickness{0.f}; // thickness derived from X/X0
44-
double mModuleWidth{4.54f}; // cm
42+
double mX2X0{0.f}; // Radiation length in units of X0
43+
double mChipThickness{0.f}; // thickness derived from X/X0
44+
double mSensorThickness{0.f}; //
45+
double mModuleWidth{4.54f}; // cm
4546

4647
// ClassDef(VDLayer, 1)
4748
};
@@ -54,6 +55,8 @@ class VDCylindricalLayer : public VDLayer
5455
double radius, double phiSpanDeg, double lengthZ, double lengthSensZ);
5556

5657
TGeoVolume* createSensor() const; // builds the sensor volume
58+
TGeoVolume* createChip() const;
59+
TGeoVolume* createMetalStack() const;
5760
void createLayer(TGeoVolume* motherVolume, TGeoMatrix* combiTrans = nullptr) const override;
5861

5962
private:
@@ -73,6 +76,8 @@ class VDRectangularLayer : public VDLayer
7376
double width, double lengthZ, double lengthSensZ);
7477

7578
TGeoVolume* createSensor() const;
79+
TGeoVolume* createChip() const;
80+
TGeoVolume* createMetalStack() const;
7681
void createLayer(TGeoVolume* motherVolume, TGeoMatrix* combiTrans = nullptr) const override;
7782

7883
private:
@@ -91,6 +96,8 @@ class VDDiskLayer : public VDLayer
9196
double rMin, double rMax, double phiSpanDeg, double zPos);
9297

9398
TGeoVolume* createSensor() const;
99+
TGeoVolume* createChip() const;
100+
TGeoVolume* createMetalStack() const;
94101
void createLayer(TGeoVolume* motherVolume, TGeoMatrix* combiTrans = nullptr) const override;
95102

96103
double getZPosition() const { return mZPos; }

0 commit comments

Comments
 (0)