Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
Reference Detector
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
EIC
detectors
Reference Detector
Merge requests
!14
Added copy of topside_definitions to compact directory.
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Added copy of topside_definitions to compact directory.
compact_dir
into
master
Overview
0
Commits
1
Pipelines
1
Changes
1
Merged
Whitney Armstrong
requested to merge
compact_dir
into
master
4 years ago
Overview
0
Commits
1
Pipelines
1
Changes
1
Expand
0
0
Merge request reports
Compare
master
master (base)
and
latest version
latest version
734f03f0
1 commit,
4 years ago
1 file
+
451
−
0
Side-by-side
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
compact/definitions.xml
0 → 100644
+
451
−
0
Options
<define>
<comment>
Although not explicit in the design study, the eRHIC crossing angle is not symmetric.
</comment>
<constant
name=
"CrossingAngle"
value=
"0.025"
/>
<constant
name=
"ionCrossingAngle"
value=
"0.0166667"
/>
<constant
name=
"electronCrossingAngle"
value=
"0.00833333"
/>
<constant
name=
"CrossingSlope"
value=
"0.0166682"
/>
<constant
name=
"Pi"
value=
"3.14159265359"
/>
<constant
name=
"world_side"
value=
"30*m"
/>
<constant
name=
"world_x"
value=
"world_side"
/>
<constant
name=
"world_y"
value=
"world_side"
/>
<constant
name=
"world_z"
value=
"100*m"
/>
<constant
name=
"mil"
value=
"0.0254*mm"
/>
<comment>
------------
Detector IDs
------------
Note about ACTS tracking geometry construction
----------------------------------------------
The tracking surfaces need to be structured in a barrel + endcapP + endcapN where
endcapP/endcapN are the endcaps at positive/negative z values.
See https://acts.readthedocs.io/en/latest/plugins/dd4hep.html for more details.
The tracking geometry needs to beconstructed from cylinders from the inside out. For this reason
each layer needs its own subsystem assembly. This increases the number of top level system IDs.
For example the silicon tracker needs 3 IDs for each area (endcap+barrel+endcap) and a subassembly for each
layer. Therefore it needs a minimum of 20 IDs. Therefore we will allocate blocks of ~25 for each major subsystem.
Note, future improvements will likely include a more sophisticated ACTS-dd4hep plugin,
eliminating the need for so many system IDs at construction time.
This barrel/endcap structure needs IDs to be in increasing order going outward.
The space of IDs for the subassemblies starts at (Subassembly_ID*10+101).
The unused IDs below are saved for future use.
</comment>
<comment>
===================
(1-9) Reserved IDs
===================
Unused IDs: 1-9
====================================
(10-24) Interaction region beamline
====================================
Beampipe ID : 10
Unused IDs: 11-24
</comment>
<constant
name=
"BeamPipe_ID"
value=
"10"
/>
<comment>
===============================
(25-49) Silicon Vertex Tracker
===============================
SiVertex subsystem ID: 25
Layer 1 subassembly ID: 26
Layer 2 subassembly ID: 27
Layer 3 subassembly ID: 28
Layer 4 subassembly ID: 29
Layer 5 subassembly ID: 30
</comment>
<constant
name=
"SiVertexSubAssembly_ID"
value=
"25"
/>
<comment>
Unused values reserved for vertex:
constant name="SiVertexSubAssemblyLayer1_ID" value="121"
constant name="SiVertexSubAssemblyLayer2_ID" value="122"
constant name="SiVertexSubAssemblyLayer3_ID" value="123"
constant name="SiVertexSubAssemblyLayer4_ID" value="124"
constant name="SiVertexSubAssemblyLayer5_ID" value="125"
</comment>
<comment>
===============================
(50-74) Silicon Tracker System
===============================
SiTracker subsystem ID: 50
Layer 1 subassembly ID: 51
Layer 2 subassembly ID: 52
Layer 3 subassembly ID: 53
Layer 4 subassembly ID: 54
Layer 5 subassembly ID: 55
(56-70) etc...
Unused IDs: 71-74
</comment>
<constant
name=
"SiTrackerSubAssembly_ID"
value=
"50"
/>
<constant
name=
"SiTrackerSubAssemblyLayer1_ID"
value=
"51"
/>
<constant
name=
"SiTrackerSubAssemblyLayer2_ID"
value=
"52"
/>
<constant
name=
"SiTrackerSubAssemblyLayer3_ID"
value=
"53"
/>
<constant
name=
"SiTrackerSubAssemblyLayer4_ID"
value=
"54"
/>
<constant
name=
"SiTrackerSubAssemblyLayer5_ID"
value=
"55"
/>
<constant
name=
"SiTrackerBarrel_Layer1_ID"
value=
"56"
/>
<constant
name=
"SiTrackerEndcapP_Layer1_ID"
value=
"57"
/>
<constant
name=
"SiTrackerEndcapN_Layer1_ID"
value=
"58"
/>
<constant
name=
"SiTrackerBarrel_Layer2_ID"
value=
"59"
/>
<constant
name=
"SiTrackerEndcapP_Layer2_ID"
value=
"60"
/>
<constant
name=
"SiTrackerEndcapN_Layer2_ID"
value=
"61"
/>
<constant
name=
"SiTrackerBarrel_Layer3_ID"
value=
"62"
/>
<constant
name=
"SiTrackerEndcapP_Layer3_ID"
value=
"63"
/>
<constant
name=
"SiTrackerEndcapN_Layer3_ID"
value=
"64"
/>
<constant
name=
"SiTrackerBarrel_Layer4_ID"
value=
"65"
/>
<constant
name=
"SiTrackerEndcapP_Layer4_ID"
value=
"66"
/>
<constant
name=
"SiTrackerEndcapN_Layer4_ID"
value=
"67"
/>
<constant
name=
"SiTrackerBarrel_Layer5_ID"
value=
"68"
/>
<constant
name=
"SiTrackerEndcapP_Layer5_ID"
value=
"69"
/>
<constant
name=
"SiTrackerEndcapN_Layer5_ID"
value=
"70"
/>
<comment>
===================
(75-99 Reserved IDs
===================
Unused IDs: 75-99
TBD
</comment>
<comment>
=====================================
(100-109) Electromagnetic Calorimeter
=====================================
ECal subsystem ID: 100
Barrel subassembly ID: 101
EndcapP subassembly ID: 102
EndcapN subassembly ID: 103
Crystal subassembly ID: 104
Unused IDs: 105-109
</comment>
<constant
name=
"ECalSubAssembly_ID"
value=
"100"
/>
<constant
name=
"ECalBarrel_ID"
value=
"101"
/>
<constant
name=
"ECalEndcapP_ID"
value=
"102"
/>
<constant
name=
"ECalEndcapN_ID"
value=
"103"
/>
<constant
name=
"CrystalEndcap_ID"
value=
"104"
/>
<comment>
=====================================
(110-119Hadronic Calorimeter
=====================================
HCal subsystem ID: 110
Barrel subassembly ID: 111
EndcapP subassembly ID: 112
EndcapN subassembly ID: 113
Unused IDs: 114-119
</comment>
<constant
name=
"HCalSubAssembly_ID"
value=
"110"
/>
<constant
name=
"HCalBarrel_ID"
value=
"111"
/>
<constant
name=
"HCalEndcapP_ID"
value=
"112"
/>
<constant
name=
"HCalEndcapN_ID"
value=
"113"
/>
<comment>
=====================================
(120-129) (near) Forward reserved
=====================================
Forwardtracking ID: 120
Forward RICH ID: 121
Unused IDs: 122-129
</comment>
<constant
name=
"ForwardTracking_ID"
value=
"120"
/>
<constant
name=
"ForwardRICH_ID"
value=
"121"
/>
<comment>
=====================================
(130-139) Backward reserved
=====================================
TBD
</comment>
<comment>
=====================================
(140-149) Central Magnet
=====================================
Solenoid ID: 140
Solenoid support ID: 141
Solenoid Yoke ID: 142
Unused IDs: 143-149
</comment>
<constant
name=
"Solenoid_ID"
value=
"140"
/>
<constant
name=
"SolenoidSupport_ID"
value=
"141"
/>
<constant
name=
"SolenoidYoke_ID"
value=
"142"
/>
<comment>
=====================================
(150-169) Far Forward Detectors
=====================================
Forward Roman Pot ID: 150
Zero Degree Cal. ID: 160
</comment>
<constant
name=
"ForwardRomanPot_ID"
value=
"150"
/>
<constant
name=
"ZDC_ID"
value=
"160"
/>
<comment>
=====================================
(170-189) Forward Beamline Magnets
=====================================
</comment>
<comment>
=====================================
(190-199) Backward Beamline Magnets
=====================================
</comment>
<comment>
--------------------------
Solenoid Magnet Parameters
--------------------------
</comment>
<constant
name=
"Solenoid_thickness"
value=
"400*mm"
/>
<constant
name=
"Solenoid_rmin"
value=
"2000.0*mm"
/>
<constant
name=
"Solenoid_rmax"
value=
"Solenoid_rmin + Solenoid_thickness"
/>
<constant
name=
"SolenoidLength"
value=
"4050.0*mm"
/>
<constant
name=
"SolenoidBarrelCryostatThickness"
value=
" 1.0 * cm"
/>
<constant
name=
"SolenoidBarrelGapThickness"
value=
" 3.3 * cm"
/>
<constant
name=
"SolenoidBarrelAlConductorThickness"
value=
"12.0 * cm"
/>
<constant
name=
"SolenoidBarrelQuenchbackThickness"
value=
" 1.5 * cm"
/>
<constant
name=
"SolenoidBarrelOuterGapThickness"
value=
" 5.6 * cm"
/>
<constant
name=
"SolenoidBarrelOuterCryostatThickness"
value=
" 1.2 * cm"
/>
<constant
name=
"SolenoidEndPlateGapThickness"
value=
" 5.7 * cm"
/>
<constant
name=
"SolenoidEndPlateCryostatThickness"
value=
" 1.5 * cm"
/>
<constant
name=
"SolenoidBarrel_rmin"
value=
"Solenoid_rmin"
/>
<constant
name=
"SolenoidBarrelLenth"
value=
"SolenoidLength"
/>
<constant
name=
"SolenoidBarrel_zmax"
value=
"SolenoidBarrelLenth/2.0"
/>
<constant
name=
"SolenoidCoilConductor_rmin"
value=
"SolenoidBarrel_rmin + SolenoidBarrelCryostatThickness + SolenoidBarrelGapThickness"
/>
<constant
name=
"SolenoidCoilConductor_rmax"
value=
"SolenoidCoilConductor_rmin + SolenoidBarrelAlConductorThickness + SolenoidBarrelQuenchbackThickness"
/>
<constant
name=
"SolenoidBarrel_rmax"
value=
"SolenoidCoilConductor_rmax + SolenoidBarrelOuterGapThickness + SolenoidBarrelOuterCryostatThickness"
/>
<constant
name=
"SolenoidCoil_zmax"
value=
"SolenoidBarrel_zmax - SolenoidEndPlateCryostatThickness - SolenoidEndPlateGapThickness"
/>
<constant
name=
"SolenoidalFieldRadius"
value=
"SolenoidCoilConductor_rmin + SolenoidBarrelAlConductorThickness / 2.0"
/>
<constant
name=
"SolenoidCoilLength"
value=
"SolenoidCoil_zmax*2.0"
/>
<constant
name=
"SolenoidThickness"
value=
"Solenoid_rmax - Solenoid_rmin"
/>
<constant
name=
"SolenoidYokeEndcapP_rmin"
value=
"800*mm"
/>
<constant
name=
"SolenoidYokeEndcapN_rmin"
value=
"800*mm"
/>
<constant
name=
"SolenoidYokeEndcapThickness"
value=
"0.2 * m"
/>
<constant
name=
"SolenoidYokeEndcap_zmin"
value=
"SolenoidBarrel_zmax"
/>
<constant
name=
"SolenoidYokeEndcap_zmax"
value=
"SolenoidYokeEndcap_zmin + SolenoidYokeEndcapThickness"
/>
<constant
name=
"SolenoidYokeChamferAngle"
value=
"0.2"
/>
<comment>
============================
Tracking Parameters
============================
</comment>
<constant
name=
"tracker_region_rmax"
value=
"Solenoid_rmax/2.0"
/>
<constant
name=
"tracker_region_zmax"
value=
"SolenoidLength/2.0"
/>
<comment>
-------------------------
Vertex Tracker Parameters
-------------------------
</comment>
<constant
name=
"VertexTrackerInnerRadius"
value=
"30.0*mm"
/>
<constant
name=
"VertexTrackerOuterRadius"
value=
"Solenoid_rmin/2.0"
/>
<constant
name=
"VertexTrackerOuterBarrelLength"
value=
"300.0*mm"
/>
<comment>
--------------------------
Silicon Tracker Parameters
--------------------------
</comment>
<constant
name=
"SiliconTrackerInnerRadius"
value=
"95.0*mm"
/>
<constant
name=
"SiliconTrackerInnerBarrelLength"
value=
"400.0*mm"
/>
<constant
name=
"SiliconTrackerOuterRadius"
value=
"Solenoid_rmax/2.0"
/>
<constant
name=
"SiliconTrackerOuterBarrelLength"
value=
"SolenoidLength/2.0"
/>
<comment>
------------
Calorimeters
------------
</comment>
<constant
name=
"EcalBarrel_rmin"
value=
"SiliconTrackerOuterRadius + 3.0 * cm"
/>
<constant
name=
"HcalBarrel_rmax"
value=
"Solenoid_rmin - 5.0 *cm "
/>
<constant
name=
"AvailTotalBarrelCalorimetryThickness"
value=
"HcalBarrel_rmax - EcalBarrel_rmin"
/>
<constant
name=
"CalBarrelDivider"
value=
"0.5"
/>
<comment>
Ecal and Hcal have the same thickness
</comment>
<constant
name=
"EcalBarrelAvailTotalThickness"
value=
"AvailTotalBarrelCalorimetryThickness * CalBarrelDivider"
/>
<constant
name=
"HcalBarrelAvailTotalThickness"
value=
"AvailTotalBarrelCalorimetryThickness * (1.0 - CalBarrelDivider)"
/>
<constant
name=
"EcalBarrelLength"
value=
"SiliconTrackerOuterBarrelLength+50.0*cm"
/>
<constant
name=
"EcalEndcap_zmin"
value=
"EcalBarrelLength/2.0"
/>
<constant
name=
"AvailTotalEndcapCalorimetryThickness"
value=
"(SolenoidYokeEndcap_zmin - 10.0 * mm) - (EcalEndcap_zmin + 10.0 * mm)"
/>
<constant
name=
"CalEndcapDivider"
value=
"0.5"
/>
<comment>
Ecal and Hcal have the same thickness
</comment>
<constant
name=
"EcalEndcapAvailTotalThickness"
value=
"AvailTotalEndcapCalorimetryThickness * CalEndcapDivider"
/>
<constant
name=
"HcalEndcapAvailTotalThickness"
value=
"AvailTotalEndcapCalorimetryThickness * (1.0 - CalEndcapDivider)"
/>
<comment>
These need to be set in sync with the forward and backward detectors
</comment>
<constant
name=
"EcalEndcapP_rmin"
value=
"250.0*mm"
/>
<constant
name=
"EcalEndcapN_rmin"
value=
"350.0*mm"
/>
<constant
name=
"HcalEndcapP_rmin"
value=
"250.0 * mm"
/>
<constant
name=
"HcalEndcapN_rmin"
value=
"350.0 * mm"
/>
<comment>
-------------------------
EM Calorimeter Parameters
-------------------------
</comment>
<constant
name=
"CaloSides"
value=
"12"
/>
<comment>
Material Thickness
</comment>
<constant
name=
"EcalSiliconThickness"
value=
"9.00 * mm"
/>
<constant
name=
"EcalCopperThickness"
value=
"0.05 * mm"
/>
<constant
name=
"EcalKaptonThickness"
value=
"0.30 * mm"
/>
<constant
name=
"EcalAir1Thickness"
value=
"0.33 * mm"
/>
<constant
name=
"EcalAir2Thickness"
value=
"0.25 * mm"
/>
<constant
name=
"EcalThinTungstenThickness"
value=
"2.50 * mm"
/>
<constant
name=
"EcalThickTungstenThickness"
value=
"5.00 * mm"
/>
<comment>
Layer Thickness
</comment>
<constant
name=
"EcalFirstLayerThickness"
value=
"EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"
/>
<constant
name=
"EcalThinOneLayerThickness"
value=
"EcalThinTungstenThickness + EcalAir2Thickness + EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"
/>
<constant
name=
"EcalThickOneLayerThickness"
value=
"EcalThickTungstenThickness + EcalAir2Thickness + EcalSiliconThickness + EcalCopperThickness + EcalKaptonThickness + EcalAir1Thickness"
/>
<comment>
EM Barrel N Layer; same number of layers for EcalThin and EcalThick
</comment>
<constant
name=
"EcalBarrelLayers"
value=
"floor((EcalBarrelAvailTotalThickness - EcalFirstLayerThickness) / (EcalThinOneLayerThickness + EcalThickOneLayerThickness))"
/>
<constant
name=
"EcalBarrelThinLayers"
value=
"EcalBarrelLayers"
/>
<constant
name=
"EcalBarrelThickLayers"
value=
"EcalBarrelLayers"
/>
<comment>
EM Barrel Thickness
</comment>
<constant
name=
"EcalBarrelThickness"
value=
"EcalFirstLayerThickness + (EcalBarrelThinLayers * EcalThinOneLayerThickness) + (EcalBarrelThickLayers * EcalThickOneLayerThickness)"
/>
<constant
name=
"EcalBarrel_rmax"
value=
"EcalBarrel_rmin + EcalBarrelThickness"
/>
<comment>
EM Endcap N Layer; same number of layers for EcalThin and EcalThick
</comment>
<constant
name=
"EcalEndcapLayers"
value=
"floor((EcalEndcapAvailTotalThickness - EcalFirstLayerThickness) / (EcalThinOneLayerThickness + EcalThickOneLayerThickness))"
/>
<constant
name=
"EcalEndcapThinLayers"
value=
"EcalEndcapLayers"
/>
<constant
name=
"EcalEndcapThickLayers"
value=
"EcalEndcapLayers"
/>
<comment>
EM Endcap Thickness
</comment>
<constant
name=
"EcalEndcapThickness"
value=
"EcalFirstLayerThickness + (EcalEndcapThinLayers * EcalThinOneLayerThickness) + (EcalEndcapThickLayers * EcalThickOneLayerThickness)"
/>
<comment>
-------------------------------
Hadronic Calorimeter Parameters
-------------------------------
</comment>
<constant
name=
"HcalBarrel_rmin"
value=
"EcalBarrel_rmax+10.0*mm"
/>
<constant
name=
"HcalBarrelAvailThickness"
value=
"HcalBarrel_rmax - HcalBarrel_rmin"
/>
<constant
name=
"HcalBarrelLength"
value=
"EcalBarrelLength+2.0*EcalEndcapThickness + 10.0*mm "
/>
<constant
name=
"HcalEndcap_zmin"
value=
"HcalBarrelLength/2.0"
/>
<constant
name=
"HcalEndcapAvailThickness"
value=
"(SolenoidYokeEndcap_zmin - 10.0 * mm) - HcalEndcap_zmin"
/>
<comment>
Material Thickness
</comment>
<constant
name=
"HcalSteelThickness"
value=
"1.89 * cm"
/>
<constant
name=
"HcalPyrexThickness"
value=
"1.10 * mm"
/>
<constant
name=
"HcalRPCGasThickness"
value=
"1.20 * mm"
/>
<constant
name=
"HcalG10Thickness"
value=
"3.00 * mm"
/>
<constant
name=
"HcalAirThickness"
value=
"1.60 * mm"
/>
<comment>
Layer Thickness
</comment>
<constant
name=
"HcalOneLayerThickness"
value=
"HcalSteelThickness + (2 * HcalPyrexThickness) + HcalRPCGasThickness + HcalG10Thickness + HcalAirThickness"
/>
<comment>
H Barrel Layers and Thickness
</comment>
<constant
name=
"HcalBarrelLayers"
value=
"floor(HcalBarrelAvailThickness / HcalOneLayerThickness)"
/>
<constant
name=
"HcalBarrelThickness"
value=
"HcalBarrelLayers * HcalOneLayerThickness"
/>
<comment>
H Endcap Layers and Thickness
</comment>
<constant
name=
"HcalEndcapLayers"
value=
"floor(HcalEndcapAvailThickness / HcalOneLayerThickness)"
/>
<constant
name=
"HcalEndcapThickness"
value=
"HcalEndcapLayers * HcalOneLayerThickness"
/>
<comment>
-----------------------
Gaseous RICH Parameters
-----------------------
</comment>
<constant
name=
"RICHZMin"
value=
"SolenoidYokeEndcap_zmin + 1 * cm"
/>
<constant
name=
"RICHRMin"
value=
"15 * cm"
/>
<constant
name=
"RICHDepth"
value=
"1 * m"
/>
<comment>
--------------------------
Forward Tracker Parameters
--------------------------
</comment>
<constant
name=
"TempForwardTrackerSpace"
value=
"1.5 * m"
/>
<constant
name=
"ForwardEcalZMin"
value=
"RICHZMin + RICHDepth + TempForwardTrackerSpace"
/>
<constant
name=
"ForwardCaloAngle"
value=
"2 * SolenoidYokeChamferAngle"
/>
<constant
name=
"ForwardEcalRInner"
value=
"10 * cm"
/>
<constant
name=
"ForwardEcalROuter"
value=
"EcalBarrel_rmin + tan(SolenoidYokeChamferAngle) * (RICHDepth) + tan(ForwardCaloAngle) * (ForwardEcalZMin - RICHZMin - RICHDepth)"
/>
<constant
name=
"ForwardHcalZMin"
value=
"RICHZMin + RICHDepth + TempForwardTrackerSpace + EcalEndcapThickness + 1 * mm"
/>
<constant
name=
"ForwardHcalAngle"
value=
"ForwardCaloAngle"
/>
<constant
name=
"ForwardHcalRInner"
value=
"10 * cm"
/>
<constant
name=
"ForwardHcalROuter"
value=
"ForwardEcalROuter + tan(ForwardCaloAngle) * (ForwardHcalZMin - ForwardEcalZMin)"
/>
<comment>
--------------------------
Forward ECal Parameters
--------------------------
</comment>
<comment>
--------------------------
Forward HCal Parameters
--------------------------
</comment>
</define>
Loading