Skip to content

Commit b7bfb2c

Browse files
authored
[ALICE3] Rough attempt to pave ML disks as done for OT (#15269)
* Updated FT3Module * First attempt to pave ML disks
1 parent 74098a4 commit b7bfb2c

File tree

3 files changed

+27
-21
lines changed

3 files changed

+27
-21
lines changed

Detectors/Upgrades/ALICE3/FT3/simulation/src/Detector.cxx

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ void Detector::defineSensitiveVolumes()
631631
LOG(info) << "Adding FT3 Sensitive Volume for direction " << direction << " layer " << iLayer << "/" << getNumberOfLayers();
632632
volumeName = o2::ft3::GeometryTGeo::getFT3SensorPattern() + std::to_string(iLayer);
633633
int iSens = 0;
634-
if (mLayers[direction][iLayer].getIsInMiddleLayer()) { // ML disks
634+
/*if (mLayers[direction][iLayer].getIsInMiddleLayer()) { // ML disks
635635
const std::string sensorName = Form("%s_%d_%d", GeometryTGeo::getFT3SensorPattern(), direction, iLayer);
636636
v = geoManager->GetVolume(sensorName.c_str());
637637
if (!v) {
@@ -640,22 +640,22 @@ void Detector::defineSensitiveVolumes()
640640
}
641641
AddSensitiveVolume(v);
642642
iSens++;
643-
} else { // OT disks
644-
for (int sensor_count = 0; sensor_count < MAX_SENSORS; ++sensor_count) {
645-
std::string sensor_name_front = "FT3Sensor_front_" + std::to_string(iLayer) + "_" + std::to_string(direction) + "_" + std::to_string(sensor_count);
646-
std::string sensor_name_back = "FT3Sensor_back_" + std::to_string(iLayer) + "_" + std::to_string(direction) + "_" + std::to_string(sensor_count);
647-
v = geoManager->GetVolume(sensor_name_front.c_str());
648-
if (v) {
649-
AddSensitiveVolume(v);
650-
iSens++;
651-
}
652-
v = geoManager->GetVolume(sensor_name_back.c_str());
653-
if (v) {
654-
AddSensitiveVolume(v);
655-
iSens++;
656-
}
643+
} else { // OT disks*/
644+
for (int sensor_count = 0; sensor_count < MAX_SENSORS; ++sensor_count) {
645+
std::string sensor_name_front = "FT3Sensor_front_" + std::to_string(iLayer) + "_" + std::to_string(direction) + "_" + std::to_string(sensor_count);
646+
std::string sensor_name_back = "FT3Sensor_back_" + std::to_string(iLayer) + "_" + std::to_string(direction) + "_" + std::to_string(sensor_count);
647+
v = geoManager->GetVolume(sensor_name_front.c_str());
648+
if (v) {
649+
AddSensitiveVolume(v);
650+
iSens++;
651+
}
652+
v = geoManager->GetVolume(sensor_name_back.c_str());
653+
if (v) {
654+
AddSensitiveVolume(v);
655+
iSens++;
657656
}
658657
}
658+
//}
659659
LOG(info) << iSens << " sensitive volumes added";
660660
}
661661
}

Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Layer.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ void FT3Layer::createLayer(TGeoVolume* motherVolume)
237237
LOG(info) << "FT3: ft3Params.layoutFT3 = " << ft3Params.layoutFT3;
238238

239239
// ### options for ML and OT disk layout
240-
if (ft3Params.layoutFT3 == kTrapezoidal || (mIsMiddleLayer && ft3Params.layoutFT3 == kSegmented)) {
240+
if (ft3Params.layoutFT3 == kTrapezoidal /*|| (mIsMiddleLayer && ft3Params.layoutFT3 == kSegmented)*/) {
241241
// trapezoidal ML+OT disks
242242
// (disks with TGeoTubes doesn'n work properly in ACTS, due to polar coordinates on TGeoTube sides)
243243

Detectors/Upgrades/ALICE3/FT3/simulation/src/FT3Module.cxx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,6 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double
124124
} else if (sensor_height == 19.2 && sensor_width == 5) {
125125
x_offset = 0.7;
126126
y_offset = 9;
127-
128127
} else {
129128
x_offset = sensor_width / 2;
130129
y_offset = sensor_height / 2;
@@ -146,14 +145,12 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double
146145
if (Rin == 7 && sensor_height == 9.6 && sensor_width == 5) {
147146
x_condition_min = -Rin - 2;
148147
x_condition_max = Rin;
148+
dist_offset = 2;
149149
adjust_bottom_y_pos = true;
150150
adjust_bottom_y_neg = true;
151151
x_adjust_bottom_y_pos = 3.5;
152152
bottom_y_pos_value = 3.5;
153153
bottom_y_neg_value = -3.5;
154-
155-
dist_offset = 2;
156-
157154
} else if (Rin == 5 && sensor_height == 9.6 && sensor_width == 5) {
158155
x_condition_min = -Rin - 6;
159156
x_condition_max = Rin;
@@ -201,6 +198,15 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double
201198
x_adjust_bottom_y_pos = 5.5;
202199
bottom_y_pos_value = 3.5;
203200
bottom_y_neg_value = -3.5;
201+
} else if (Rin == 10 && sensor_height == 9.6 && sensor_width == 5.0) {
202+
x_condition_min = -Rin - 4;
203+
x_condition_max = Rin;
204+
dist_offset = 2;
205+
adjust_bottom_y_pos = false;
206+
adjust_bottom_y_neg = false;
207+
x_adjust_bottom_y_pos = 3.5;
208+
bottom_y_pos_value = 3.5;
209+
bottom_y_neg_value = -3.5;
204210
} else if (Rin == 20 && sensor_height == 9.6 && sensor_width == 5.0) {
205211
x_condition_min = -Rin - 4;
206212
x_condition_max = Rin;
@@ -244,7 +250,7 @@ void FT3Module::create_layout(double mZ, int layerNumber, int direction, double
244250
justSkipped1 = {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0};
245251
}
246252
} else {
247-
if (Rin == 20) { // v3 paving, rough attempt
253+
if (Rin == 10 || Rin == 20) { // v3 paving, rough attempt
248254
float overlap = 0.3;
249255
// NB: these are left edges
250256
float X_start = -2.0 - 13.5 * (sensor_width - overlap);

0 commit comments

Comments
 (0)