Skip to content

Commit 8fa2d84

Browse files
authored
Merge branch 'main' into mirror-ribs
2 parents 7820d32 + 103f90e commit 8fa2d84

8 files changed

+29
-64
lines changed

compact/definitions.xml

+10-6
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ Examples:
424424

425425
</documentation>
426426

427-
<constant name="CentralTrackingRegion_rmax" value="700.0*mm" />
427+
<constant name="CentralTrackingRegion_rmax" value="755.0*mm" />
428428
<constant name="CentralTrackingRegionP_zmax" value="1800.0*mm" />
429429
<constant name="CentralTrackingRegionN_zmax" value="1235.0*mm" />
430430
<constant name="CentralTrackingRegion_length" value="CentralTrackingRegionP_zmax + CentralTrackingRegionN_zmax" />
@@ -442,7 +442,7 @@ Examples:
442442
<comment> Global PID regions with suballocations for TOF and RICH detectors </comment>
443443
<constant name="ForwardPIDRegion_zmin" value="CentralTrackingRegionP_zmax" />
444444
<constant name="ForwardPIDRegion_length" value="135.0*cm" />
445-
<constant name="ForwardPIDRegion_rmax" value="185.0*cm" />
445+
<constant name="ForwardPIDRegion_rmax" value="180.0*cm" />
446446
<constant name="ForwardTOFRegion_length" value="15.0*cm" />
447447

448448
<comment> Forward RICH region </comment>
@@ -544,7 +544,7 @@ Service gaps in FW direction (before endcapP ECAL) and BW direction (before endc
544544
<constant name="EcalEndcapN_rmin" value="9.*cm"/> <!-- Currently fix value hardcoded -->
545545
<constant name="EcalEndcapN_rmax" value="63.*cm"/> <!-- Currently fix value hardcoded -->
546546

547-
<constant name="EcalBarrelRegion_thickness" value="35.*cm"/>
547+
<constant name="EcalBarrelRegion_thickness" value="38.*cm"/>
548548
<constant name="EcalBarrel_rmin" value="max(81.*cm, CentralTrackingRegion_rmax + BarrelPIDRegion_thickness + BarrelExtraSpace_thickness)"/> <!-- FIXME hardcoded max -->
549549
<constant name="EcalBarrel_inner_margin" value="2*cm"/>
550550
<constant name="EcalBarrel_rmax" value="EcalBarrel_rmin + EcalBarrelRegion_thickness"/>
@@ -558,12 +558,16 @@ Service gaps in FW direction (before endcapP ECAL) and BW direction (before endc
558558
## Special DIRC parameters (depend on the ECAL setup)
559559
</documentation>
560560
<constant name="DIRCReadout_length" value="30*cm"/>
561+
<comment> Leave 1.9 cm space from the end of mirror to the end of bar box in +z </comment>
562+
<constant name="DIRCMirror_thickness" value="1 * mm"/>
563+
<constant name="DIRCBarbox_space_z" value="1.9*cm"/>
564+
<constant name="DIRCLens_thickness" value="12 * mm"/>
561565
<constant name="DIRCForward_length" value="0*cm"/>
562566
<constant name="DIRCForward_zmax" value="CentralTrackingRegionP_zmax + 5*cm"/>
563-
<constant name="DIRCBackward_zmax" value="287*cm"/>
564-
<constant name="DIRC_thickness" value="3*cm"/>
567+
<constant name="DIRCBackward_zmax" value="303*cm"/>
568+
<constant name="DIRC_thickness" value="3.1*cm"/>
565569
<constant name="DIRC_length" value="DIRCForward_zmax + DIRCBackward_zmax"/>
566-
<constant name="DIRC_offset" value="(DIRCForward_zmax - DIRCBackward_zmax)/2"/>
570+
<constant name="DIRC_offset" value="(DIRCForward_zmax - DIRCBackward_zmax - DIRCMirror_thickness - DIRCBarbox_space_z + DIRCLens_thickness + DIRCReadout_length)/2"/>
567571
<comment>
568572
The DIRC_rmin/rmax values are defined at the center of each stave, such that
569573
the DIRC_rmax can also be used as the OuterBarrelMPGD_rmin value.

compact/ecal/barrel_interlayers.xml

+10-39
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
22
<!-- Copyright (C) 2022 Whitney Armstrong, Chao Peng, Maria Zurek, Jihee Kim -->
3-
<!-- Active AstroPix layers: 1-3-5-6 -->
3+
<!-- Active AstroPix layers: 1-3-4-6 -->
4+
45

56
<lccdd>
67

@@ -19,11 +20,11 @@
1920
<!-- Number of imaging layer slots -->
2021
<constant name="EcalBarrelImagingLayers_nMax" value="6"/>
2122
<constant name="EcalBarrel_Calorimeter_zmin"
22-
value="min(257*cm, EcalBarrelBackward_zmax)"/>
23+
value="min(258.75*cm, EcalBarrelBackward_zmax)"/>
2324
<constant name="EcalBarrel_Calorimeter_zmax"
24-
value="min(177.5*cm, EcalBarrelForward_zmax)"/>
25-
<constant name="EcalBarrel_Readout_zmin" value="272*cm"/>
26-
<constant name="EcalBarrel_Readout_zmax" value="192.5*cm"/>
25+
value="min(181.25*cm, EcalBarrelForward_zmax)"/>
26+
<constant name="EcalBarrel_Readout_zmin" value="273.75*cm"/>
27+
<constant name="EcalBarrel_Readout_zmax" value="196.25*cm"/>
2728
<constant name="EcalBarrel_Calorimeter_length"
2829
value="EcalBarrel_Calorimeter_zmax + EcalBarrel_Calorimeter_zmin"/>
2930
<constant name="EcalBarrel_Calorimeter_offset"
@@ -54,10 +55,6 @@
5455
<constant name="EcalBarrel_StaveTilt_angle" value="10*degree"/>
5556
<constant name="EcalBarrel_Stave_ModuleRepeat" value="floor(EcalBarrel_Calorimeter_length / (EcalBarrel_AstroPix_length + EcalBarrel_AstroPix_margin))"/>
5657

57-
<constant name="EcalBarrel_ImagingFirstLayerThickness"
58-
value="EcalBarrel_AstroPix_thickness
59-
+ EcalBarrel_CarbonThickness"/>
60-
6158
<constant name="EcalBarrel_LayerSpacing" value="10.0*mm"/>
6259
<constant name="EcalBarrel_FiberRadius" value="0.5*mm"/>
6360
<constant name="EcalBarrel_FiberXSpacing" value="1.34*mm"/>
@@ -84,18 +81,15 @@
8481

8582
<constant name="EcalBarrelImagingLayers_num"
8683
value="min(EcalBarrelImagingLayers_nMax,
87-
floor((EcalBarrel_AvailThickness-EcalBarrel_ImagingFirstLayerThickness)/
88-
(EcalBarrel_ImagingLayerThickness + EcalBarrel_ScFiLayerThickness +
89-
EcalBarrel_SpaceBetween)))"/>
84+
floor(EcalBarrel_AvailThickness/(EcalBarrel_ImagingLayerThickness + EcalBarrel_ScFiLayerThickness + EcalBarrel_SpaceBetween)))"/>
9085
<comment>
9186
Adjusting size of the ScFi back chunk to match number of imaging layers
9287
and ~17.1 radiation lengths in total
9388
</comment>
9489
<constant name="EcalBarrel_FiberBulkLayers_num" value = "EcalBarrel_TotalFiberLayers_num-EcalBarrelImagingLayers_num+1"/>
9590

9691
<constant name="EcalBarrel_ImagingPartThickness"
97-
value="(EcalBarrelImagingLayers_num-1)*(EcalBarrel_ImagingLayerThickness + EcalBarrel_ScFiLayerThickness + EcalBarrel_SpaceBetween)
98-
+ EcalBarrel_ImagingFirstLayerThickness + EcalBarrel_SpaceBetween"/>
92+
value="EcalBarrelImagingLayers_num*(EcalBarrel_ImagingLayerThickness + EcalBarrel_ScFiLayerThickness + EcalBarrel_SpaceBetween)-EcalBarrel_ScFiLayerThickness"/>
9993
<constant name="EcalBarrel_ScFiPartThickness_max"
10094
value="max(0, EcalBarrel_AvailThickness-EcalBarrel_ImagingPartThickness)"/>
10195
<constant name="EcalBarrel_ScFiPartThickness"
@@ -135,29 +129,6 @@
135129
z="EcalBarrel_Calorimeter_length"/>
136130
<sectors vis="EcalBarrelSectorVis"/>
137131

138-
<module name="AstroPix_Module_FirstLayer"
139-
vis="EcalBarrelModuleVis">
140-
<module_component name="AstroPix_Chip"
141-
material="Silicon"
142-
width="EcalBarrel_AstroPix_width"
143-
length="EcalBarrel_AstroPix_length"
144-
thickness="EcalBarrel_AstroPix_thickness"
145-
vis="EcalBarrelModuleVis">
146-
<slice material="Silicon" thickness="EcalBarrel_SiliconThickness" vis="EcalBarrelSliceVis" sensitive="yes" limits="cal_limits"/>
147-
<slice material="Silicon" thickness="EcalBarrel_ElectronicsThickness" vis="EcalBarrelSliceVis"/>
148-
<slice material="Copper" thickness="EcalBarrel_CopperThickness" vis="EcalBarrelSliceVis"/>
149-
<slice material="Kapton" thickness="EcalBarrel_KaptonThickness" vis="EcalBarrelSliceVis"/>
150-
<slice material="Epoxy" thickness="EcalBarrel_EpoxyThickness" vis="EcalBarrelSliceVis"/>
151-
</module_component>
152-
<module_component name="AstroPix_Support"
153-
material="CarbonFiber"
154-
width="EcalBarrel_AstroPix_width + EcalBarrel_AstroPix_margin"
155-
length="EcalBarrel_AstroPix_length + EcalBarrel_AstroPix_margin"
156-
thickness="EcalBarrel_CarbonThickness"
157-
vis="EcalBarrelSliceVis">
158-
</module_component>
159-
</module>
160-
161132
<module name="AstroPix_Module"
162133
vis="EcalBarrelModuleVis">
163134
<module_component name="AstroPix_Chip"
@@ -210,7 +181,7 @@
210181
<stave repeat="6"
211182
width="EcalBarrel_Stave_width"
212183
length="EcalBarrel_Stave_length"
213-
thickness="EcalBarrel_AstroPix_thickness"
184+
thickness="EcalBarrel_Stave_thickness"
214185
angle="-EcalBarrel_StaveTilt_angle"
215186
module="AstroPix_Module"
216187
vis="EcalBarrelStaveVis">
@@ -235,7 +206,7 @@
235206
<stave repeat="7"
236207
width="EcalBarrel_Stave_width"
237208
length="EcalBarrel_Stave_length"
238-
thickness="EcalBarrel_AstroPix_thickness"
209+
thickness="EcalBarrel_Stave_thickness"
239210
angle="EcalBarrel_StaveTilt_angle"
240211
module="AstroPix_Module"
241212
vis="EcalBarrelStaveVis">

compact/pid/dirc.xml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!-- SPDX-License-Identifier: LGPL-3.0-or-later -->
2-
<!-- Copyright (C) 2022 Dmitry Romanov, Whitney Armstrong, Sylvester Joosten, Wouter Deconinck -->
2+
<!-- Copyright (C) 2022,2023 Dmitry Romanov, Whitney Armstrong, Sylvester Joosten, Wouter Deconinck, Nilanga Wickramaarachchi -->
33

44
<lccdd>
55

@@ -15,6 +15,7 @@
1515
- DIRC_length
1616
- DIRC_offset
1717
- DIRC_rmin
18+
- DIRC_rmax
1819
- DIRCBox_count (12 full dirc, 1 - a single module)
1920

2021
When DIRC_length is set, it affects bars length (all other lengths are fixed)
@@ -42,10 +43,8 @@
4243
<!-- Mirror -->
4344
<constant name="DIRCMirror_height" value="20 * mm"/>
4445
<constant name="DIRCMirror_width" value="DIRCPrism_width"/>
45-
<constant name="DIRCMirror_thickness" value="1 * mm"/>
4646

4747
<!-- Lens -->
48-
<constant name="DIRCLens_thickness" value="12 * mm"/>
4948
<constant name="DIRCLens_r1" value="62 * mm"/>
5049
<constant name="DIRCLens_r2" value="36 * mm"/>
5150
<constant name="DIRCLens_height" value="50 * mm"/>
@@ -59,12 +58,13 @@
5958

6059
<!-- Bar - Each DIRC box consists of N "bars" -->
6160
<!-- BarAssembly - Bars + Glue -->
62-
<constant name="DIRCBarAssm_length" value="DIRC_length - DIRCPrism_length - DIRCMirror_thickness - DIRCLens_thickness - DIRCMCP_thickness" comment="Length of bars+glue assembly"/>
61+
<constant name="DIRCBarAssm_length" value="DIRC_length - DIRCPrism_length - DIRCBarbox_space_z - DIRCMirror_thickness - DIRCLens_thickness - DIRCMCP_thickness" comment="Length of bars+glue assembly"/>
6362
<constant name="DIRCBar_gap" value="0.15 * mm"/>
6463
<constant name="DIRCBar_height" value="17 * mm"/>
6564
<constant name="DIRCBar_width" value="(DIRCPrism_width - (DIRCBar_count_y - 1) * DIRCBar_gap) / DIRCBar_count_y"/>
6665
<constant name="DIRCGlue_thickness" value="0.05 * mm"/>
6766
<constant name="DIRCBar_length" value="(DIRCBarAssm_length - 4 * DIRCGlue_thickness)/4"/>
67+
<constant name="DIRCBar_center" value="(DIRC_rmin + DIRC_rmax)/2" comment="Radial position of center of bar"/>
6868

6969
</define>
7070

@@ -108,7 +108,7 @@
108108

109109
<detectors>
110110
<detector id="BarrelDIRC_ID" name="cb_DIRC" type="epic_DIRC" readout="DIRCBarHits" vis="DIRCTube">
111-
<dimensions rmin="DIRC_rmin" rmax="DIRC_rmin + DIRCBar_height" length="DIRC_length"/>
111+
<dimensions rmin="DIRCBar_center - DIRCBar_height/2" rmax="DIRCBar_center + DIRCBar_height/2" length="DIRC_length"/>
112112
<position x="0" y="0" z="DIRC_offset"/>
113113
<module name="DIRCBox" repeat="DIRCBox_count" width="DIRCPrism_width + 1*mm" height="DIRCPrism_height*2" length="DIRCBarAssm_length + 550*mm" vis="DIRCBox">
114114
<!-- Mirror (at the end of the module) -->

compact/pid/drich.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
<!-- tank geometry: cylinder, holding the majority of detector components -->
2222
<constant name="DRICH_rmax2" value="ForwardPIDRegion_rmax"/> <!-- cylinder radius -->
2323
<!-- sensor boxes: extrusions of the tank, to hold the sensors and their services -->
24-
<constant name="DRICH_sensorbox_length" value="10.0*cm"/> <!-- z-length of the extrusion -->
24+
<constant name="DRICH_sensorbox_length" value="50.0*cm"/> <!-- z-length of the extrusion -->
2525
<constant name="DRICH_sensorbox_rmin" value="DRICH_rmax1 + 2*cm"/> <!-- lower radial limit of the extrusion -->
26-
<constant name="DRICH_sensorbox_rmax" value="DRICH_rmax2"/> <!-- upper radial limit of the extrusion -->
26+
<constant name="DRICH_sensorbox_rmax" value="DRICH_rmax2 + 5*cm"/> <!-- upper radial limit of the extrusion -->
2727
<!-- aerogel+filter geometry -->
2828
<constant name="DRICH_aerogel_thickness" value="4.0*cm"/> <!-- aerogel thickness -->
2929
<constant name="DRICH_airgap_thickness" value="0.01*mm"/> <!-- air gap between aerogel and filter -->

src/DRICH_geo.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -218,8 +218,8 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec
218218
UnionSolid gasvolUnion0(gasvolTank, gasvolSnout, Position(0., 0., -vesselLength / 2. + windowThickness));
219219

220220
// union: add sensorbox
221-
UnionSolid vesselUnion(vesselUnion0, vesselSensorboxTube, Position(0., 0., -(tankLength + sensorboxLength) / 2.));
222-
UnionSolid gasvolUnion(gasvolUnion0, gasvolSensorboxTube, Position(0., 0., -(tankLength + sensorboxLength) / 2. + windowThickness));
221+
UnionSolid vesselUnion(vesselUnion0, vesselSensorboxTube, Position(0., 0., -(snoutLength + sensorboxLength - 0.6) / 2.));
222+
UnionSolid gasvolUnion(gasvolUnion0, gasvolSensorboxTube, Position(0., 0., -(snoutLength + sensorboxLength) / 2. + windowThickness));
223223

224224
// extra solids for `debugOptics` only
225225
Box vesselBox(1001, 1001, 1001);

src/EndcapTOF_geo.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
129129
string m_nam = Form("EndcapTOF_Module1_%d_%d", ix, iy);
130130

131131
int ncomponents = 0;
132-
int sensor_number = 1;
133132
// the module assembly volume
134133
Assembly m_vol(m_nam);
135134
m_vol.setVisAttributes(description.visAttributes(x_modCurr.visStr()));
@@ -184,7 +183,6 @@ static Ref_t create_detector(Detector& description, xml_h e, SensitiveDetector s
184183
SurfaceType type(SurfaceType::Sensitive);
185184

186185
VolPlane surf(c_vol, type, inner_thickness, outer_thickness, u, v, n);
187-
sensor_number++;
188186

189187
DetElement comp_de(mod_elt, std::string("de_") + pv.volume().name(), module);
190188
comp_de.setPlacement(pv);

src/HomogeneousCalorimeter_geo.cpp

-2
Original file line numberDiff line numberDiff line change
@@ -310,11 +310,9 @@ static std::tuple<int, std::pair<int, int>> add_12surface_disk(Detector& desc, A
310310
std::pair<double, double> c1 (0., 0.);
311311
auto polyVertex = epic::geo::getPolygonVertices(c1, (rmax/std::cos(Prot)), M_PI/12., 12);
312312
std::vector<epic::geo::Point> out_vertices, in_vertices;
313-
int index = 0;
314313
for( auto p : polyVertex ){
315314
epic::geo::Point a = {p.first, p.second};
316315
out_vertices.push_back(a);
317-
index++;
318316
}
319317

320318
for (xml_coll_t position_i(pts_extrudedpolygon, _U(position)); position_i; ++position_i){

src/LFHCAL_geo.cpp

-6
Original file line numberDiff line numberDiff line change
@@ -873,10 +873,6 @@ static Ref_t createDetector(Detector& desc, xml_h handle, SensitiveDetector sens
873873
int moduleIDy = -1;
874874

875875

876-
int moduleID = 0;
877-
878-
879-
880876
struct position {
881877
double x,y,z;
882878
};
@@ -908,7 +904,6 @@ static Ref_t createDetector(Detector& desc, xml_h handle, SensitiveDetector sens
908904
auto tr8M = Transform3D(Position(pos.x()-pos8M[e].x-0.5*eightM_params.mod_width, pos.y() - pos8M[e].y, pos.z() + pos8M[e].z + length / 2.));
909905
phv = assembly.placeVolume(eightMassembly, tr8M);
910906
phv.addPhysVolID("moduleIDx", moduleIDx).addPhysVolID("moduleIDy", moduleIDy).addPhysVolID("moduletype", 0);
911-
moduleID++;
912907
}
913908

914909
std::vector<position> pos4M;
@@ -937,7 +932,6 @@ static Ref_t createDetector(Detector& desc, xml_h handle, SensitiveDetector sens
937932
auto tr4M = Transform3D(Position(pos.x()-pos4M[f].x-0.5*fourM_params.mod_width, pos.y()-pos4M[f].y, pos.z() + pos4M[f].z + length / 2.));
938933
phv = assembly.placeVolume(fourMassembly, tr4M);
939934
phv.addPhysVolID("moduleIDx", moduleIDx).addPhysVolID("moduleIDy", moduleIDy).addPhysVolID("moduletype", 1);
940-
moduleID++;
941935
}
942936

943937
Volume motherVol = desc.pickMotherVolume(det);

0 commit comments

Comments
 (0)