Skip to content
This repository has been archived by the owner on Jan 11, 2024. It is now read-only.

Commit

Permalink
Added mod5 geometry with 3.57T magnetic field and rearranged VTX endcaps
Browse files Browse the repository at this point in the history
  • Loading branch information
bartosik-hep committed Oct 15, 2020
1 parent 5b19e3e commit eaf1e6b
Show file tree
Hide file tree
Showing 25 changed files with 3,071 additions and 0 deletions.
Binary file added geometries/CLIC_o3_v14_mod5/.DS_Store
Binary file not shown.
47 changes: 47 additions & 0 deletions geometries/CLIC_o3_v14_mod5/Beampipe_o1_v01_02.xml
@@ -0,0 +1,47 @@
<lccdd>
<!-- Definition of global dictionary constants -->
<define>
<constant name="R_inner" value="2.2*cm" />
</define>

<!-- Definition of the used visualization attributes -->
<display>
<vis name="BeampipeInnerVis" alpha="1.0" r="0.8" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="BeampipeOuterVis" alpha="0.6" r="0.8" g="0.1" b="1.0" showDaughters="true" visible="true"/>
<vis name="VacVis" alpha="1.0" r="1.0" g="1.0" b="1.0" showDaughters="true" visible="false"/>
</display>


<detectors>
<comment>Beampipe</comment>

<detector name="BeampipeInner" type="DD4hep_PolyconeSupport" vis="BeampipeInnerVis" region="BeampipeRegion">
<comment>Inner part of the vacuum beampipe: Beryllium walls</comment>
<material name="Vacuum"/>
<zplane z="-Nozzle_zmax" rmin="0" rmax="1.78*cm" />
<zplane z="-400*cm" rmin="0" rmax="1.19*cm" />
<zplane z="-200*cm" rmin="0" rmax="0.6*cm" />
<zplane z="-100*cm" rmin="0" rmax="0.3*cm" />
<zplane z="-15*cm" rmin="0" rmax="0.6*cm" />
<zplane z="-6*cm" rmin="0" rmax="1*cm" />
<zplane z="6*cm" rmin="0" rmax="1*cm" />
<zplane z="15*cm" rmin="0" rmax="0.6*cm" />
<zplane z="100*cm" rmin="0" rmax="0.3*cm" />
<zplane z="200*cm" rmin="0" rmax="0.6*cm" />
<zplane z="400*cm" rmin="0" rmax="1.19*cm" />
<zplane z="Nozzle_zmax" rmin="0" rmax="1.78*cm" />
</detector>

<detector name="BeampipeOuter" type="DD4hep_PolyconeSupport" vis="BeampipeOuterVis" region="BeampipeRegion">
<comment>Outer part of the vacuum beampipe: Beryllium walls</comment>
<material name="Vacuum"/>
<zplane z="-13.23*cm" rmin="2.281*cm" rmax="2.281*cm" />
<zplane z="-6.25*cm" rmin="1.02483*cm" rmax="R_inner" />
<zplane z="-6*cm" rmin="1*cm" rmax="R_inner" />
<zplane z="6*cm" rmin="1*cm" rmax="R_inner" />
<zplane z="6.25*cm" rmin="1.02483*cm" rmax="R_inner" />
<zplane z="13.23*cm" rmin="2.281*cm" rmax="2.281*cm" />
</detector>

</detectors>
</lccdd>
286 changes: 286 additions & 0 deletions geometries/CLIC_o3_v14_mod5/CLIC_o3_v14.xml
@@ -0,0 +1,286 @@
<lccdd>
<info name="CLIC_o3_v14_mod5"
title="CLIC detector model option 3 version 14 mod 5 for the Muon Collider"
author="Nazar Bartosik"
url="https://twiki.cern.ch/twiki/bin/view/CLIC/NewCLIC"
status="development"
version="$Id$">
<comment>The compact format for the Muon Collider Detector design (based on CLIC)</comment>
</info>

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

<define>
<constant name="world_side" value="30000*mm"/>
<constant name="world_x" value="world_side"/>
<constant name="world_y" value="world_side"/>
<constant name="world_z" value="world_side"/>

<constant name="CrossingAngle" value="0.0*rad"/>


<constant name="DetID_NOTUSED" value="0"/>

<constant name="DetID_VXD_Barrel" value="1"/>
<constant name="DetID_VXD_Endcap" value="2"/>

<constant name="DetID_IT_Barrel" value="3"/>
<constant name="DetID_IT_Endcap" value="4"/>

<constant name="DetID_OT_Barrel" value="5"/>
<constant name="DetID_OT_Endcap" value="6"/>

<constant name="DetID_ECal_Barrel" value="20"/>
<constant name="DetID_ECal_Endcap" value="29"/>

<constant name="DetID_HCAL_Barrel" value="10"/>
<constant name="DetID_HCAL_Endcap" value="11"/>
<constant name="DetID_HCAL_Ring" value="12"/>

<constant name="DetID_Yoke_Barrel" value="13"/>
<constant name="DetID_Yoke_Endcap" value="14"/>

<constant name="CentralBeamPipe_zmax" value="308*mm"/>
<!-- <constant name="CentralBeamPipe_rmax" value="37*mm"/> -->
<constant name="CentralBeamPipe_rmax" value="22.81*mm"/>
<constant name="ConeBeamPipe_zmax" value="2080*mm"/>
<constant name="ConeBeamPipe_rmax" value="240.0*mm"/>
<constant name="BigBeamPipe_zmax" value="2528*mm"/>
<constant name="BeamPipe_end" value="12500*mm"/>
<constant name="BeamPipe_UpstreamBeamCal" value="3.7*mm"/>
<constant name="Nozzle_zmin" value="6*cm"/>
<constant name="Nozzle_zmax" value="600*cm"/>



<!-- ################### ENVELOPE PARAMETERS ######################################################## -->

<comment> suggested naming convention:

main parameters:

DET_inner_radius : inner radius of tube like envelope ( inscribed cylinder )
DET_outer_radius : outer radius of tube like envelope ( circumscribed cylinder )
DET_half_length : half length along z axis
DET_min_z : smallest absolute value on z-axis
DET_max_z : largest absolute value on z-axis
DET_inner_symmetry : number of sides on the inside ( 0 for tube )
DET_outer_symmetry : number of sides on the inside ( 0 for tube )
DET_inner_phi0 : optional rotation of the inner polygon ( in r-phi plane )
DET_outer_phi0 : optional rotation of the outer polygon ( in r-phi plane )

additional parameters for cutting away volumes/shapes use one of the above with a number
appended and/or an extra specifiaction such as cone ( for a cut away cone )

DET_inner_radius_1
DET_outer_radius_2
DET_cone_min_z
DET_cone_max_z

</comment>

<constant name="env_safety" value="0.1*mm"/>

<constant name="Vertex_inner_radius" value="30*mm"/>
<constant name="Vertex_outer_radius" value="115*mm"/>
<constant name="Vertex_half_length" value="305*mm"/>

<constant name="InnerTracker_inner_radius" value="61*mm"/>
<constant name="InnerTracker_outer_radius" value="580*mm"/>
<constant name="InnerTracker_half_length" value="2306*mm"/>

<constant name="OuterTracker_inner_radius" value="580*mm"/>
<constant name="OuterTracker_outer_radius" value="1500*mm - 0.1*mm"/> <!-- to avoid overlap with CaloFace-->
<constant name="OuterTracker_half_length" value="2306*mm"/>

<constant name="ECalBarrel_inner_radius" value="1500*mm"/>
<constant name="ECalBarrel_outer_radius" value="1702*mm"/>
<constant name="ECalBarrel_half_length" value="2210*mm"/>
<constant name="ECalBarrel_symmetry" value="12"/>

<constant name="ECalEndcap_inner_radius" value="310*mm"/>
<constant name="ECalEndcap_outer_radius" value="1700*mm"/>
<constant name="ECalEndcap_min_z" value="2307*mm"/>
<constant name="ECalEndcap_max_z" value="2509*mm"/>
<constant name="ECalEndcap_outer_symmetry" value="12"/>
<constant name="ECalEndcap_inner_symmetry" value="12"/>

<constant name="HCalBarrel_inner_radius" value="1740*mm"/>
<constant name="HCalBarrel_outer_radius" value="3330*mm"/>
<constant name="HCalBarrel_half_length" value="2210*mm"/>
<constant name="HCalBarrel_symmetry" value="12"/>

<constant name="HCalEndcap_inner_steps" value="5"/>
<constant name="HCalEndcap_inner_radius" value="307*mm"/>
<constant name="HCalEndcap_inner_radius2" value="445*mm"/>
<constant name="HCalEndcap_outer_radius" value="3246*mm"/>
<constant name="HCalEndcap_min_z" value="2539*mm"/>
<constant name="HCalEndcap_max_z" value="4129*mm"/>
<constant name="HCalEndcap_symmetry" value="12"/>
<constant name="HCalEndcap_zcutout" value="200*mm"/>
<constant name="HCalEndcap_rcutout" value="128*mm"/>

<constant name="HCalRing_inner_radius" value="1738*mm"/>
<constant name="HCalRing_outer_radius" value="HCalEndcap_outer_radius"/>
<constant name="HCalRing_min_z" value="2353.5*mm"/>
<constant name="HCalRing_max_z" value="HCalEndcap_min_z"/>
<constant name="HCalRing_symmetry" value="12"/>

<constant name="Solenoid_inner_radius" value="3483*mm"/>
<constant name="Solenoid_outer_radius" value="4290*mm"/>
<constant name="Solenoid_half_length" value="4129*mm"/>
<constant name="Solenoid_Coil_half_length" value="3900*mm"/>
<constant name="Solenoid_Coil_radius" value="3821*mm"/>

<constant name="YokeBarrel_inner_radius" value="4461*mm"/>
<constant name="YokeBarrel_outer_radius" value="6450*mm"/>
<constant name="YokeBarrel_half_length" value="4179*mm"/>
<constant name="YokeBarrel_symmetry" value="12"/>

<constant name="YokeEndcap_inner_radius" value="446*mm"/>
<constant name="YokeEndcap_inner_radius2" value="575*mm"/>
<constant name="YokeEndcap_outer_radius" value="6450*mm"/>
<constant name="YokeEndcap_min_z" value="4179*mm"/>
<constant name="YokeEndcap_max_z" value="5638*mm"/>
<constant name="YokeEndcap_outer_symmetry" value="12"/>
<constant name="YokeEndcap_inner_symmetry" value="0"/>

<constant name="tracker_region_zmax" value="OuterTracker_half_length"/>
<constant name="tracker_region_rmax" value="OuterTracker_outer_radius"/>

<constant name="ECal_cell_size" value="5.1*mm"/>
<constant name="HCal_cell_size" value="3.0*cm"/>
<constant name="Yoke_cell_size" value="3.0*cm"/>

<constant name="GlobalTrackerReadoutID" type="string" value="system:5,side:-2,layer:6,module:11,sensor:8"/>
<constant name="GlobalCalorimeterReadoutID" type="string" value="system:5,side:-2,module:8,stave:4,layer:9,submodule:4,x:32:-16,y:-16"/>
</define>

<limits>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm" />
</limitset>
</limits>
<regions>
<region name="BeampipeRegion" />
<region name="NozzleRegion" />
<region name="VertexBarrelRegion" />
<region name="VertexEndcapRegion" />
<region name="InnerTrackerBarrelRegion" />
<region name="OuterTrackerBarrelRegion" />
<region name="InnerTrackerEndcapRegion" />
<region name="OuterTrackerEndcapRegion" />
</regions>


<display>
<vis name="VXDVis" alpha="1.0" r="0.2" g="0.2" b="0.2" showDaughters="true" visible="false"/>
<vis name="ITVis" alpha="1.0" r="0.54" g="0.43" b="0.04" showDaughters="true" visible="false"/>
<vis name="OTVis" alpha="1.0" r="0.8" g="0.8" b="0.4" showDaughters="true" visible="false"/>
<vis name="ECALVis" alpha="1.0" r="0.2" g="0.6" b="0" showDaughters="true" visible="true"/>
<vis name="HCALVis" alpha="1.0" r="0.078" g="0.01176" b="0.588" showDaughters="true" visible="true"/>
<vis name="SOLVis" alpha="1.0" r="0.4" g="0.4" b="0.4" showDaughters="true" visible="true"/>
<vis name="YOKEVis" alpha="1.0" r="0.6" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="LCALVis" alpha="1.0" r="0.35" g="0.0" b="0.47" showDaughters="true" visible="true"/>
<vis name="BCALVis" alpha="1.0" r="0.0" g="0.4" b="0.4" showDaughters="true" visible="true"/>
<vis name="KICKVis" alpha="1.0" r="1.0" g="0.498" b="0.0" showDaughters="true" visible="true"/>
<vis name="BPMVis" alpha="1.0" r="0.25" g="0.88" b="0.81" showDaughters="true" visible="true"/>
<vis name="SupportVis" alpha="1" r="0.2" g="0.2" b="0.2" showDaughters="false" visible="true"/>
</display>

<include ref="${DD4hepINSTALL}/DDDetectors/compact/detector_types.xml"/>

<include ref="Beampipe_o1_v01_02.xml"/>
<include ref="Nozzle_10deg_v0.xml"/>

<include ref="Vertex_o2_v06_01.xml"/>

<include ref="InnerTracker_o2_v06_01.xml"/>
<include ref="OuterTracker_o2_v06_01.xml"/>

<include ref="ECalBarrel_o2_v01_02.xml"/>
<include ref="ECalEndcap_o2_v01_02.xml"/>

<include ref="HCalBarrel_o1_v01_01.xml"/>
<include ref="HCalEndcap_o1_v01_01.xml"/>

<include ref="Solenoid_o1_v01_01.xml"/>

<include ref="YokeBarrel_o1_v01_01.xml"/>
<include ref="YokeEndcap_o1_v01_01.xml"/>

<plugins>
<plugin name="DD4hepVolumeManager"/>
<plugin name="InstallSurfaceManager"/>
<plugin name="lcgeo_LinearSortingPolicy">

<argument value="/InnerTrackerEndcapSupport_layer8" />
<argument value="InnerTracker_Barrel_half_length_0" />
<argument value="InnerTracker_Barrel_radius_0+0.5*mm" />
<argument value="0" />

<argument value="/InnerTrackerEndcapSupport_layer9" />
<argument value="InnerTracker_Barrel_half_length_0" />
<argument value="InnerTracker_Barrel_radius_1+0.5*mm" />
<argument value="0" />

<argument value="/InnerTrackerEndcapSupport" />
<argument value="InnerTracker_Barrel_half_length_0" />
<argument value="InnerTracker_Barrel_radius_1+0.5*mm" />
<argument value="(InnerTracker_outer_radius-InnerTracker_Barrel_radius_1)/(InnerTracker_half_length-InnerTracker_Barrel_half_length_0)" />

<argument value="/InnerTrackerEndcap/" />
<argument value="InnerTracker_Barrel_half_length_0" />
<argument value="InnerTracker_Barrel_radius_1" />
<argument value="(InnerTracker_outer_radius-InnerTracker_Barrel_radius_1)/(InnerTracker_half_length-InnerTracker_Barrel_half_length_0)" />

<argument value="/OuterTrackerEndcap/" />
<argument value="OuterTracker_Barrel_half_length" />
<argument value="OuterTracker_Barrel_radius_1" />
<argument value="(OuterTracker_Endcap_radius_2-OuterTracker_Barrel_radius_1)/(OuterTracker_half_length-OuterTracker_Barrel_half_length)" />

<argument value="/OuterTrackerEndcapSupport_layer4" />
<argument value="OuterTracker_Barrel_half_length" />
<argument value="OuterTracker_Barrel_radius_0+0.5*cm" />
<argument value="0.0" />

<argument value="/OuterTrackerEndcapSupport_layer5" />
<argument value="OuterTracker_Barrel_half_length" />
<argument value="OuterTracker_Barrel_radius_1+0.5*cm" />
<argument value="0.0" />

<argument value="/OuterTrackerEndcapSupport" />
<argument value="OuterTracker_Barrel_half_length" />
<argument value="OuterTracker_Barrel_radius_1+3*cm" />
<argument value="(OuterTracker_Endcap_radius_2-OuterTracker_Barrel_radius_1)/(OuterTracker_half_length-OuterTracker_Barrel_half_length)" />

<argument value="/VertexEndcap/" />
<argument value="VertexEndcap_zmin" />
<argument value="VertexBarrel_r4+1*cm" />
<argument value="(VertexEndcap_rmax-VertexBarrel_r4+1*cm)/(VertexEndcap_zmax-VertexEndcap_zmin)" />

<argument value="/VertexVerticalCable" />
<argument value="0" />
<argument value="VertexBarrel_r4+0.5*cm" />
<argument value="0" />
</plugin>

</plugins>


<fields>
<field name="GlobalSolenoid" type="solenoid"
inner_field="3.57*tesla"
outer_field="-1.34*tesla"
zmax="Solenoid_Coil_half_length"
inner_radius="Solenoid_Coil_radius"
outer_radius="YokeBarrel_outer_radius">
</field>
</fields>


</lccdd>

0 comments on commit eaf1e6b

Please sign in to comment.