Skip to content

Commit eb3f6ae

Browse files
committed
add the relevant constansts
1 parent c616f61 commit eb3f6ae

1 file changed

Lines changed: 63 additions & 14 deletions

File tree

‎Detectors/Upgrades/ALICE3/TRKFT3/FT3/simulation/include/FT3Simulation/FT3ModuleConstants.h‎

Lines changed: 63 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -184,31 +184,80 @@ struct StaveConfig {
184184

185185
namespace OT_StavePositions
186186
{
187+
/*
188+
* Staves that the beam pipe cuts in two, built as two pieces on +-y_midpoint.
189+
* Do NOT add any zero midpoints, this is taken off separately.
190+
*/
187191
const std::map<int, std::pair<double, bool>> staveID_to_y_midpoint = {
188-
{-2, {39.0, true}},
189-
{-1, {41.4, true}},
190-
{1, {41.4, true}},
191-
{2, {39.0, true}}};
192+
{-5, {32.73, true}},
193+
{-4, {38.609, true}},
194+
{-3, {42.094, true}},
195+
{-2, {43.023, true}},
196+
{-1, {44.054, true}},
197+
{1, {44.053, true}},
198+
{2, {43.023, true}},
199+
{3, {42.094, true}},
200+
{4, {38.609, true}},
201+
{5, {32.73, true}}};
202+
/*
203+
* Length of one stave piece: for a stave in staveID_to_y_midpoint that is one
204+
* of its two pieces, otherwise the whole stave centred on y=0. Sized to cover
205+
* the modules in exactStaveFills, with 1 mm of margin.
206+
*/
192207
const std::vector<double> y_lengths = {
193-
52.8, 66.0, 79.2, 92.4, 99.0, 105.6, 118.8, 118.8,
194-
128.7, 132.0, 132.0, 138.6, 138.6, 56.1, 52.8,
195-
52.8, 56.1, 138.6, 138.6, 132.0, 132.0, 128.7,
196-
118.8, 118.8, 105.6, 99.0, 92.4, 79.2, 66.0, 52.8};
208+
40.87, 61.31, 78.83, 90.51, 99.27,
209+
108.03, 113.87, 119.71, 122.63, 128.47,
210+
64.23, 55.47, 49.63, 49.63, 47.23,
211+
47.23, 49.63, 49.63, 55.47, 64.23,
212+
128.47, 122.63, 119.71, 113.87, 108.03,
213+
99.27, 90.51, 78.83, 61.31, 40.87};
197214
const unsigned nStaves = 30; // y_lengths, staveOnFront and exactStaveFills follow this
198215
const double x_midpoint_spacing = 4.5;
199216
const std::vector<double> x_midpoints = makeStaveXMidpoints(nStaves, x_midpoint_spacing);
200217
const double maxToleranceInner = 9.; // close but not directly at 10cm yet
201218
const double maxToleranceOuter = 3.4; // leave 1mm for layer air encapsulation
202219
const std::vector<bool> staveOnFront = makeStaveOnFront(nStaves);
203220
/*
204-
* TODO: fill from the disk optimiser output. One entry per stave, in the same
205-
* order as x_midpoints, and nStaves entries in total before
206-
* useExactStavePlacement works. Each entry lists that stave's fills:
221+
* From the disk optimiser: Rin 20, Rout 68, stave width 5.22, overlap 0.72,
222+
* intrusion <= 9, extrusion <= 3, giving 99.84% filling with staves and
223+
* 99.29% with modules. One entry per stave in x_midpoints order; a stave cut
224+
* in two by the beam pipe has one fill either side of the hole.
207225
*
208-
* {{{-52.80, {4, 4, 4, 3}}}}, // reaches across y=0
209-
* {{-63.84, {4, 4, 3}}, {8.34, {4, 4, 3}}}, // split by the beam pipe
226+
* Each fill is anchored on its centre rather than the optimiser's own yStart,
227+
* because FT3 puts a stackGap between modules and the optimiser does not.
210228
*/
211-
const std::vector<std::vector<StaveFill>> exactStaveFills = {};
229+
const std::vector<std::vector<StaveFill>> exactStaveFills = {
230+
{{-20.43, {4, 4, 3, 3}}}, // ID -15
231+
{{-30.65, {4, 4, 4, 3, 3, 3}}}, // ID -14
232+
{{-39.41, {4, 4, 4, 4, 4, 4, 3}}}, // ID -13
233+
{{-45.25, {4, 4, 4, 4, 4, 4, 4, 3}}}, // ID -12
234+
{{-49.63, {4, 4, 4, 4, 4, 4, 4, 3, 3}}}, // ID -11
235+
{{-54.01, {4, 4, 4, 4, 4, 4, 4, 3, 3, 3}}}, // ID -10
236+
{{-56.93, {4, 4, 4, 4, 4, 4, 4, 4, 4, 3}}}, // ID -9
237+
{{-59.85, {4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3}}}, // ID -8
238+
{{-61.31, {4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3}}}, // ID -7
239+
{{-64.23, {4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}}}, // ID -6
240+
{{-64.84, {4, 4, 4, 4, 3, 3}}, {0.62, {4, 4, 4, 4, 3, 3}}}, // ID -5
241+
{{-66.339, {4, 4, 4, 4, 3}}, {10.879, {4, 4, 4, 4, 3}}}, // ID -4
242+
{{-66.904, {4, 4, 3, 3, 3}}, {17.284, {4, 4, 3, 3, 3}}}, // ID -3
243+
{{-67.833, {4, 4, 3, 3, 3}}, {18.213, {4, 4, 3, 3, 3}}}, // ID -2
244+
{{-67.147, {4, 3, 3, 3, 3}}, {20.96, {4, 3, 3, 3, 3}}}, // ID -1
245+
{{-67.66, {4, 3, 3, 3, 3}}, {20.447, {4, 3, 3, 3, 3}}}, // ID +1
246+
{{-67.833, {4, 4, 3, 3, 3}}, {18.213, {4, 4, 3, 3, 3}}}, // ID +2
247+
{{-66.904, {4, 4, 3, 3, 3}}, {17.284, {4, 4, 3, 3, 3}}}, // ID +3
248+
{{-66.339, {4, 4, 4, 4, 3}}, {10.879, {4, 4, 4, 4, 3}}}, // ID +4
249+
{{-64.84, {4, 4, 4, 4, 3, 3}}, {0.62, {4, 4, 4, 4, 3, 3}}}, // ID +5
250+
{{-64.23, {4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}}}, // ID +6
251+
{{-61.31, {4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3}}}, // ID +7
252+
{{-59.85, {4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3}}}, // ID +8
253+
{{-56.93, {4, 4, 4, 4, 4, 4, 4, 4, 4, 3}}}, // ID +9
254+
{{-54.01, {4, 4, 4, 4, 4, 4, 4, 3, 3, 3}}}, // ID +10
255+
{{-49.63, {4, 4, 4, 4, 4, 4, 4, 3, 3}}}, // ID +11
256+
{{-45.25, {4, 4, 4, 4, 4, 4, 4, 3}}}, // ID +12
257+
{{-39.41, {4, 4, 4, 4, 4, 4, 3}}}, // ID +13
258+
{{-30.65, {4, 4, 4, 3, 3, 3}}}, // ID +14
259+
{{-20.43, {4, 4, 3, 3}}}, // ID +15
260+
};
212261
} // namespace OT_StavePositions
213262

214263
namespace ML_StavePositions

0 commit comments

Comments
 (0)