Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update k4geo to latest commit & split detector xml files #2

Merged
merged 22 commits into from
Mar 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
db731c7
Change LCIO::LCIO to LCIO::lcio
jmcarcell Dec 11, 2023
444e6d1
Add a key4hep build workflow; previous commit: Change LCIO::LCIO to L…
jmcarcell Jan 29, 2024
a2d22ce
Change key4hep-build workflow triggers; previous commit: Add a key4he…
jmcarcell Feb 5, 2024
953441c
[ALLEGRO] File and variable renaming plus propagation of overlap fix
BrieucF Jan 9, 2024
17fc2fb
[ALLEGRO] Replacing the simplified drift chamber by the detailed one
BrieucF Jan 9, 2024
1fbfaab
[TESTS] Add a test for ALLEGRO_o1_v02
BrieucF Jan 9, 2024
42c73b0
Printing "Found:...." in downstream projects
kjvbrt Dec 11, 2023
f6c1762
ALLEGRO: EcalBarrel CaloData: caloDim.dZ is already the half length
andresailer Feb 6, 2024
36bd6ba
CMake: add shim for LCIO::lcio
andresailer Feb 14, 2024
9889d01
LinearSortingPolicy: ignore unavailable extension error and adapt tre…
andresailer Feb 16, 2024
92ffe4a
Update some ALLEGRO xml config files (#318)
giovannimarchiori Feb 21, 2024
acfef01
Increase timeOut for IDEA test (#323)
BrieucF Feb 22, 2024
c5cced6
Bump version
jmcarcell Feb 23, 2024
7c3d241
Release Notes for v00-20-00
jmcarcell Feb 23, 2024
032f294
Update the key4hep-build workflow; previous commit: Release Notes for…
jmcarcell Feb 25, 2024
bda060c
Remove the old key4hep build workflow (#324)
jmcarcell Feb 25, 2024
e6ca663
Clean up unused variables (#302)
jmcarcell Feb 25, 2024
1f099ab
Update the key4hep-build workflow; previous commit: Clean up unused v…
jmcarcell Feb 26, 2024
1122f7d
Make LCIO an optional dependency (#328)
zaborowska Mar 6, 2024
0a96366
Update branch with latest k4geo & Split FiberDRC xml files
swkim95 Mar 7, 2024
df5d782
remove debugging cout
swkim95 Mar 7, 2024
d09dc81
Merge branch 'DRC_geo_migrate_230918' into PRupdate
swkim95 Mar 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/workflows/downstream-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@ on:
workflow_dispatch:

jobs:
test:
downstream-build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v3
- uses: cvmfs-contrib/github-action-cvmfs@v3
- uses: actions/checkout@v4
- uses: key4hep/key4hep-actions/downstream-build@main
26 changes: 26 additions & 0 deletions .github/workflows/key4hep-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Key4hep build

on:
push:
branches:
- main
pull_request:
workflow_dispatch:
schedule:
- cron: '17 5 * * *'


jobs:
build:
strategy:
matrix:
build_type: ["release", "nightly"]
image: ["alma9", "ubuntu22", "centos7"]
fail-fast: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: key4hep/key4hep-actions/key4hep-build@main
with:
build_type: ${{ matrix.build_type }}
image: ${{ matrix.image }}
43 changes: 0 additions & 43 deletions .github/workflows/key4hep.yml

This file was deleted.

52 changes: 45 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ project(${PackageName})

# project version
SET( ${PackageName}_VERSION_MAJOR 0 )
SET( ${PackageName}_VERSION_MINOR 19 )
SET( ${PackageName}_VERSION_MINOR 20 )
SET( ${PackageName}_VERSION_PATCH 0 )

SET( ${PackageName}_VERSION "${${PackageName}_VERSION_MAJOR}.${${PackageName}_VERSION_MINOR}" )
Expand Down Expand Up @@ -51,10 +51,19 @@ find_package ( ROOT REQUIRED COMPONENTS Geom GenVector)
message ( STATUS "ROOT_VERSION: ${ROOT_VERSION}" )

find_package( Geant4 REQUIRED )
find_package( LCIO REQUIRED)

add_subdirectory(detectorSegmentations)
add_subdirectory(detectorCommon)
OPTION(K4GEO_USE_LCIO "Enable or disable the use of LCIO, which is needed for some detector constructors and plugins" ON)
if(K4GEO_USE_LCIO)
find_package(LCIO REQUIRED)
# Shim for older LCIO versions
if(NOT TARGET LCIO::lcio)
add_library(LCIO::lcio INTERFACE IMPORTED GLOBAL)
set_target_properties(LCIO::lcio
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${LCIO_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${LCIO_LIBRARIES}"
)
endif()
endif()

file(GLOB sources
./detector/tracker/*.cpp
Expand All @@ -68,9 +77,29 @@ file(GLOB sources
./detector/PID/ARC_geo_o1_v01.cpp
)

if(NOT K4GEO_USE_LCIO)
set(lcio_sources # in ./detector/tracker
TrackerEndcap_o2_v05_geo.cpp
SiTrackerEndcap_o2_v02ext_geo.cpp
TrackerBarrel_o1_v03_geo.cpp
TrackerBarrel_o1_v04_geo.cpp
TrackerBarrel_o1_v05_geo.cpp
TrackerEndcap_o1_v05_geo.cpp
TrackerEndcap_o2_v06_geo.cpp
VertexBarrel_detailed_o1_v01_geo.cpp
VertexEndcap_o1_v05_geo.cpp
ZPlanarTracker_geo.cpp
)
foreach(lcio_source ${lcio_sources})
list(FILTER sources EXCLUDE REGEX "${lcio_source}")
endforeach()
message(STATUS "Use of LCIO is DISABLED, some detectors that depend on LCIO will not be built: ${lcio_sources}")
endif()

file(GLOB G4sources
./plugins/TPCSDAction.cpp
./plugins/CaloPreShowerSDAction.cpp
./plugins/FiberDRcaloSDAction.cpp
)

if(DD4HEP_USE_PYROOT)
Expand All @@ -89,12 +118,21 @@ target_include_directories(${PackageName}G4 PRIVATE ${PROJECT_SOURCE_DIR}/detect
target_include_directories(${PackageName} PRIVATE ${PROJECT_SOURCE_DIR}/detector/calorimeter/dual-readout/include )
target_include_directories(${PackageName}G4 PRIVATE ${PROJECT_SOURCE_DIR}/detector/calorimeter/dual-readout/include )

target_link_libraries(${PackageName} DD4hep::DDCore DD4hep::DDRec DD4hep::DDParsers ROOT::Core LCIO::LCIO detectorSegmentations)
target_link_libraries(${PackageName}G4 DD4hep::DDCore DD4hep::DDRec DD4hep::DDParsers DD4hep::DDG4 ROOT::Core ${Geant4_LIBRARIES} LCIO::LCIO)
target_link_libraries(${PackageName} DD4hep::DDCore DD4hep::DDRec DD4hep::DDParsers ROOT::Core detectorSegmentations)
target_link_libraries(${PackageName}G4 DD4hep::DDCore DD4hep::DDRec DD4hep::DDParsers DD4hep::DDG4 ROOT::Core ${Geant4_LIBRARIES})

if(K4GEO_USE_LCIO)
target_link_libraries(${PackageName} LCIO::lcio)
target_link_libraries(${PackageName}G4 LCIO::lcio)
endif()


#Create this_package.sh file, and install
dd4hep_instantiate_package(${PackageName})

add_subdirectory(detectorSegmentations)
add_subdirectory(detectorCommon)

# Destination directories are hardcoded because GNUdirectories are not included
install(TARGETS ${PackageName} ${PackageName}G4
EXPORT ${PROJECT_NAME}Targets
Expand Down
12 changes: 6 additions & 6 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v02/ALLEGRO_o1_v02.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,19 @@
<constant name="world_z" value="world_size"/>
</define>

<include ref="./FCCee_DectDimensions.xml" />
<include ref="./DectDimensions.xml" />

<include ref="Beampipe.xml"/>
<include ref="BeamInstrumentation.xml"/>
<include ref="LumiCal.xml"/>
<include ref="HOMAbsorber.xml"/>
<!--taken from DetFCCeeCLD/compact/FCCee_o2_v02 -->
<include ref="Vertex.xml"/>
<include ref="SimplifiedDriftChamber.xml"/>
<include ref="FCCee_ECalBarrel_thetamodulemerged.xml"/>
<include ref="FCCee_HCalBarrel_TileCal.xml"/>
<include ref="FCCee_EcalEndcaps_coneCryo.xml"/>
<include ref="FCCee_HCalEndcaps_ThreeParts_TileCal.xml"/>
<include ref="DriftChamber.xml"/>
<include ref="ECalBarrel_thetamodulemerged.xml"/>
<include ref="HCalBarrel_TileCal.xml"/>
<include ref="ECalEndcaps_coneCryo.xml"/>
<include ref="HCalEndcaps_ThreeParts_TileCal.xml"/>
<include ref="MuonTagger.xml"/>

</lccdd>
Original file line number Diff line number Diff line change
Expand Up @@ -84,9 +84,9 @@
<constant name="OuterTracker_outer_radius" value="2000*mm"/>
<constant name="OuterTracker_half_length" value="2300*mm"/>

<constant name="DCH_inner_radius" value="350*mm"/>
<constant name="DCH_outer_radius" value="2000*mm"/>
<constant name="DCH_half_length" value="2850*mm"/>
<constant name="DCH_inner_radius" value="345*mm"/>
<constant name="DCH_outer_radius" value="2000*mm"/> <!-- Contact the drift chamber experts if you need to change the DC radiuses (just changing the radius is not enough, the DC has been optimized for those values, the detector geometry is constrained by many construction/mechanical/electronics/etc considerations -->
<constant name="DCH_half_length" value="2850*mm"/> <!-- this includes the services -->

<!-- LAr ECAL Calo Barrel -->
<constant name="BarECal_id" value="DetID_ECAL_Barrel"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
<include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml" />

<includes>
<gdmlFile ref="../../DetCommon/compact/elements.xml"/>
<gdmlFile ref="../../DetCommon/compact/materials.xml"/>
<gdmlFile ref="./elements.xml"/>
<gdmlFile ref="./materials.xml"/>
</includes>

<info name="FCCDectMaster"
Expand All @@ -25,6 +25,6 @@
<constant name="world_z" value="world_size"/>
</define>

<include ref="./FCCee_DectDimensions.xml" />
<include ref="./DectDimensions.xml" />

</lccdd>
110 changes: 110 additions & 0 deletions FCCee/ALLEGRO/compact/ALLEGRO_o1_v02/DriftChamber.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
<lccdd>
<info name="CDCH" title="CDCH" author="CDCH" status="development" version="$Id: $">
<comment>
Detector description for the IDEA Drift Chamber. To understand the free parameters below, look e.g. at https://indico.cern.ch/event/932973/contributions/4041314/attachments/2139657/3664808/primavera_FCCworkshop_2020.pdf
</comment>
</info>

<!-- %%%%%% Central Drift Chamber Basic Parameters %%%%%% -->
<define>
<!-- Radius of the beginning of the carbon fiber cylinder walls -->
<constant name = "CDCH:inner_radius" value = "DCH_inner_radius"/>
<!-- Radius of the end of the carbon fiber cylinder walls, mind that changing this value does not propagate to the sensitive volume layout -->
<constant name = "CDCH:outer_radius" value = "DCH_outer_radius"/>
<!-- Half z extent of the envelope (includes services) -->
<constant name = "CDCH:zHalfExtentWithServices" value = "DCH_half_length"/>
<!-- Angle for the rotation of phi sectors leading to the stereo angle of the wires (the way the chamber will be built)
alpha = angle between the line (0,0,-zHalfLength) - (wireX,wireY,-zHalfLength) and the line (0,0,+zHalfLength) - (wireX,wireY,+zHalfLength) projected on the -zHalfLength plane perpandicular to z
It is used to determine the radius of the hyperboloid in +- zHalfLength-->
<constant name = "CDCH:alpha" value = "30*degree"/>
<!-- Radial extent of the cell in the first layer, used to define the radial step between layers -->
<constant name = "CDCH:cellDimension" value = "11.846*mm"/>
<!-- Number of super layer (baseline = 14). All layers within a super layer have the same number of cell (or sense wire)-->
<constant name = "CDCH:nSuperLayer" value = "14"/>
<!-- Number of layer in a super-layer (baseline = 8) -->
<constant name = "CDCH:nLayer" value = "8"/>
<!-- For development, you can lower the number of (super-)layer to run faster
<constant name = "CDCH:nSuperLayer" value = "4"/>
<constant name = "CDCH:nLayer" value = "2"/>-->
<!-- Number of sense wires (i.e. sensitive cells) in the first super-layer -->
<constant name = "CDCH:nSWireFirstLayer" value = "192"/>
<!-- Number of sense wire to add when jumping from a super layer to another to keep reasonably constant cell sizes w.r.t. cell radius. -->
<constant name = "CDCH:nSDeltaWire" value = "48"/>
<!-- Ratio between the number of field and sense wires, this and nCenterFWirePerCell will tell how many sense wires are in the top/bottom of the cell -->
<constant name = "CDCH:nFtoSWireRatio" value = "5"/>
<!-- Number of field wires in the middle of a single cell. Note that only the lateral wires 'ending' the cell in the phi direction are included in the next cell.
be careful if you modify this parameter, I am not sure it will propagate properly to everything (e.g. the phi_offset) -->
<constant name = "CDCH:nCenterFWirePerCell" value = "1"/>
<!-- The following lines set the wire thickness (inlcuding coating): diameter = ShellThickIn + ShellThickOut i.e. ShellThickOut should be = to the coating thickness * 2 -->
<constant name = "CDCH:FWireShellThickIn" value = "0.040*mm"/>
<constant name = "CDCH:FWireShellThickOut" value = "0.0006*mm"/>
<constant name = "CDCH:centerFWireShellThickIn" value = "0.050*mm"/> <!-- Field wires in the middle of the cell are thicker -->
<constant name = "CDCH:centerFWireShellThickOut" value = "0.0006*mm"/>
<constant name = "CDCH:SWireShellThickIn" value = "0.020*mm"/>
<constant name = "CDCH:SWireShellThickOut" value = "0.0006*mm"/>
<constant name = "CDCH:InGWireShellThickIn" value = "0.050*mm"/>
<constant name = "CDCH:InGWireShellThickOut" value = "0.0006*mm"/>
<constant name = "CDCH:OutGWireShellThickIn" value = "0.050*mm"/>
<constant name = "CDCH:OutGWireShellThickOut" value = "0.0006*mm"/>
<!-- Factor applied to enlarge the wire thickness (baseline = 1.0). Use it only to visualize the wires which are otherwise too small-->
<!-- NB: not propagated to the envelope volumes, you will have volume extrusions if != 1 -->
<constant name = "CDCH:wireThicknessDilution" value = "1.0"/>
<!-- Thicknesses of the carbon fiber support structure, the endcap including services should sum up to 5% of X0 -->
<constant name = "CDCH:CarbonInnerWallThick" value = "0.2*mm"/>
<constant name = "CDCH:CopperInnerWallThick" value = "0.001*mm"/>
<constant name = "CDCH:GasInnerWallThick" value = "10.825*mm"/>
<constant name = "CDCH:Carbon1OuterWallThick" value = "2.5*mm"/>
<constant name = "CDCH:Carbon2OuterWallThick" value = "2.5*mm"/>
<constant name = "CDCH:CopperOuterWallThick" value = "0.018*mm"/>
<constant name = "CDCH:FoamOuterWallThick" value = "10.000*mm"/>
<constant name = "CDCH:GasEndcapWallThick" value = "249.7475*mm"/>
<constant name = "CDCH:CopperEndcapWallThick" value = "0.0005*mm"/>
<constant name = "CDCH:KaptonEndcapWallThick" value = "0.012*mm"/>
<constant name = "CDCH:CarbonEndcapWallThick" value = "0.240*mm"/>
<constant name = "CDCH:secure" value = "1.0e-2*mm"/>
<constant name = "CDCH:capGasLayer" value = "1.0e-3*mm"/>
<constant name = "CDCH:extShiftFW" value = "1.55e-3*mm"/>
<!-- Radius of the inner/outer guard layer, at z = 0 -->
<constant name = "CDCH:inGuardRad" value = "354.0*mm"/>
<constant name = "CDCH:outGuardRad" value = "1927.0*mm"/>
</define>

<!--<regions>
<region name="CDCH_region" eunit="MeV" lunit="mm" cut="0.001" threshold="0.001">
</region>
</regions>-->


<detectors>
<detector id="DetID_DCH" name="CDCH" type="DriftChamber_o1_v01" readout="DriftChamber_simHits" vis="CDCH"> <!-- region="CDCH_region">-->
<sensitive type="tracker"/>
</detector>
</detectors>

<readouts>
<readout name="DriftChamber_simHits">
<!-- <id>system: identifies the detector, superLayer: identifies the super layer (bloc of rings with the same number of wires in phi), ring: identifies a ring inside a super layer, phi: identifies a single wire whithin a ring which is formed of a replication of wires in phi, hitorigin: tells where the hit occured (0 in the gas, 1 in the sense wire, 2 in the field wire, 3 in the guard wire, 4 in the walls), stereo:tells whether it was a wire with positive -0- or negative -1- stereo angle, layerInCell: a cell is composed of three 'layers' with field wires only, both sense and field wires then field wire only again, this fields tells where it belongs 0 = not applicable e.g. hit in gas, 1 = bottom, 2 = middle, 3 = top (mind that the cells are built per stereo angle, so the + stereo bottom will correspond to the - stereo top) </id>-->
<id>system:4,superLayer:5,layer:5,phi:11,hitorigin:3,stereo:1,layerInCell:2</id>
</readout>
</readouts>

<display>
<vis name="vCDCH:Pb" alpha="1.0" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Sc" alpha="0.6" r="0.8" g="0.8" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Plastic" alpha="1.0" r="1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Steel" alpha="0.0" showDaughters="true" visible="false"/>
<vis name="vCDCH:Gas1" alpha="1.0" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Gas2" alpha="1.0" r="1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Gas3" alpha="1.0" r="1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Wire1" alpha="1.0" r="0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Wire2" alpha="1.0" r="1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Wire3" alpha="1.0" r="1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Fwire" alpha="1.0" r="1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Stack" showDaughters="true" visible="false"/>
<vis name="vCDCH:Fiber" alpha="1.0" r="0.8" g="0.8" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:ReadOutBox" alpha="1.0" r="0.8" g="0.5" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:ROSteel" alpha="1.0" r="0.8" g="0.5" b="0.0" showDaughters="true" visible="true"/>
<vis name="vCDCH:Air" showDaughters="true" visible="false"/>
</display>

</lccdd>
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@
<!-- Inclination angle of the lead plates -->
<constant name="InclinationAngle" value="50*degree"/>
<!-- thickness of active volume between two absorber plates at barrel Rmin, measured perpendicular to the readout plate -->
<!--constant name="LArGapThickness" value="1.239749*2*mm"/-->
<constant name="LArGapThickness" value="1.256*2*mm"/>
<!--constant name="Sensitive_thickness" value="1.239749*2*mm"/-->
<constant name="Sensitive_thickness" value="1.256*2*mm"/>

<!-- Air margin, thicknesses of cryostat and LAr bath -->
<constant name="AirMarginThickness" value="49*mm"/> <!-- Space holder for air gap between cryostat vessels -->
Expand All @@ -42,24 +42,22 @@
<constant name="CryoBarrelSideCold" value="3.8*mm"/>
<constant name="CryoBarrelSide" value="CryoBarrelSideWarm+CryoBarrelSideCold"/>

<constant name="LArBathThicknessFront" value="10*mm"/>
<constant name="LArBathThicknessBack" value="40*mm"/>
<constant name="NLiqBathThicknessFront" value="10*mm"/>
<constant name="NLiqBathThicknessBack" value="40*mm"/>

<!-- air margin around calorimeter -->
<constant name="BarCryoECal_rmin" value="BarECal_rmin+AirMarginThickness"/>
<constant name="BarCryoECal_rmax" value="BarECal_rmax-AirMarginThickness"/>
<constant name="BarCryoECal_dz" value="BarECal_dz"/>
<!-- calorimeter active volume -->
<constant name="EMBarrel_rmin" value="BarCryoECal_rmin+CryoBarrelFront+LArBathThicknessFront"/>
<constant name="EMBarrel_rmax" value="BarCryoECal_rmax-CryoBarrelBack-LArBathThicknessBack"/>
<constant name="EMBarrel_rmin" value="BarCryoECal_rmin+CryoBarrelFront+NLiqBathThicknessFront"/>
<constant name="EMBarrel_rmax" value="BarCryoECal_rmax-CryoBarrelBack-NLiqBathThicknessBack"/>
<constant name="EMBarrel_dz" value="BarECal_dz-CryoBarrelSide"/>
<!-- Bath with margin for safe inclination -->
<constant name="safeMargin" value="3*mm"/>
<constant name="Bath_rmin" value="EMBarrel_rmin - safeMargin"/>
<constant name="Bath_rmax" value="EMBarrel_rmax + safeMargin"/>

<!-- thickness of active volume between two absorber plates at EMBarrel_rmin, measuring perpendicular to the readout plate -->
<constant name="LAr_thickness" value="LArGapThickness"/>
<!-- passive layer consists of lead in the middle and steel on the outside, glued -->
<!-- When employing trapezoidal planes Pb_thickness corresponds to the minimum thickness, i.e at the front of the calo -->
<constant name="Pb_thickness" value="1.80*mm"/>
Expand Down Expand Up @@ -119,7 +117,7 @@
<calorimeter name="EM_barrel">
<!-- offset defines the numbering of the modules: module==0 for phi=0 direction -->
<dimensions rmin="EMBarrel_rmin" rmax="EMBarrel_rmax" dz="EMBarrel_dz" offset="-InclinationAngle"/>
<active thickness="LAr_thickness">
<active thickness="Sensitive_thickness">
<material name="LAr"/>
<!-- overlap offset is a specific feature of the construction; do not change! -->
<!-- one volume for a gap on both side of the readout) -->
Expand Down
Loading
Loading