Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • EIC/detectors/athena
  • zwzhao/athena
  • FernandoTA/athena
  • palspeic/athena
4 results
Show changes
Showing
with 953 additions and 861 deletions
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<!-- vessel geometry -->
<constant name="PFRICH_Length" value="BackwardRICHRegion_length"/> <!-- vessel z-length -->
<constant name="PFRICH_zmin" value="-BackwardRICHRegion_zmin"/> <!-- vessel front -->
<constant name="PFRICH_zmax" value="PFRICH_zmin - PFRICH_Length"/> <!-- vessel back -->
<constant name="PFRICH_rmin0" value="BackwardPIDRegion_tan * BackwardRICHRegion_zmin"/> <!-- bore radius at vessel frontplane -->
<constant name="PFRICH_rmin1" value="BackwardPIDRegion_tan * (BackwardRICHRegion_zmin + BackwardRICHRegion_length)"/> <!-- bore radius at vessel backplane -->
<constant name="PFRICH_rmax" value="BackwardPIDRegion_rmax - 2*cm"/> <!-- vessel backplane radius -->
<constant name="PFRICH_wall_thickness" value="0.5*cm"/> <!-- thickness of radial walls -->
<constant name="PFRICH_window_thickness" value="0.1*cm"/> <!-- thickness of entrance and exit walls -->
<!-- additional parameters -->
<constant name="PFRICH_aerogel_thickness" value="3.0*cm"/> <!-- aerogel thickness -->
<constant name="PFRICH_sensor_active_size_default" value="24.0*mm"/> <!-- sensor side length (effective area) -->
<constant name="PFRICH_sensor_full_size_default" value="25.8*mm"/> <!-- sensor side length (full size, with enclosure) -->
<!-- lores values are used for global vizualizations _only_ -->
<constant name="PFRICH_sensor_active_size_lores" value="PFRICH_sensor_active_size_default * 4"/>
<constant name="PFRICH_sensor_full_size_lores" value="PFRICH_sensor_full_size_default * 4"/>
<!-- actual values used by the parametrization -->
<constant name="PFRICH_sensor_active_size" value="PFRICH_sensor_active_size_default"/>
<constant name="PFRICH_sensor_full_size" value="PFRICH_sensor_full_size_default"/>
<constant name="PFRICH_sensor_thickness" value="1.5*mm"/> <!-- sensor thickness -->
<constant name="PFRICH_sensor_dist" value="40*cm"/> <!-- distance between aerogel exit plane and sensor entrance plane -->
<constant name="PFRICH_num_px" value="8"/> <!-- number of pixels along one side of the sensor -->
<!-- debugging switches -->
<comment>
- `PFRICH_debug_optics`: 1 = all components become vacuum; test opticalphotons from IP
2 = all components become vacuum, except for `gasvol`, test charged particles from IP
0 = off
</comment>
<constant name="PFRICH_debug_optics" value="0"/>
</define>
<detectors>
<!-- /detectors/detector -->
<documentation level="10">
### pfRICH: Proximity Focusing RICH
</documentation>
<detector
id="BackwardRICH_ID"
name="PFRICH"
type="athena_PFRICH"
readout="PFRICHHits"
gas="C4F10_PFRICH"
material="Aluminum"
vis_vessel="DRICH_vessel_vis"
vis_gas="DRICH_gas_vis"
debug_optics="PFRICH_debug_optics"
>
<!-- /detectors/detector/dimensions -->
<documentation level="10">
#### Vessel
- dimensions:
- `zmin`: z-position of vessel front plane
- `length`: overall z-length of the full vessel
- `rmin0` and `rmin1`: bore radius at front plane and back plane, respectively
- `rmax0` and `rmax1`: outer radius of vessel, at front plane and back plane, respectively
- `wall_thickness`: thickness of radial walls
- `window_thickness`: thickness of entrance and exit disks
</documentation>
<dimensions
zmin="PFRICH_zmin"
zmax="PFRICH_zmax"
length="PFRICH_Length"
rmin0="PFRICH_rmin0"
rmin1="PFRICH_rmin1"
rmax0="PFRICH_rmax"
rmax1="PFRICH_rmax"
wall_thickness="PFRICH_wall_thickness"
window_thickness="PFRICH_window_thickness"
/>
<!-- /detectors/detector/radiator -->
<documentation level="10">
#### Radiator
- radiator is defined in a wedge of azimuthal space, composed of aerogel and a
filter; the filter is applied to the back of the aerogel, so that it separates
the aerogel and gas radiators
- dimensions:
- `frontplane`: front of the aerogel, w.r.t. front plane of the vessel envelope
- `rmin` and `rmax`: inner and outer radius (at the front plane; radial bounds are conical)
- `phiw`: azimuthal width of wedge
- `thickness`: radiator thickness, defined separately for aerogel and filter
- `pitch`: controls the angle of the radiator (0=vertical)
</documentation>
<radiator
frontplane="-PFRICH_window_thickness"
rmin="PFRICH_rmin0 + PFRICH_wall_thickness + 0.2*cm"
rmax="(PFRICH_rmax/PFRICH_zmax)*PFRICH_zmin + 8.0*cm"
phiw="60*degree"
pitch="0*degree"
>
<aerogel
material="Aerogel_DRICH"
vis="DRICH_aerogel_vis"
thickness="PFRICH_aerogel_thickness"
/>
<filter
material="Acrylic_DRICH"
vis="DRICH_filter_vis"
thickness="0.3*mm"
/>
</radiator>
<!-- /detectors/detector/sensors -->
<documentation level="10">
#### Sensors
</documentation>
<sensors>
<!-- /detectors/detector/sensors/module -->
<documentation level="10">
##### Sensor module
- based on Hamamatsu S13361-3050AE-08
- effective area: 24.0 x 24.0 mm
- enclosure size: 25.8 x 25.8 mm
- pixel size: 3x3 mm (8x8 matrix)
- thickness: 1.5 mm
- dimensions:
- `side`: side length of the square module
- `thickness`: thickness of the sensor module
- `gap`: provides room between the squares, to help prevent them from overlapping
- note: the values of `side` and `gap` will determine how many sensors there are, since the
sensor placement algorithm will try to place as many as it can in the specified region
</documentation>
<module
material="Silicon"
surface="SensorSurface_DRICH"
vis="PFRICH_sensor_vis"
side="PFRICH_sensor_active_size"
thickness="PFRICH_sensor_thickness"
gap="0.5*(PFRICH_sensor_full_size-PFRICH_sensor_active_size) + 0.5*mm"
/>
<!-- /detectors/detector/sensors/plane -->
<documentation level="10">
##### Sensor plane
- sensors will be placed on a plane
- plane dimensions:
- `sensordist`: distance between sensor plane active surface (e.g., photocathode) and aerogel backplane
- `rmin`: minimum radial position of a sensor's centroid
- `rmax`: maximum radial position of a sensor's centroid
</documentation>
<plane
sensordist="PFRICH_sensor_dist"
rmin="PFRICH_rmin1 + 2*cm"
rmax="PFRICH_rmax - 4*cm"
/>
<services>
<comment>
Material should be equivallent with 3x0.5cm Al, spread over the entire available distance.
This was confirmed by Silvia.
</comment>
<component name="aluminum" thickness="5*mm" vis="RICHServiceVis" material="Aluminum"/>
<component name="air" thickness="40*mm" vis="InvisibleNoDaughters" material="Air"/>
<component name="aluminum" thickness="5*mm" vis="RICHServiceVis" material="Aluminum"/>
<component name="air" thickness="40*mm" vis="InvisibleNoDaughters" material="Air"/>
<component name="aluminum" thickness="5*mm" vis="RICHServiceVis" material="Aluminum"/>
</services>
</sensors>
</detector>
</detectors>
<documentation level="10">
#### Readout
- segmentation: square matrix of pixels
- `grid_size_x,y`: size of each sensor, but note we must divide sensor size
by 1 less than the number of pixels, to account for fenceposting
- `offset_x,y`: specified such that the `x` and `y` indicators are unsigned
- indicators and `cellID` bits:
| indicator | offset | length |
|-----------|--------|--------|
| pfRICH ID | 0 | 8 |
| sensor | 8 | 12 |
| x pixel | 20 | 16 |
| y pixel | 36 | 16 |
</documentation>
<readouts>
<readout name="PFRICHHits">
<segmentation
type="CartesianGridXY"
grid_size_x="PFRICH_sensor_active_size/(PFRICH_num_px-1)"
grid_size_y="PFRICH_sensor_active_size/(PFRICH_num_px-1)"
offset_x="-PFRICH_sensor_active_size/2.0"
offset_y="-PFRICH_sensor_active_size/2.0"
/>
<id>system:8,module:12,x:20:16,y:16</id>
</readout>
</readouts>
</lccdd>
<lccdd> <lccdd>
<include ref="fake_dirc.xml"/> <include ref="fake_dirc.xml"/>
<!--include ref="dirc.xml"/-->
<include ref="mrich.xml"/> <include ref="mrich.xml"/>
<include ref="drich.xml"/> <include ref="drich.xml"/>
</lccdd> </lccdd>
<lccdd>
<include ref="fake_dirc.xml"/>
<!--include ref="dirc.xml"/-->
<include ref="drich.xml"/>
<include ref="pfrich.xml"/>
</lccdd>
<lccdd>
<include ref="fake_dirc.xml"/>
<!--include ref="dirc.xml"/-->
<include ref="drich.xml"/>
<include ref="pfrich.xml"/>
<!--include ref="tof_endcap.xml"/-->
<include ref="tof_barrel.xml"/>
</lccdd>
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
<constant name="SolenoidBarrelInnerSecondMLILayerThickness" value=" 20.0 * mm"/> <constant name="SolenoidBarrelInnerSecondMLILayerThickness" value=" 20.0 * mm"/>
<constant name="SolenoidBarrelInnerThermalShieldThickness" value=" 10.0 * mm"/> <constant name="SolenoidBarrelInnerThermalShieldThickness" value=" 10.0 * mm"/>
<constant name="SolenoidBarrelInnerFirstMLILayerThickness" value=" 15.0 * mm"/> <constant name="SolenoidBarrelInnerFirstMLILayerThickness" value=" 15.0 * mm"/>
<constant name="SolenoidBarrelInnerHeliumVesselThickness" value=" 20.0 * mm"/> <constant name="SolenoidBarrelInnerHeliumVesselThickness" value=" 15.0 * mm"/>
<constant name="SolenoidBarrelInnerHeliumThickness" value=" 10.0 * mm"/> <constant name="SolenoidBarrelInnerHeliumThickness" value=" 10.0 * mm"/>
<constant name="SolenoidBarrelCoilFormerThickness" value=" 50.0 * mm"/> <constant name="SolenoidBarrelCoilFormerThickness" value=" 10.0 * mm"/>
<constant name="SolenoidBarrelCoilThickness" value="200.0 * mm"/> <constant name="SolenoidBarrelCoilThickness" value="210.0 * mm"/>
<constant name="SolenoidBarrelCoilOverbindThickness" value="200.0 * mm"/> <constant name="SolenoidBarrelCoilOverbindThickness" value=" 50.0 * mm"/>
<constant name="SolenoidBarrelOuterHeliumThickness" value=" 15.0 * mm"/> <constant name="SolenoidBarrelOuterHeliumThickness" value=" 15.0 * mm"/>
<constant name="SolenoidBarrelOuterHeliumVesselThickness" value=" 10.0 * mm"/> <constant name="SolenoidBarrelOuterHeliumVesselThickness" value=" 10.0 * mm"/>
<constant name="SolenoidBarrelOuterFirstMLILayerThickness" value=" 15.0 * mm"/> <constant name="SolenoidBarrelOuterFirstMLILayerThickness" value=" 15.0 * mm"/>
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
inner_r="SolenoidBarrelInnerSecondMLILayer_rmin" inner_r="SolenoidBarrelInnerSecondMLILayer_rmin"
outer_z="SolenoidBarrelInnerSecondMLILayer_zmax" outer_z="SolenoidBarrelInnerSecondMLILayer_zmax"
vis="SolenoidCryostatVis"> vis="SolenoidCryostatVis">
<slice material="Vacuum" thickness="SolenoidBarrelInnerSecondMLILayerThickness"/> <slice material="MylarMLI" thickness="SolenoidBarrelInnerSecondMLILayerThickness"/>
</layer> </layer>
<layer id="3" <layer id="3"
inner_r="SolenoidBarrelInnerThermalShield_rmin" inner_r="SolenoidBarrelInnerThermalShield_rmin"
...@@ -142,7 +142,7 @@ ...@@ -142,7 +142,7 @@
inner_r="SolenoidBarrelInnerFirstMLILayer_rmin" inner_r="SolenoidBarrelInnerFirstMLILayer_rmin"
outer_z="SolenoidBarrelInnerFirstMLILayer_zmax" outer_z="SolenoidBarrelInnerFirstMLILayer_zmax"
vis="SolenoidCryostatVis"> vis="SolenoidCryostatVis">
<slice material="Vacuum" thickness="SolenoidBarrelInnerFirstMLILayerThickness"/> <slice material="MylarMLI" thickness="SolenoidBarrelInnerFirstMLILayerThickness"/>
</layer> </layer>
<layer id="5" <layer id="5"
inner_r="SolenoidBarrelInnerHeliumVessel_rmin" inner_r="SolenoidBarrelInnerHeliumVessel_rmin"
...@@ -162,19 +162,19 @@ ...@@ -162,19 +162,19 @@
inner_r="SolenoidBarrelCoilFormer_rmin" inner_r="SolenoidBarrelCoilFormer_rmin"
outer_z="SolenoidBarrelCoilFormer_zmax" outer_z="SolenoidBarrelCoilFormer_zmax"
vis="SolenoidCryostatVis"> vis="SolenoidCryostatVis">
<slice material="Steel235" thickness="SolenoidBarrelCoilFormerThickness"/> <slice material="Aluminum" thickness="SolenoidBarrelCoilFormerThickness"/>
</layer> </layer>
<layer id="8" <layer id="8"
inner_r="SolenoidBarrelCoil_rmin" inner_r="SolenoidBarrelCoil_rmin"
outer_z="SolenoidBarrelCoil_zmax" outer_z="SolenoidBarrelCoil_zmax"
vis="SolenoidCryostatVis"> vis="SolenoidCryostatVis">
<slice material="Copper" thickness="SolenoidBarrelCoilThickness"/> <slice material="Aluminum" thickness="SolenoidBarrelCoilThickness"/>
</layer> </layer>
<layer id="9" <layer id="9"
inner_r="SolenoidBarrelCoilOverbind_rmin" inner_r="SolenoidBarrelCoilOverbind_rmin"
outer_z="SolenoidBarrelCoilOverbind_zmax" outer_z="SolenoidBarrelCoilOverbind_zmax"
vis="SolenoidCryostatVis"> vis="SolenoidCryostatVis">
<slice material="Steel235" thickness="SolenoidBarrelCoilOverbindThickness"/> <slice material="Aluminum" thickness="SolenoidBarrelCoilOverbindThickness"/>
</layer> </layer>
<layer id="10" <layer id="10"
...@@ -194,7 +194,7 @@ ...@@ -194,7 +194,7 @@
inner_r="SolenoidBarrelOuterFirstMLILayer_rmin" inner_r="SolenoidBarrelOuterFirstMLILayer_rmin"
outer_z="SolenoidBarrelOuterFirstMLILayer_zmax" outer_z="SolenoidBarrelOuterFirstMLILayer_zmax"
vis="SolenoidCryostatVis"> vis="SolenoidCryostatVis">
<slice material="Vacuum" thickness="SolenoidBarrelOuterFirstMLILayerThickness"/> <slice material="MylarMLI" thickness="SolenoidBarrelOuterFirstMLILayerThickness"/>
</layer> </layer>
<layer id="13" <layer id="13"
inner_r="SolenoidBarrelOuterThermalShield_rmin" inner_r="SolenoidBarrelOuterThermalShield_rmin"
...@@ -206,7 +206,7 @@ ...@@ -206,7 +206,7 @@
inner_r="SolenoidBarrelOuterSecondMLILayer_rmin" inner_r="SolenoidBarrelOuterSecondMLILayer_rmin"
outer_z="SolenoidBarrelOuterSecondMLILayer_zmax" outer_z="SolenoidBarrelOuterSecondMLILayer_zmax"
vis="SolenoidCryostatVis"> vis="SolenoidCryostatVis">
<slice material="Vacuum" thickness="SolenoidBarrelOuterSecondMLILayerThickness"/> <slice material="MylarMLI" thickness="SolenoidBarrelOuterSecondMLILayerThickness"/>
</layer> </layer>
<layer id="15" <layer id="15"
inner_r="SolenoidBarrelOuterVacuumVessel_rmin" inner_r="SolenoidBarrelOuterVacuumVessel_rmin"
...@@ -228,7 +228,7 @@ ...@@ -228,7 +228,7 @@
inner_z="SolenoidEndcapCoilEndSupport_zmin" inner_z="SolenoidEndcapCoilEndSupport_zmin"
inner_r="SolenoidEndcapCoilEndSupport_rmin" inner_r="SolenoidEndcapCoilEndSupport_rmin"
outer_r="SolenoidEndcapCoilEndSupport_rmax"> outer_r="SolenoidEndcapCoilEndSupport_rmax">
<slice material="Steel235" thickness="SolenoidEndcapCoilEndSupportThickness"/> <slice material="Aluminum" thickness="SolenoidEndcapCoilEndSupportThickness"/>
</layer> </layer>
<layer id="2" <layer id="2"
inner_z="SolenoidEndcapHelium_zmin" inner_z="SolenoidEndcapHelium_zmin"
...@@ -246,7 +246,7 @@ ...@@ -246,7 +246,7 @@
inner_z="SolenoidEndcapFirstMLILayer_zmin" inner_z="SolenoidEndcapFirstMLILayer_zmin"
inner_r="SolenoidEndcapFirstMLILayer_rmin" inner_r="SolenoidEndcapFirstMLILayer_rmin"
outer_r="SolenoidEndcapFirstMLILayer_rmax"> outer_r="SolenoidEndcapFirstMLILayer_rmax">
<slice material="Vacuum" thickness="SolenoidEndcapFirstMLILayerThickness"/> <slice material="MylarMLI" thickness="SolenoidEndcapFirstMLILayerThickness"/>
</layer> </layer>
<layer id="5" <layer id="5"
inner_z="SolenoidEndcapThermalShield_zmin" inner_z="SolenoidEndcapThermalShield_zmin"
...@@ -258,7 +258,7 @@ ...@@ -258,7 +258,7 @@
inner_z="SolenoidEndcapSecondMLILayer_zmin" inner_z="SolenoidEndcapSecondMLILayer_zmin"
inner_r="SolenoidEndcapSecondMLILayer_rmin" inner_r="SolenoidEndcapSecondMLILayer_rmin"
outer_r="SolenoidEndcapSecondMLILayer_rmax"> outer_r="SolenoidEndcapSecondMLILayer_rmax">
<slice material="Vacuum" thickness="SolenoidEndcapSecondMLILayerThickness"/> <slice material="MylarMLI" thickness="SolenoidEndcapSecondMLILayerThickness"/>
</layer> </layer>
<layer id="7" <layer id="7"
inner_z="SolenoidEndcapVacuumVessel_zmin" inner_z="SolenoidEndcapVacuumVessel_zmin"
...@@ -280,7 +280,7 @@ ...@@ -280,7 +280,7 @@
inner_z="SolenoidEndcapCoilEndSupport_zmin" inner_z="SolenoidEndcapCoilEndSupport_zmin"
inner_r="SolenoidEndcapCoilEndSupport_rmin" inner_r="SolenoidEndcapCoilEndSupport_rmin"
outer_r="SolenoidEndcapCoilEndSupport_rmax"> outer_r="SolenoidEndcapCoilEndSupport_rmax">
<slice material="Steel235" thickness="SolenoidEndcapCoilEndSupportThickness"/> <slice material="Aluminum" thickness="SolenoidEndcapCoilEndSupportThickness"/>
</layer> </layer>
<layer id="2" <layer id="2"
inner_z="SolenoidEndcapHelium_zmin" inner_z="SolenoidEndcapHelium_zmin"
...@@ -298,7 +298,7 @@ ...@@ -298,7 +298,7 @@
inner_z="SolenoidEndcapFirstMLILayer_zmin" inner_z="SolenoidEndcapFirstMLILayer_zmin"
inner_r="SolenoidEndcapFirstMLILayer_rmin" inner_r="SolenoidEndcapFirstMLILayer_rmin"
outer_r="SolenoidEndcapFirstMLILayer_rmax"> outer_r="SolenoidEndcapFirstMLILayer_rmax">
<slice material="Vacuum" thickness="SolenoidEndcapFirstMLILayerThickness"/> <slice material="MylarMLI" thickness="SolenoidEndcapFirstMLILayerThickness"/>
</layer> </layer>
<layer id="5" <layer id="5"
inner_z="SolenoidEndcapThermalShield_zmin" inner_z="SolenoidEndcapThermalShield_zmin"
...@@ -310,7 +310,7 @@ ...@@ -310,7 +310,7 @@
inner_z="SolenoidEndcapSecondMLILayer_zmin" inner_z="SolenoidEndcapSecondMLILayer_zmin"
inner_r="SolenoidEndcapSecondMLILayer_rmin" inner_r="SolenoidEndcapSecondMLILayer_rmin"
outer_r="SolenoidEndcapSecondMLILayer_rmax"> outer_r="SolenoidEndcapSecondMLILayer_rmax">
<slice material="Vacuum" thickness="SolenoidEndcapSecondMLILayerThickness"/> <slice material="MylarMLI" thickness="SolenoidEndcapSecondMLILayerThickness"/>
</layer> </layer>
<layer id="7" <layer id="7"
inner_z="SolenoidEndcapVacuumVessel_zmin" inner_z="SolenoidEndcapVacuumVessel_zmin"
...@@ -327,12 +327,12 @@ ...@@ -327,12 +327,12 @@
zmin="-SolenoidBarrelCoil_zmax" zmax="SolenoidBarrelCoil_zmax" zmin="-SolenoidBarrelCoil_zmax" zmax="SolenoidBarrelCoil_zmax"
inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/--> inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/-->
<field type="FieldMapBrBz" name="GlobalSolenoid" field_type="magnetic" <field type="FieldMapBrBz" name="GlobalSolenoid" field_type="magnetic"
field_map="fieldmaps/EIC_Magnetic_Field_Map_2021_05_07_radial_coords__cm___T_.120000.lines.Bmap" field_map="fieldmaps/EIC_v.2.0.3_Magnetic_Field_Map_2021_09_28_radial_coords_cm_T.Bmap.txt"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/9179a98c5a80df1f2b98968c747c1c48/EIC_Magnetic_Field_Map_2021_05_07_radial_coords__cm___T_.120000.lines.Bmap" url="https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/fd64db33e1c99547ab1840d8847fd1c1/EIC_v.2.0.3_Magnetic_Field_Map_2021_09_28_radial_coords_cm_T.Bmap.txt"
scale="-1.0"> scale="-1.0">
<dimensions> <dimensions>
<transverse step="2.0*cm" rmin="0*cm" rmax="398*cm" /> <transverse step="2.0*cm" rmin="0*cm" rmax="998*cm" />
<longitudinal step="2.0*cm" zmin="-600*cm" zmax="598*cm" /> <longitudinal step="2.0*cm" zmin="-800*cm" zmax="798*cm" />
<translation x="0.0*cm" y="0.0*cm" z="0.0*cm" /> <translation x="0.0*cm" y="0.0*cm" z="0.0*cm" />
<rotation x="0" y="0" z="0" /> <rotation x="0" y="0" z="0" />
</dimensions> </dimensions>
......
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
The ip6 (or other ip) defines should be included first. The ip6 (or other ip) defines should be included first.
These files have only a define tags. These files have only a define tags.
</documentation> </documentation>
<include ref="ip6/ip6_defs.xml" /> <include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" /> <include ref="compact/definitions.xml" />
</define> </define>
...@@ -58,9 +59,7 @@ ...@@ -58,9 +59,7 @@
<display> <display>
<include ref="compact/colors.xml" /> <include ref="compact/colors.xml" />
<!--include ref="compact/colors2.xml"/--> <include ref="compact/display_detailed.xml" />
<include ref="compact/display.xml" />
<!--include ref="compact/display_detailed.xml"/-->
</display> </display>
<documentation level="0"> <documentation level="0">
...@@ -87,7 +86,7 @@ ...@@ -87,7 +86,7 @@
Beamline elements Beamline elements
----------------- -----------------
</comment> </comment>
<include ref="ip6/beampipe.xml" /> <include ref="ip6/central_beampipe.xml" />
<documentation level="5"> <documentation level="5">
## Main magnet ## Main magnet
...@@ -96,125 +95,12 @@ ...@@ -96,125 +95,12 @@
</documentation> </documentation>
<include ref="compact/solenoid.xml"/> <include ref="compact/solenoid.xml"/>
<documentation level="5">
### Tracker subassemblies for ACTS
</documentation>
<detectors>
<detector id="VertexBarrelSubAssembly_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="VertexEndcapSubAssembly_ID"
name="VertexEndcapSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerBarrelSubAssembly_Inner_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Inner"/>
</detector>
<detector id="TrackerEndcapSubAssembly_Inner_ID"
name="TrackerEndcapSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerBarrelSubAssembly_Outer_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
</detectors>
<documentation level="10"> <documentation level="10">
## Central calorimetry ## Central calorimetry
</documentation> </documentation>
<include ref="compact/ecal.xml"/> <include ref="compact/ecal.xml"/>
<include ref="compact/hcal.xml"/> <include ref="compact/hcal.xml"/>
<fields>
<field name="B0PF_Magnet" type="MultipoleMagnet">
<position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/>
<rotation x="0" y="B0PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0PF_InnerRadius" dz="B0PF_Length*0.5"/>
<coefficient coefficient="B0PF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="B0APF_Magnet" type="MultipoleMagnet">
<position x="B0APF_XPosition" y="0" z="B0APF_CenterPosition"/>
<rotation x="0" y="B0APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0APF_InnerRadius" dz="B0APF_Length*0.5"/>
<coefficient coefficient="B0APF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="Q1APF_Magnet" type="MultipoleMagnet">
<position x="Q1APF_XPosition" y="0" z="Q1APF_CenterPosition"/>
<rotation x="0" y="Q1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1APF_InnerRadius" dz="Q1APF_Length*0.5"/>
<coefficient coefficient="Q1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q1BPF_Magnet" type="MultipoleMagnet">
<position x="Q1BPF_XPosition" y="0" z="Q1BPF_CenterPosition"/>
<rotation x="0" y="Q1BPF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1BPF_InnerRadius" dz="Q1BPF_Length*0.5"/>
<coefficient coefficient="Q1BPF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1BPF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q2PF_Magnet" type="MultipoleMagnet">
<position x="Q2PF_XPosition" y="0" z="Q2PF_CenterPosition"/>
<rotation x="0" y="Q2PF_RotationAngle" z="pi/2.0"/>
<shape type="Tube" rmin="0.0" rmax="Q2PF_InnerRadius" dz="Q2PF_Length*0.5"/>
<coefficient coefficient="Q2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1PF_Magnet" type="MultipoleMagnet">
<position x="B1PF_XPosition" y="0" z="B1PF_CenterPosition"/>
<rotation x="0" y="B1PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1PF_InnerRadius" dz="B1PF_Length*0.5"/>
<coefficient coefficient="B1PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1APF_Magnet" type="MultipoleMagnet">
<position x="B1APF_XPosition" y="0" z="B1APF_CenterPosition"/>
<rotation x="0" y="B1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1APF_InnerRadius" dz="B1APF_Length*0.5"/>
<coefficient coefficient="B1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B2PF_Magnet" type="MultipoleMagnet">
<position x="B2PF_XPosition" y="0" z="B2PF_CenterPosition"/>
<rotation x="0" y="B2PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B2PF_InnerRadius" dz="B2PF_Length*0.5"/>
<coefficient coefficient="B2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
</fields>
<comment>
FB elements
-----------
None (TODO)
What is FB?
</comment>
<readouts> <readouts>
</readouts> </readouts>
......
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
The ip6 (or other ip) defines should be included first. The ip6 (or other ip) defines should be included first.
These files have only a define tags. These files have only a define tags.
</documentation> </documentation>
<include ref="ip6/ip6_defs.xml" /> <include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" /> <include ref="compact/definitions.xml" />
</define> </define>
...@@ -58,7 +59,7 @@ ...@@ -58,7 +59,7 @@
<display> <display>
<include ref="compact/colors.xml" /> <include ref="compact/colors.xml" />
<include ref="compact/display.xml" /> <include ref="compact/display_detailed.xml" />
</display> </display>
<documentation level="0"> <documentation level="0">
...@@ -134,7 +135,7 @@ ...@@ -134,7 +135,7 @@
</detectors> </detectors>
<include ref="compact/dirc.xml"/> <include ref="compact/fake_dirc.xml"/>
<readouts> <readouts>
</readouts> </readouts>
......
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<include ref="compact/display_detailed.xml" />
</display>
<documentation level="10">
## dRICh only
</documentation>
<include ref="ip6/central_beampipe.xml" />
<include ref="compact/drich.xml" />
</lccdd>
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
The ip6 (or other ip) defines should be included first. The ip6 (or other ip) defines should be included first.
These files have only a define tags. These files have only a define tags.
</documentation> </documentation>
<include ref="ip6/ip6_defs.xml" /> <include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" /> <include ref="compact/definitions.xml" />
</define> </define>
...@@ -59,8 +60,7 @@ ...@@ -59,8 +60,7 @@
<display> <display>
<include ref="compact/colors.xml" /> <include ref="compact/colors.xml" />
<!--include ref="compact/colors2.xml"/--> <!--include ref="compact/colors2.xml"/-->
<include ref="compact/display.xml" /> <include ref="compact/display.xml"/>
<!--include ref="compact/display_detailed.xml"/-->
</display> </display>
<documentation level="0"> <documentation level="0">
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
Beamline elements Beamline elements
----------------- -----------------
</comment> </comment>
<include ref="ip6/beampipe.xml" /> <include ref="ip6/central_beampipe.xml" />
<documentation level="5"> <documentation level="5">
## Main magnet ## Main magnet
...@@ -95,156 +95,15 @@ ...@@ -95,156 +95,15 @@
Note: When changing magnet, also select dimensions in definitions.xml. Note: When changing magnet, also select dimensions in definitions.xml.
</documentation> </documentation>
<documentation level="5">
### Tracker subassemblies for ACTS
</documentation>
<detectors>
<detector id="VertexBarrelSubAssembly_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="VertexEndcapSubAssembly_ID"
name="VertexEndcapSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerBarrelSubAssembly_Inner_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Inner"/>
</detector>
<detector id="TrackerEndcapSubAssembly_Inner_ID"
name="TrackerEndcapSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerBarrelSubAssembly_Outer_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<comment>
TOF disabled for baseline
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</comment>
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SubAssemblyVis">
<composite name="GEMTrackerEndcapP"/>
<composite name="GEMTrackerEndcapN"/>
</detector>
</detectors>
<documentation level="10"> <documentation level="10">
## Central tracking detectors ## Central tracking detectors
</documentation> </documentation>
<include ref="compact/tracking_config_deathvalley.xml"/>
<include ref="compact/tracking_config_acadia.xml"/>
<!--include ref="compact/tracking_config_mgpds.xml"/-->
<documentation level="10"> <documentation level="10">
### PID detectors ### PID detectors
</documentation> </documentation>
<include ref="compact/pid_config_acadia.xml"/> <include ref="compact/pid_config_deathvalley.xml"/>
<documentation level="10">
## Central calorimetry
</documentation>
<documentation level="11">
## Far foward detectors
</documentation>
<fields>
<field name="B0PF_Magnet" type="MultipoleMagnet">
<position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/>
<rotation x="0" y="B0PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0PF_InnerRadius" dz="B0PF_Length*0.5"/>
<coefficient coefficient="B0PF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="B0APF_Magnet" type="MultipoleMagnet">
<position x="B0APF_XPosition" y="0" z="B0APF_CenterPosition"/>
<rotation x="0" y="B0APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0APF_InnerRadius" dz="B0APF_Length*0.5"/>
<coefficient coefficient="B0APF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="Q1APF_Magnet" type="MultipoleMagnet">
<position x="Q1APF_XPosition" y="0" z="Q1APF_CenterPosition"/>
<rotation x="0" y="Q1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1APF_InnerRadius" dz="Q1APF_Length*0.5"/>
<coefficient coefficient="Q1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q1BPF_Magnet" type="MultipoleMagnet">
<position x="Q1BPF_XPosition" y="0" z="Q1BPF_CenterPosition"/>
<rotation x="0" y="Q1BPF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1BPF_InnerRadius" dz="Q1BPF_Length*0.5"/>
<coefficient coefficient="Q1BPF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1BPF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q2PF_Magnet" type="MultipoleMagnet">
<position x="Q2PF_XPosition" y="0" z="Q2PF_CenterPosition"/>
<rotation x="0" y="Q2PF_RotationAngle" z="pi/2.0"/>
<shape type="Tube" rmin="0.0" rmax="Q2PF_InnerRadius" dz="Q2PF_Length*0.5"/>
<coefficient coefficient="Q2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1PF_Magnet" type="MultipoleMagnet">
<position x="B1PF_XPosition" y="0" z="B1PF_CenterPosition"/>
<rotation x="0" y="B1PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1PF_InnerRadius" dz="B1PF_Length*0.5"/>
<coefficient coefficient="B1PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1APF_Magnet" type="MultipoleMagnet">
<position x="B1APF_XPosition" y="0" z="B1APF_CenterPosition"/>
<rotation x="0" y="B1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1APF_InnerRadius" dz="B1APF_Length*0.5"/>
<coefficient coefficient="B1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B2PF_Magnet" type="MultipoleMagnet">
<position x="B2PF_XPosition" y="0" z="B2PF_CenterPosition"/>
<rotation x="0" y="B2PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B2PF_InnerRadius" dz="B2PF_Length*0.5"/>
<coefficient coefficient="B2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
</fields>
<comment>
FB elements
-----------
None (TODO)
What is FB?
</comment>
<readouts> <readouts>
</readouts> </readouts>
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<debug> <debug>
<type name="surface" value="0"/> <type name="surface" value="0"/>
<type name="material" value="0"/> <type name="material" value="0"/>
<type name="readout" value="0"/> <type name="readout" value="0"/>
<type name="segmentation" value="0"/> <type name="segmentation" value="0"/>
<type name="limits" value="0"/> <type name="limits" value="0"/>
...@@ -21,9 +21,9 @@ ...@@ -21,9 +21,9 @@
<!-- Some information about detector --> <!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector" <info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration" author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git" url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development" status="development"
version="v1 2021-03-16"> version="v1 2021-03-16">
<comment> Athena </comment> <comment> Athena </comment>
</info> </info>
<define> <define>
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
The ip6 (or other ip) defines should be included first. The ip6 (or other ip) defines should be included first.
These files have only a define tags. These files have only a define tags.
</documentation> </documentation>
<include ref="ip6/ip6_defs.xml" /> <include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" /> <include ref="compact/definitions.xml" />
</define> </define>
...@@ -58,7 +59,9 @@ ...@@ -58,7 +59,9 @@
<display> <display>
<include ref="compact/colors.xml" /> <include ref="compact/colors.xml" />
<!--include ref="compact/colors2.xml"/-->
<include ref="compact/display.xml" /> <include ref="compact/display.xml" />
<!--include ref="compact/display_detailed.xml"/-->
</display> </display>
<documentation level="0"> <documentation level="0">
...@@ -81,161 +84,19 @@ ...@@ -81,161 +84,19 @@
- and more... - and more...
</documentation> </documentation>
<comment> <documentation level="11">
Beamline elements ## Far foward detectors
----------------- </documentation>
</comment> <include ref="ip6/central_beampipe.xml"/>
<comment>
Main magnet
-----------
Note: When changing magnet, also select dimensions in definitions.xml.
</comment>
<!--include ref="compact/solenoid.xml"/-->
<comment>
Tracker subassemblies for ACTS
------------------------------
</comment>
<detectors>
<detector id="VertexBarrelSubAssembly_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="VertexEndcapSubAssembly_ID"
name="VertexEndcapSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerBarrelSubAssembly_Inner_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Inner"/>
</detector>
<detector id="TrackerEndcapSubAssembly_Inner_ID"
name="TrackerEndcapSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerBarrelSubAssembly_Outer_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<comment>
TOF disabled for baseline
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</comment>
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SubAssemblyVis">
<composite name="GEMTrackerEndcapP"/>
<composite name="GEMTrackerEndcapN"/>
</detector>
</detectors>
<comment>
Central tracking detectors
--------------------------
</comment>
<include ref="compact/vertex_tracker.xml"/>
<include ref="compact/central_tracker.xml"/>
<comment>
PID detectors
-------------
</comment>
<fields>
<field name="B0PF_Magnet" type="MultipoleMagnet">
<position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/>
<rotation x="0" y="B0PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0PF_InnerRadius" dz="B0PF_Length*0.5"/>
<coefficient coefficient="B0PF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="B0APF_Magnet" type="MultipoleMagnet">
<position x="B0APF_XPosition" y="0" z="B0APF_CenterPosition"/>
<rotation x="0" y="B0APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0APF_InnerRadius" dz="B0APF_Length*0.5"/>
<coefficient coefficient="B0APF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="Q1APF_Magnet" type="MultipoleMagnet">
<position x="Q1APF_XPosition" y="0" z="Q1APF_CenterPosition"/>
<rotation x="0" y="Q1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1APF_InnerRadius" dz="Q1APF_Length*0.5"/>
<coefficient coefficient="Q1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q1BPF_Magnet" type="MultipoleMagnet">
<position x="Q1BPF_XPosition" y="0" z="Q1BPF_CenterPosition"/>
<rotation x="0" y="Q1BPF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1BPF_InnerRadius" dz="Q1BPF_Length*0.5"/>
<coefficient coefficient="Q1BPF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1BPF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q2PF_Magnet" type="MultipoleMagnet">
<position x="Q2PF_XPosition" y="0" z="Q2PF_CenterPosition"/>
<rotation x="0" y="Q2PF_RotationAngle" z="pi/2.0"/>
<shape type="Tube" rmin="0.0" rmax="Q2PF_InnerRadius" dz="Q2PF_Length*0.5"/>
<coefficient coefficient="Q2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1PF_Magnet" type="MultipoleMagnet">
<position x="B1PF_XPosition" y="0" z="B1PF_CenterPosition"/>
<rotation x="0" y="B1PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1PF_InnerRadius" dz="B1PF_Length*0.5"/>
<coefficient coefficient="B1PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1APF_Magnet" type="MultipoleMagnet">
<position x="B1APF_XPosition" y="0" z="B1APF_CenterPosition"/>
<rotation x="0" y="B1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1APF_InnerRadius" dz="B1APF_Length*0.5"/>
<coefficient coefficient="B1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B2PF_Magnet" type="MultipoleMagnet">
<position x="B2PF_XPosition" y="0" z="B2PF_CenterPosition"/>
<rotation x="0" y="B2PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B2PF_InnerRadius" dz="B2PF_Length*0.5"/>
<coefficient coefficient="B2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
</fields>
<comment> <documentation level="11">
FB elements ## Far foward detectors
----------- </documentation>
None (TODO) <include ref="ip6/far_forward.xml"/>
</comment>
<readouts> <documentation level="11">
</readouts> ## Far backward detectors
</documentation>
<include ref="ip6/far_backward.xml"/>
</lccdd> </lccdd>
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<include ref="compact/display_detailed.xml" />
</display>
<documentation level="10">
## pfRICH only
</documentation>
<include ref="ip6/central_beampipe.xml" />
<include ref="compact/pfrich.xml" />
</lccdd>
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
The ip6 (or other ip) defines should be included first. The ip6 (or other ip) defines should be included first.
These files have only a define tags. These files have only a define tags.
</documentation> </documentation>
<include ref="ip6/ip6_defs.xml" /> <include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" /> <include ref="compact/definitions.xml" />
</define> </define>
...@@ -58,7 +59,7 @@ ...@@ -58,7 +59,7 @@
<display> <display>
<include ref="compact/colors.xml" /> <include ref="compact/colors.xml" />
<include ref="compact/display.xml" /> <include ref="compact/display_detailed.xml" />
</display> </display>
<documentation level="0"> <documentation level="0">
...@@ -85,156 +86,13 @@ ...@@ -85,156 +86,13 @@
Beamline elements Beamline elements
----------------- -----------------
</comment> </comment>
<comment> <include ref="ip6/central_beampipe.xml" />
Main magnet
-----------
Note: When changing magnet, also select dimensions in definitions.xml.
</comment>
<comment>
Tracker subassemblies for ACTS
------------------------------
</comment>
<detectors>
<detector id="VertexBarrelSubAssembly_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="VertexEndcapSubAssembly_ID"
name="VertexEndcapSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerBarrelSubAssembly_Inner_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Inner"/>
</detector>
<detector id="TrackerEndcapSubAssembly_Inner_ID"
name="TrackerEndcapSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerBarrelSubAssembly_Outer_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<comment>
TOF disabled for baseline
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</comment>
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SubAssemblyVis">
<composite name="GEMTrackerEndcapP"/>
<composite name="GEMTrackerEndcapN"/>
</detector>
</detectors>
<documentation level="10">
## Central tracking detectors
</documentation>
<comment> <comment>
PID detectors PID detectors
------------- -------------
</comment> </comment>
<include ref="compact/pid_config_acadia.xml"/> <include ref="compact/pid_config_deathvalley.xml"/>
<comment>
FF elements
-----------
</comment>
<fields>
<field name="B0PF_Magnet" type="MultipoleMagnet">
<position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/>
<rotation x="0" y="B0PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0PF_InnerRadius" dz="B0PF_Length*0.5"/>
<coefficient coefficient="B0PF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="B0APF_Magnet" type="MultipoleMagnet">
<position x="B0APF_XPosition" y="0" z="B0APF_CenterPosition"/>
<rotation x="0" y="B0APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0APF_InnerRadius" dz="B0APF_Length*0.5"/>
<coefficient coefficient="B0APF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="Q1APF_Magnet" type="MultipoleMagnet">
<position x="Q1APF_XPosition" y="0" z="Q1APF_CenterPosition"/>
<rotation x="0" y="Q1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1APF_InnerRadius" dz="Q1APF_Length*0.5"/>
<coefficient coefficient="Q1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q1BPF_Magnet" type="MultipoleMagnet">
<position x="Q1BPF_XPosition" y="0" z="Q1BPF_CenterPosition"/>
<rotation x="0" y="Q1BPF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1BPF_InnerRadius" dz="Q1BPF_Length*0.5"/>
<coefficient coefficient="Q1BPF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1BPF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q2PF_Magnet" type="MultipoleMagnet">
<position x="Q2PF_XPosition" y="0" z="Q2PF_CenterPosition"/>
<rotation x="0" y="Q2PF_RotationAngle" z="pi/2.0"/>
<shape type="Tube" rmin="0.0" rmax="Q2PF_InnerRadius" dz="Q2PF_Length*0.5"/>
<coefficient coefficient="Q2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1PF_Magnet" type="MultipoleMagnet">
<position x="B1PF_XPosition" y="0" z="B1PF_CenterPosition"/>
<rotation x="0" y="B1PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1PF_InnerRadius" dz="B1PF_Length*0.5"/>
<coefficient coefficient="B1PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1APF_Magnet" type="MultipoleMagnet">
<position x="B1APF_XPosition" y="0" z="B1APF_CenterPosition"/>
<rotation x="0" y="B1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1APF_InnerRadius" dz="B1APF_Length*0.5"/>
<coefficient coefficient="B1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B2PF_Magnet" type="MultipoleMagnet">
<position x="B2PF_XPosition" y="0" z="B2PF_CenterPosition"/>
<rotation x="0" y="B2PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B2PF_InnerRadius" dz="B2PF_Length*0.5"/>
<coefficient coefficient="B2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
</fields>
<comment>
FB elements
-----------
None (TODO)
</comment>
<readouts> <readouts>
</readouts> </readouts>
......
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<debug>
<type name="surface" value="0"/>
<type name="material" value="0"/>
<type name="readout" value="0"/>
<type name="segmentation" value="0"/>
<type name="limits" value="0"/>
<type name="region" value="0"/>
<type name="includes" value="0"/>
</debug>
<documentation level="-1">
# Athena Detector
- https://eicweb.phy.anl.gov/EIC/detectors/athena.git
- https://eicweb.phy.anl.gov/EIC/detectors/ip6.git
</documentation>
<!-- Some information about detector -->
<info name="Athena Detector" title="Athena Detector"
author="Athena Collaboration"
url="https://eicweb.phy.anl.gov/EIC/detectors/athena.git"
status="development"
version="v1 2021-03-16">
<comment> Athena </comment>
</info>
<define>
<documentation level="2">
## Main Constant Definitions
The ip6 (or other ip) defines should be included first.
These files have only a define tags.
</documentation>
<include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" />
</define>
<includes>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
<file ref="compact/optical_materials.xml"/>
</includes>
<limits>
<limitset name="EICBeamlineLimits">
<limit name="step_length_max" particles="*" value="1.0" unit="mm" />
<limit name="track_length_max" particles="*" value="1.0" unit="mm" />
<limit name="time_max" particles="*" value="0.1" unit="ns" />
<limit name="ekin_min" particles="*" value="0.001" unit="MeV" />
<limit name="range_min" particles="*" value="0.1" unit="mm" />
</limitset>
<limitset name="cal_limits">
<limit name="step_length_max" particles="*" value="5.0" unit="mm"/>
</limitset>
</limits>
<display>
<include ref="compact/colors.xml" />
<include ref="compact/display_detailed.xml" />
</display>
<documentation level="10">
## TOF only
</documentation>
<include ref="ip6/central_beampipe.xml" />
<include ref="compact/tof_barrel.xml" />
</lccdd>
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
The ip6 (or other ip) defines should be included first. The ip6 (or other ip) defines should be included first.
These files have only a define tags. These files have only a define tags.
</documentation> </documentation>
<include ref="ip6/ip6_defs.xml" /> <include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" /> <include ref="compact/definitions.xml" />
</define> </define>
...@@ -58,7 +59,7 @@ ...@@ -58,7 +59,7 @@
<display> <display>
<include ref="compact/colors.xml" /> <include ref="compact/colors.xml" />
<include ref="compact/display.xml" /> <include ref="compact/display_detailed.xml" />
</display> </display>
<documentation level="0"> <documentation level="0">
...@@ -85,154 +86,20 @@ ...@@ -85,154 +86,20 @@
Beamline elements Beamline elements
----------------- -----------------
</comment> </comment>
<include ref="ip6/central_beampipe.xml" />
<comment>
Main magnet
-----------
Note: When changing magnet, also select dimensions in definitions.xml.
</comment>
<!--include ref="compact/solenoid.xml"/-->
<comment>
Tracker subassemblies for ACTS
------------------------------
</comment>
<detectors>
<detector id="VertexBarrelSubAssembly_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="VertexEndcapSubAssembly_ID"
name="VertexEndcapSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerBarrelSubAssembly_Inner_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Inner"/>
</detector>
<detector id="TrackerEndcapSubAssembly_Inner_ID"
name="TrackerEndcapSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerBarrelSubAssembly_Outer_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<comment>
TOF disabled for baseline
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</comment>
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SubAssemblyVis">
<composite name="GEMTrackerEndcapP"/>
<composite name="GEMTrackerEndcapN"/>
</detector>
</detectors>
<comment> <comment>
Central tracking detectors Central tracking detectors
-------------------------- --------------------------
</comment> </comment>
<include ref="compact/tracking_config_acadia.xml"/> <!--include ref="compact/tracking_config_canyonlands.xml"/-->
<include ref="compact/tracking_config_deathvalley.xml"/>
<comment> <comment>
PID detectors PID detectors
------------- -------------
</comment> </comment>
<include ref="compact/tof_barrel.xml"/>
<fields>
<field name="B0PF_Magnet" type="MultipoleMagnet">
<position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/>
<rotation x="0" y="B0PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0PF_InnerRadius" dz="B0PF_Length*0.5"/>
<coefficient coefficient="B0PF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="B0APF_Magnet" type="MultipoleMagnet">
<position x="B0APF_XPosition" y="0" z="B0APF_CenterPosition"/>
<rotation x="0" y="B0APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0APF_InnerRadius" dz="B0APF_Length*0.5"/>
<coefficient coefficient="B0APF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="Q1APF_Magnet" type="MultipoleMagnet">
<position x="Q1APF_XPosition" y="0" z="Q1APF_CenterPosition"/>
<rotation x="0" y="Q1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1APF_InnerRadius" dz="Q1APF_Length*0.5"/>
<coefficient coefficient="Q1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q1BPF_Magnet" type="MultipoleMagnet">
<position x="Q1BPF_XPosition" y="0" z="Q1BPF_CenterPosition"/>
<rotation x="0" y="Q1BPF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1BPF_InnerRadius" dz="Q1BPF_Length*0.5"/>
<coefficient coefficient="Q1BPF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1BPF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q2PF_Magnet" type="MultipoleMagnet">
<position x="Q2PF_XPosition" y="0" z="Q2PF_CenterPosition"/>
<rotation x="0" y="Q2PF_RotationAngle" z="pi/2.0"/>
<shape type="Tube" rmin="0.0" rmax="Q2PF_InnerRadius" dz="Q2PF_Length*0.5"/>
<coefficient coefficient="Q2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1PF_Magnet" type="MultipoleMagnet">
<position x="B1PF_XPosition" y="0" z="B1PF_CenterPosition"/>
<rotation x="0" y="B1PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1PF_InnerRadius" dz="B1PF_Length*0.5"/>
<coefficient coefficient="B1PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1APF_Magnet" type="MultipoleMagnet">
<position x="B1APF_XPosition" y="0" z="B1APF_CenterPosition"/>
<rotation x="0" y="B1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1APF_InnerRadius" dz="B1APF_Length*0.5"/>
<coefficient coefficient="B1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B2PF_Magnet" type="MultipoleMagnet">
<position x="B2PF_XPosition" y="0" z="B2PF_CenterPosition"/>
<rotation x="0" y="B2PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B2PF_InnerRadius" dz="B2PF_Length*0.5"/>
<coefficient coefficient="B2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
</fields>
<comment>
FB elements
-----------
None (TODO)
</comment>
<readouts> <readouts>
</readouts> </readouts>
......
...@@ -33,7 +33,8 @@ ...@@ -33,7 +33,8 @@
The ip6 (or other ip) defines should be included first. The ip6 (or other ip) defines should be included first.
These files have only a define tags. These files have only a define tags.
</documentation> </documentation>
<include ref="ip6/ip6_defs.xml" /> <include ref="ip6/definitions.xml" />
<include ref="ip6/far_forward/fields_275.xml" />
<include ref="compact/definitions.xml" /> <include ref="compact/definitions.xml" />
</define> </define>
...@@ -58,7 +59,7 @@ ...@@ -58,7 +59,7 @@
<display> <display>
<include ref="compact/colors.xml" /> <include ref="compact/colors.xml" />
<include ref="compact/display.xml" /> <include ref="compact/display_detailed.xml" />
</display> </display>
<documentation level="0"> <documentation level="0">
...@@ -81,158 +82,11 @@ ...@@ -81,158 +82,11 @@
- and more... - and more...
</documentation> </documentation>
<comment>
Beamline elements
-----------------
</comment>
<comment>
Main magnet
-----------
Note: When changing magnet, also select dimensions in definitions.xml.
</comment>
<!--include ref="compact/solenoid.xml"/-->
<comment>
Tracker subassemblies for ACTS
------------------------------
</comment>
<detectors>
<detector id="VertexBarrelSubAssembly_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="VertexEndcapSubAssembly_ID"
name="VertexEndcapSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerBarrelSubAssembly_Inner_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Inner"/>
</detector>
<detector id="TrackerEndcapSubAssembly_Inner_ID"
name="TrackerEndcapSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerBarrelSubAssembly_Outer_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<comment>
TOF disabled for baseline
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</comment>
<detector id="OuterTrackingSubAssembly_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SubAssemblyVis">
<composite name="GEMTrackerEndcapP"/>
<composite name="GEMTrackerEndcapN"/>
</detector>
</detectors>
<comment> <comment>
Central tracking detectors Central tracking detectors
-------------------------- --------------------------
</comment> </comment>
<include ref="compact/vertex_tracker.xml"/> <include ref="compact/vertex_tracker_3layers.xml"/>
<comment>
PID detectors
-------------
</comment>
<fields>
<field name="B0PF_Magnet" type="MultipoleMagnet">
<position x="B0PF_XPosition" y="0" z="B0PF_CenterPosition"/>
<rotation x="0" y="B0PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0PF_InnerRadius" dz="B0PF_Length*0.5"/>
<coefficient coefficient="B0PF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="B0APF_Magnet" type="MultipoleMagnet">
<position x="B0APF_XPosition" y="0" z="B0APF_CenterPosition"/>
<rotation x="0" y="B0APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B0APF_InnerRadius" dz="B0APF_Length*0.5"/>
<coefficient coefficient="B0APF_Bmax" skew="0.0*tesla"/>
<!--<coefficient coefficient="2.0*tesla/cm" skew="0.2*tesla/cm"/> -->
</field>
<field name="Q1APF_Magnet" type="MultipoleMagnet">
<position x="Q1APF_XPosition" y="0" z="Q1APF_CenterPosition"/>
<rotation x="0" y="Q1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1APF_InnerRadius" dz="Q1APF_Length*0.5"/>
<coefficient coefficient="Q1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q1BPF_Magnet" type="MultipoleMagnet">
<position x="Q1BPF_XPosition" y="0" z="Q1BPF_CenterPosition"/>
<rotation x="0" y="Q1BPF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="Q1BPF_InnerRadius" dz="Q1BPF_Length*0.5"/>
<coefficient coefficient="Q1BPF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q1BPF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="Q2PF_Magnet" type="MultipoleMagnet">
<position x="Q2PF_XPosition" y="0" z="Q2PF_CenterPosition"/>
<rotation x="0" y="Q2PF_RotationAngle" z="pi/2.0"/>
<shape type="Tube" rmin="0.0" rmax="Q2PF_InnerRadius" dz="Q2PF_Length*0.5"/>
<coefficient coefficient="Q2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="Q2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1PF_Magnet" type="MultipoleMagnet">
<position x="B1PF_XPosition" y="0" z="B1PF_CenterPosition"/>
<rotation x="0" y="B1PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1PF_InnerRadius" dz="B1PF_Length*0.5"/>
<coefficient coefficient="B1PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B1APF_Magnet" type="MultipoleMagnet">
<position x="B1APF_XPosition" y="0" z="B1APF_CenterPosition"/>
<rotation x="0" y="B1APF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B1APF_InnerRadius" dz="B1APF_Length*0.5"/>
<coefficient coefficient="B1APF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B1APF_GradientMax" skew="0.0*tesla/cm"/>
</field>
<field name="B2PF_Magnet" type="MultipoleMagnet">
<position x="B2PF_XPosition" y="0" z="B2PF_CenterPosition"/>
<rotation x="0" y="B2PF_RotationAngle" z="0"/>
<shape type="Tube" rmin="0.0" rmax="B2PF_InnerRadius" dz="B2PF_Length*0.5"/>
<coefficient coefficient="B2PF_Bmax" skew="0.0*tesla"/>
<coefficient coefficient="B2PF_GradientMax" skew="0.0*tesla/cm"/>
</field>
</fields>
<comment>
FB elements
-----------
None (TODO)
</comment>
<readouts> <readouts>
</readouts> </readouts>
......
...@@ -12,8 +12,10 @@ ...@@ -12,8 +12,10 @@
</documentation> </documentation>
<!--include ref="tof_endcap.xml"/-->
<include ref="tof_barrel.xml"/> <include ref="tof_barrel.xml"/>
<include ref="tof_endcap.xml"/> <include ref="tof_forward.xml"/>
<include ref="tof_backward.xml"/>
</lccdd> </lccdd>
...@@ -2,28 +2,60 @@ ...@@ -2,28 +2,60 @@
<lccdd> <lccdd>
<define> <define>
<constant name="BarrelTOFSpaceFrame_width" value="40.0*mm"/>
<constant name="BarrelTOFSpaceFrame_height" value="sqrt(3.0)*32.0*mm/2.0"/>
<constant name="BarrelTOFSensor_thickness" value="0.3*mm"/>
<constant name="BarrelTOFModule_thickness" value="2.00/100*9.37*cm"/>
<constant name="BarrelTOFService_thickness" value="BarrelTOFModule_thickness-BarrelTOFSensor_thickness"/>
<comment> <comment>
Layer_rOffset is used to add inside space so the _rmin value is the nominal sensor radius. --------------------------
Barrel TOF Parameters
--------------------------
</comment> </comment>
<constant name="BarrelTOFLayer_rOffset" value="0.5*cm"/> <constant name="BarrelTOF_Sensor_thickness" value="0.3*mm"/>
<constant name="BarrelTOF_Hybrid_thickness" value="2*0.008125*cm"/>
<constant name="BarrelTOF_CFSkin_thickness" value="2*0.0075*cm"/>
<constant name="BarrelTOF_CFoam_thickness" value="2*0.29*cm"/>
<constant name="BarrelTOF_CHoneycomb_thickness" value="2*0.29*cm"/>
<constant name="BarrelTOF_CoolingTube_thickness" value="0.08*cm"/>
<constant name="BarrelTOF_Coolant_thickness" value="0.08*cm"/>
<constant name="BarrelTOF_Module_thickness" value="BarrelTOF_Sensor_thickness+2*BarrelTOF_Hybrid_thickness+2*BarrelTOF_CFSkin_thickness+BarrelTOF_CFoam_thickness+BarrelTOF_CoolingTube_thickness+BarrelTOF_Coolant_thickness"/>
<constant name="BarrelTOF_rmin1" value="50.0*cm"/> <constant name="BarrelTOF_radius_design" value="50.0*cm"/>
<constant name="BarrelTOF_rmin2" value="BarrelTOF_rmin1 + BarrelTOFSpaceFrame_width"/> <constant name="BarrelTOF_Module_width_design" value="56.0*mm"/>
<constant name="BarrelTOF_length1" value="192.0*cm"/> <constant name="BarrelTOF_Sensor_width_design" value="32.0*mm"/>
<constant name="BarrelTOF_length2" value="200.0*cm"/> <constant name="BarrelTOF_CFoam_width_design" value="BarrelTOF_Sensor_width_design-5.0*mm"/>
<constant name="BarrelTOF_CHoneycomb_width_design" value="BarrelTOF_Module_width_design-BarrelTOF_CFoam_width_design"/>
<constant name="BarrelTOF_CoolingTube_width_design" value="0.75*cm"/>
<constant name="BarrelTOF_Coolant_width_design" value="0.75*cm"/>
<constant name="BarrelTOF_thickness" value="BarrelTOF_rmin2 - BarrelTOF_rmin1"/> <constant name="BarrelTOF_Sensor_position_design" value="0.5*(BarrelTOF_Sensor_width_design-BarrelTOF_Module_width_design)"/>
<constant name="BarrelTOF_length" value="BarrelTOF_length2"/> <constant name="BarrelTOF_CFoam_position_design" value="0.5*(BarrelTOF_CFoam_width_design-BarrelTOF_Module_width_design)"/>
<constant name="BarrelTOF_CHoneycomb_position_design" value="0.5*(BarrelTOF_Module_width_design-BarrelTOF_CHoneycomb_width_design)"/>
<constant name="BarrelTOF_CoolingTube_position_design" value="BarrelTOF_CHoneycomb_position_design"/>
<constant name="BarrelTOF_Coolant_position_design" value="BarrelTOF_CHoneycomb_position_design"/>
<constant name="BarrelTOF_Service_position_design" value="0.0*mm"/>
<comment> TODO: These should be computed </comment> <constant name="BarrelTOF_scale" value="1.05"/>
<constant name="BarrelTOF_NModules" value="80"/> <constant name="BarrelTOF_radius" value="BarrelTOF_scale * BarrelTOF_radius_design"/>
<constant name="BarrelTOF_Sensor_width" value="BarrelTOF_scale * BarrelTOF_Sensor_width_design"/>
<constant name="BarrelTOF_CFoam_width" value="BarrelTOF_scale * BarrelTOF_CFoam_width_design"/>
<constant name="BarrelTOF_CHoneycomb_width" value="BarrelTOF_scale * BarrelTOF_CHoneycomb_width_design"/>
<constant name="BarrelTOF_CoolingTube_width" value="BarrelTOF_scale * BarrelTOF_CoolingTube_width_design"/>
<constant name="BarrelTOF_Coolant_width" value="BarrelTOF_scale * BarrelTOF_Coolant_width_design"/>
<constant name="BarrelTOF_Sensor_position" value="BarrelTOF_scale * BarrelTOF_Sensor_position_design"/>
<constant name="BarrelTOF_CFoam_position" value="BarrelTOF_scale * BarrelTOF_CFoam_position_design"/>
<constant name="BarrelTOF_CHoneycomb_position" value="BarrelTOF_scale * BarrelTOF_CHoneycomb_position_design"/>
<constant name="BarrelTOF_CoolingTube_position" value="BarrelTOF_scale * BarrelTOF_CoolingTube_position_design"/>
<constant name="BarrelTOF_Coolant_position" value="BarrelTOF_scale * BarrelTOF_Coolant_position_design"/>
<constant name="BarrelTOF_Service_position" value="BarrelTOF_scale * BarrelTOF_Service_position_design"/>
<constant name="BarrelTOF_Module_width" value="BarrelTOF_scale*BarrelTOF_Module_width_design"/>
<constant name="BarrelTOF_Module_tiltangle" value="18.0*degree"/>
<constant name="BarrelTOF_Module_nphi" value="108"/>
<constant name="BarrelTOF_Module_nz" value="1"/>
<constant name="BarrelTOF_rmin" value="BarrelTOF_radius"/>
<constant name="BarrelTOF_rmax" value="BarrelTOF_rmin+BarrelTOF_Module_width*tan(BarrelTOF_Module_tiltangle)"/>
<constant name="BarrelTOF_thickness" value="BarrelTOF_rmax-BarrelTOF_rmin"/>
<constant name="BarrelTOF_rOffset" value="16.0*mm"/>
<constant name="BarrelTOF_length1" value="2 * BarrelTOF_rmin / CentralTrackingBarrel_tan * 0.995"/>
<constant name="BarrelTOF_length2" value="2 * BarrelTOF_rmax / CentralTrackingBarrel_tan * 0.995"/>
<constant name="BarrelTOF_length" value="BarrelTOF_length2"/>
</define> </define>
...@@ -34,46 +66,61 @@ ...@@ -34,46 +66,61 @@
<detector <detector
id="BarrelTOF_ID" id="BarrelTOF_ID"
name="BarrelTOF" name="BarrelTOF"
type="athena_TrackerBarrel" type="athena_TOFBarrel"
readout="BarrelTOFHits" readout="TOFBarrelHits"
insideTrackingVolume="true"> insideTrackingVolume="true">
<dimensions <dimensions
rmin="BarrelTOF_rmin1-BarrelTOFLayer_rOffset" rmin="BarrelTOF_rmin-BarrelTOF_rOffset"
rmax="BarrelTOF_rmin2-BarrelTOFLayer_rOffset + BarrelTOF_thickness" rmax="BarrelTOF_rmax+BarrelTOF_rOffset"
length="BarrelTOF_length"/> length="BarrelTOF_length"/>
<comment> <comment>
Tracker Barrel Modules Tracker Barrel Modules
</comment> </comment>
<module name="BarrelTOF_Module1" vis="TOFVis"> <module name="BarrelTOF_Module1" vis="TOFBarrelModuleVis">
<frame material="CarbonFiber_25percent" vis="TOFVis" <module_component name="sensor" material="Silicon" sensitive="true" width="BarrelTOF_Sensor_width" length="BarrelTOF_length1" thickness="BarrelTOF_Sensor_thickness" vis="TOFSensorVis" >
width="BarrelTOFSpaceFrame_width" <position x="BarrelTOF_Sensor_position" y="0" z="0" />
height="BarrelTOFSpaceFrame_height" </module_component>
length="BarrelTOF_length1" <module_component name="hybridtop" material="Kapton" sensitive="false" width="BarrelTOF_Module_width" length="BarrelTOF_length1" thickness="BarrelTOF_Hybrid_thickness" vis="TOFHybridVis" >
thickness="0.1*mm" /> <position x="BarrelTOF_Service_position" y="0" z="0" />
<module_component name="silicon" material="Silicon" sensitive="true" </module_component>
width="BarrelTOFSpaceFrame_width" length="BarrelTOF_length1-0.1*mm" thickness="BarrelTOFSensor_thickness" > <module_component name="cfskintop" material="CFRPMix2" sensitive="false" width="BarrelTOF_Module_width" length="BarrelTOF_length1" thickness="BarrelTOF_CFSkin_thickness" vis="TOFCSkinVis" >
<position x="BarrelTOF_Service_position" y="0" z="0" />
</module_component>
<module_component name="coolingtube" material="Aluminum" sensitive="false" width="BarrelTOF_CoolingTube_width" length="BarrelTOF_length1" thickness="BarrelTOF_CoolingTube_thickness" vis="TOFCoolingTubeVis" >
<position x="BarrelTOF_CoolingTube_position" y="0" z="0" />
</module_component>
<module_component name="coolant" material="NOVEC7200" sensitive="false" width="BarrelTOF_Coolant_width" length="BarrelTOF_length1" thickness="BarrelTOF_Coolant_thickness" vis="TOFCoolantVis" >
<position x="BarrelTOF_Coolant_position" y="0" z="0" />
</module_component>
<module_component name="cfoam" material="CarbonFoam" sensitive="false" width="BarrelTOF_CFoam_width" length="BarrelTOF_length1" thickness="BarrelTOF_CFoam_thickness" vis="TOFCFoamVis" >
<position x="BarrelTOF_CFoam_position" y="0" z="0" />
</module_component>
<module_component name="choneycomb" material="CFRPMix" sensitive="false" width="BarrelTOF_CHoneycomb_width" length="BarrelTOF_length1" thickness="BarrelTOF_CHoneycomb_thickness" vis="TOFCHoneycombVis" >
<position x="BarrelTOF_CHoneycomb_position" y="0" z="-1*BarrelTOF_CFoam_thickness" />
</module_component>
<module_component name="cfskinbottom" material="CFRPMix2" sensitive="false" width="BarrelTOF_Module_width" length="BarrelTOF_length1" thickness="BarrelTOF_CFSkin_thickness" vis="TOFCSkinVis" >
<position x="BarrelTOF_Service_position" y="0" z="0" />
</module_component>
<module_component name="hybridbottom" material="Kapton" sensitive="false" width="BarrelTOF_Module_width" length="BarrelTOF_length1" thickness="BarrelTOF_Hybrid_thickness" vis="TOFHybridVis" >
<position x="BarrelTOF_Service_position" y="0" z="0" />
</module_component> </module_component>
<module_component name="service" material="Silicon" sensitive="false"
width="BarrelTOFSpaceFrame_width" length="BarrelTOF_length1-0.1*mm" thickness="BarrelTOFService_thickness" />
</module> </module>
<layer module="BarrelTOF_Module1" id="1" vis="TOFVis"> <layer module="BarrelTOF_Module1" id="1" vis="TOFLayerVis">
<barrel_envelope <barrel_envelope
inner_r="BarrelTOF_rmin1-BarrelTOFLayer_rOffset" inner_r="BarrelTOF_rmin-BarrelTOF_rOffset"
outer_r="BarrelTOF_rmin1-BarrelTOFLayer_rOffset + BarrelTOF_thickness-1.0*mm" outer_r="BarrelTOF_rmax+BarrelTOF_rOffset"
z_length="BarrelTOF_length"/> z_length="BarrelTOF_length"/>
<rphi_layout phi_tilt="10.0*degree" nphi="BarrelTOF_NModules" phi0="0.0" rc="BarrelTOF_rmin1" dr="0.0 * mm"/> <rphi_layout phi_tilt="BarrelTOF_Module_tiltangle" nphi="BarrelTOF_Module_nphi" phi0="0.0" rc="BarrelTOF_rmin" dr="0.0*mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/> <z_layout dr="0.0*mm" z0="0.0*mm" nz="BarrelTOF_Module_nz"/>
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
<readouts> <readouts>
<readout name="BarrelTOFHits"> <readout name="TOFBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="0.150*mm" grid_size_y="0.150*mm" /> <segmentation type="CartesianGridXY" grid_size_x="0.05*mm" grid_size_y="BarrelTOF_length1/48" />
<id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id> <id>system:8,layer:4,module:12,sensor:2,x:32:-16,y:-16</id>
</readout> </readout>
</readouts> </readouts>
</lccdd> </lccdd>
...@@ -3,45 +3,65 @@ ...@@ -3,45 +3,65 @@
<define> <define>
<comment> <comment>
-------------------------- --------------------------
Forward and backward TOF Parameters Forward TOF Parameters
-------------------------- --------------------------
</comment> </comment>
<comment> Forward/backward TOF position </comment>
<constant name="ForwardTOF_length" value="min(ForwardTOFRegion_length, 2.*cm)"/>
<constant name="ForwardTOF_zmin" value="ForwardTOFRegion_zmin + ForwardTOFRegion_length - ForwardTOF_length - 1*cm"/>
<constant name="ForwardTOF_nlayers" value="2"/>
<constant name="ForwardTOFMod_offset" value="1.2*cm"/>
<constant name="BackwardTOF_length" value="min(BackwardTOFRegion_length, 2.*cm)"/>
<constant name="BackwardTOF_zmin" value="BackwardTOFRegion_zmin + 0.5*cm"/>
<constant name="BackwardTOF_nlayers" value="2"/>
<constant name="BackwardTOFMod_offset" value="1.2*cm"/>
<constant name="TOFEndcapSensor_thickness" value="0.3*mm"/> <comment> LGAD parameters for the endcap TOFs </comment>
<constant name="TOFEndcap_thickness" value="2.00/100*9.37*cm"/> <constant name="TOFEndcapSensor_thickness" value="300*um" />
<constant name="TOFEndcapService_thickness" value="TOFEndcap_thickness-TOFEndcapSensor_thickness"/> <constant name="TOFEndcapService_thickness" value="5.00/100*9.37*cm-TOFEndcapSensor_thickness" />
<constant name="TOFEndcap_nLayers" value="2"/> <constant name="TOFEndcapMod_count" value="36" />
<constant name="TOFEndcapMod_dz" value="0" />
<constant name="TOFEndcapMod_overlap" value="0" />
</define>
<documentation>
## Forward and backward TOF double-disks,
## a potential ATHENA upgrade
</documentation>
<comment>
Actual detector implementation.
</comment>
<define>
<constant name="TOFEndcapMod_thickness" value="TOFEndcapSensor_thickness + TOFEndcapService_thickness" />
<constant name="TOFEndcapMod_angle" value="360.0*degree / TOFEndcapMod_count * (1 + TOFEndcapMod_overlap)" />
<comment> 1 um padding to not have layer and module touch (ACTS requirement) </comment>
<constant name="TOFEndcapLayer_thickness" value="TOFEndcapMod_thickness + 2 * TOFEndcapMod_dz + 1 * um" />
<constant name="ForwardTOF_zmin" value="BarrelTracking_length/2.0 + ForwardTracking_length + ForwardRICH_length + ForwardTRD_length"/> <constant name="ForwardTOFMod_rmin" value="ForwardTOFRegion_tan * ForwardTOF_zmin" />
<constant name="ForwardTOF_dz" value="(ForwardTOF_length-0.4*cm)/TOFEndcap_nLayers"/> <constant name="ForwardTOFMod_rmax" value="ForwardTOFRegion_rmax" />
<constant name="ForwardTOF_rmin1" value="ForwardPID_rmin1"/> <constant name="ForwardTOFMod_x1" value="2 * ForwardTOFMod_rmin * tan(TOFEndcapMod_angle/2)" />
<constant name="ForwardTOF_rmin2" value="ForwardPID_rmin1"/> <constant name="ForwardTOFMod_x2" value="2 * ForwardTOFMod_rmax * sin(TOFEndcapMod_angle/2)" />
<constant name="ForwardTOF_rmax1" value="Solenoid_rmin"/> <constant name="ForwardTOFMod_y" value="ForwardTOFMod_rmax * cos(TOFEndcapMod_angle/2) - ForwardTOFMod_rmin" />
<constant name="ForwardTOF_rmax2" value="Solenoid_rmin"/> <constant name="ForwardTOFMod1_zmin" value="ForwardTOF_zmin" />
<constant name="ForwardTOFModOpeningAngle" value="30.0*degree"/> <constant name="ForwardTOFMod2_zmin" value="ForwardTOF_zmin + ForwardTOFMod_offset" />
<constant name="ForwardTOFMod1_x1" value="2.0*ForwardTOF_rmin1*sin(ForwardTOFModOpeningAngle/2.0)"/> <constant name="ForwardTOFLayer_rmin" value="ForwardTOFMod_rmin - 1*um" />
<constant name="ForwardTOFMod1_x2" value="2.0*ForwardTOF_rmax1*sin(ForwardTOFModOpeningAngle/2.0)"/> <constant name="ForwardTOFLayer_rmax" value="ForwardTOFMod_rmax + 1*um" />
<constant name="ForwardTOFMod1_y" value="ForwardTOF_rmax1*cos(ForwardTOFModOpeningAngle/2.0) - ForwardTOF_rmin1"/> <constant name="ForwardTOFLayer1_zmin" value="ForwardTOFMod1_zmin - TOFEndcapLayer_thickness / 2" />
<constant name="ForwardTOFMod2_x1" value="2.0*ForwardTOF_rmin2*sin(ForwardTOFModOpeningAngle/2.0)"/> <constant name="ForwardTOFLayer2_zmin" value="ForwardTOFMod2_zmin - TOFEndcapLayer_thickness / 2" />
<constant name="ForwardTOFMod2_x2" value="2.0*ForwardTOF_rmax2*sin(ForwardTOFModOpeningAngle/2.0)"/>
<constant name="ForwardTOFMod2_y" value="ForwardTOF_rmax2*cos(ForwardTOFModOpeningAngle/2.0) - ForwardTOF_rmin2"/>
<constant name="BackwardTOF_zmin" value="BarrelTracking_length/2.0 + BackwardTracking_length + BackwardCherenkov_length "/> <constant name="BackwardTOFMod_rmin" value="BackwardPIDRegion_tan * BackwardTOF_zmin" />
<constant name="BackwardTOF_dz" value="(BackwardTOF_length-0.4*cm)/TOFEndcap_nLayers"/> <constant name="BackwardTOFMod_rmax" value="BackwardPIDRegion_rmax" />
<constant name="BackwardTOF_thickness" value="BackwardTOF_dz - 1.0*mm"/> <constant name="BackwardTOFMod_x1" value="2 * BackwardTOFMod_rmin * tan(TOFEndcapMod_angle/2)" />
<comment> Note, the -1.0*mm is so the layers do not touch surfaces. <constant name="BackwardTOFMod_x2" value="2 * BackwardTOFMod_rmax * sin(TOFEndcapMod_angle/2)" />
This is a limitation of ACTS geometry which will likely go away in the future.</comment> <constant name="BackwardTOFMod_y" value="BackwardTOFMod_rmax * cos(TOFEndcapMod_angle/2) - BackwardTOFMod_rmin" />
<constant name="BackwardTOF_rmin1" value="ForwardPID_rmin1"/> <constant name="BackwardTOFMod1_zmin" value="BackwardTOF_zmin" />
<constant name="BackwardTOF_rmin2" value="ForwardPID_rmin1"/> <constant name="BackwardTOFMod2_zmin" value="BackwardTOF_zmin + BackwardTOFMod_offset" />
<constant name="BackwardTOF_rmax1" value="BarrelTracking_rmax"/> <constant name="BackwardTOFLayer_rmin" value="BackwardTOFMod_rmin - 1*um" />
<constant name="BackwardTOF_rmax2" value="BarrelTracking_rmax"/> <constant name="BackwardTOFLayer_rmax" value="BackwardTOFMod_rmax + 1*um" />
<constant name="BackwardTOFModOpeningAngle" value="30.0*degree"/> <constant name="BackwardTOFLayer1_zmin" value="BackwardTOFMod1_zmin - TOFEndcapLayer_thickness / 2" />
<constant name="BackwardTOFMod1_x1" value="2.0*BackwardTOF_rmin1*sin(BackwardTOFModOpeningAngle/2.0)"/> <constant name="BackwardTOFLayer2_zmin" value="BackwardTOFMod2_zmin - TOFEndcapLayer_thickness / 2" />
<constant name="BackwardTOFMod1_x2" value="2.0*BackwardTOF_rmax1*sin(BackwardTOFModOpeningAngle/2.0)"/>
<constant name="BackwardTOFMod1_y" value="BackwardTOF_rmax1*cos(BackwardTOFModOpeningAngle/2.0) - BackwardTOF_rmin1"/>
<constant name="BackwardTOFMod2_x1" value="2.0*BackwardTOF_rmin2*sin(BackwardTOFModOpeningAngle/2.0)"/>
<constant name="BackwardTOFMod2_x2" value="2.0*BackwardTOF_rmax2*sin(BackwardTOFModOpeningAngle/2.0)"/>
<constant name="BackwardTOFMod2_y" value="BackwardTOF_rmax2*cos(BackwardTOFModOpeningAngle/2.0) - BackwardTOF_rmin2"/>
</define> </define>
<detectors> <detectors>
...@@ -52,40 +72,39 @@ ...@@ -52,40 +72,39 @@
readout="TOFEndcapHits" readout="TOFEndcapHits"
vis="TOFVis" vis="TOFVis"
reflect="false"> reflect="false">
<module name="Module1" vis="TOFVis"> <module name="ForwardModule" vis="TOFModuleVis">
<trd x1="ForwardTOFMod1_x1/2.0" x2="ForwardTOFMod1_x2/2.0" z="ForwardTOFMod1_y/2"/> <trd x1="ForwardTOFMod_x1/2.0" x2="ForwardTOFMod_x2/2.0" z="ForwardTOFMod_y/2"/>
<module_component thickness="ITS3Thickness" material="Silicon" sensitive="true"/> <comment> TRDs are built back-to-front </comment>
<module_component thickness="TOFEndcapService_thickness" material="Silicon"/> <module_component thickness="TOFEndcapService_thickness" material="Silicon" vis="TOFVis"/>
</module> <module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true" vis="TOFSensorVis"/>
<module name="Module2" vis="TOFVis">
<trd x1="ForwardTOFMod2_x1/2.0" x2="ForwardTOFMod2_x2/2.0" z="ForwardTOFMod2_y/2"/>
<module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TOFEndcapService_thickness" material="Silicon"/>
</module> </module>
<layer id="1"> <layer id="1">
<envelope vis="TOFVis" <envelope vis="TOFLayerVis"
rmin="ForwardTOF_rmin1" rmin="ForwardTOFLayer_rmin"
rmax="ForwardTOF_rmax1" rmax="ForwardTOFLayer_rmax"
length="BackwardTOF_thickness" length="TOFEndcapLayer_thickness"
zstart="ForwardTOF_zmin" /> zstart="ForwardTOFLayer1_zmin" />
<ring vis="TOFVis" <ring
r="ForwardTOF_rmin1+ForwardTOFMod1_y/2.0" r="ForwardTOFMod_rmin + ForwardTOFMod_y/2.0"
zstart="0.0*mm" zstart="0"
nmodules="12" dz="2.5 * mm" module="Module1" /> nmodules="TOFEndcapMod_count"
dz="TOFEndcapMod_dz"
module="ForwardModule" />
</layer> </layer>
<layer id="2"> <layer id="2">
<envelope vis="TOFVis" <envelope vis="TOFLayerVis"
rmin="ForwardTOF_rmin2" rmin="ForwardTOFLayer_rmin"
rmax="ForwardTOF_rmax2" rmax="ForwardTOFLayer_rmax"
length="BackwardTOF_thickness" length="TOFEndcapLayer_thickness"
zstart="ForwardTOF_zmin + ForwardTOF_dz" /> zstart="ForwardTOFLayer2_zmin" />
<ring vis="TOFVis" <ring
r="ForwardTOF_rmin2+ForwardTOFMod2_y/2.0" r="ForwardTOFMod_rmin + ForwardTOFMod_y/2.0"
zstart="0.0*mm" zstart="0"
nmodules="12" dz="2.5 * mm" module="Module2" /> nmodules="TOFEndcapMod_count"
dz="TOFEndcapMod_dz"
module="ForwardModule" />
</layer> </layer>
</detector> </detector>
<detector <detector
id="BackwardTOF_ID" id="BackwardTOF_ID"
name="BackwardTOF" name="BackwardTOF"
...@@ -93,45 +112,45 @@ ...@@ -93,45 +112,45 @@
readout="TOFEndcapHits" readout="TOFEndcapHits"
vis="TOFVis" vis="TOFVis"
reflect="true"> reflect="true">
<module name="Module1" vis="TOFVis"> <module name="BackwardModule" vis="TOFModuleVis">
<trd x1="BackwardTOFMod1_x1/2.0" x2="BackwardTOFMod1_x2/2.0" z="BackwardTOFMod1_y/2"/> <trd x1="BackwardTOFMod_x1/2.0" x2="BackwardTOFMod_x2/2.0" z="BackwardTOFMod_y/2"/>
<module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true"/> <comment> TRDs are built back-to-front </comment>
<module_component thickness="TOFEndcapService_thickness" material="Silicon"/> <module_component thickness="TOFEndcapService_thickness" material="Silicon" vis="TOFVis"/>
</module> <module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true" vis="TOFSensorVis"/>
<module name="Module2" vis="TOFVis">
<trd x1="BackwardTOFMod2_x1/2.0" x2="BackwardTOFMod2_x2/2.0" z="BackwardTOFMod2_y/2"/>
<module_component thickness="TOFEndcapSensor_thickness" material="Silicon" sensitive="true"/>
<module_component thickness="TOFEndcapService_thickness" material="Silicon"/>
</module> </module>
<layer id="1"> <layer id="1">
<envelope vis="TOFVis" <envelope vis="TOFLayerVis"
rmin="BackwardTOF_rmin1 + 0 * 1.2*cm" rmin="BackwardTOFLayer_rmin"
rmax="BackwardTOF_rmax1" rmax="BackwardTOFLayer_rmax"
length="BackwardTOF_thickness" length="TOFEndcapLayer_thickness"
zstart="BackwardTOF_zmin" /> zstart="BackwardTOFLayer1_zmin" />
<ring vis="TOFVis" <ring
r="BackwardTOF_rmin1+BackwardTOFMod1_y/2.0" r="BackwardTOFMod_rmin + BackwardTOFMod_y/2.0"
zstart="0.0*mm" zstart="0"
nmodules="12" dz="2.5 * mm" module="Module1" /> nmodules="TOFEndcapMod_count"
dz="TOFEndcapMod_dz"
module="BackwardModule" />
</layer> </layer>
<layer id="2"> <layer id="2">
<envelope vis="TOFVis" <envelope vis="TOFLayerVis"
rmin="BackwardTOF_rmin2" rmin="BackwardTOFLayer_rmin"
rmax="BackwardTOF_rmax2" rmax="BackwardTOFLayer_rmax"
length="BackwardTOF_thickness" length="TOFEndcapLayer_thickness"
zstart="BackwardTOF_zmin + BackwardTOF_dz" /> zstart="BackwardTOFLayer2_zmin" />
<ring vis="TOFVis" <ring
r="BackwardTOF_rmin2+BackwardTOFMod2_y/2.0" r="BackwardTOFMod_rmin + BackwardTOFMod_y/2.0"
zstart="0.0*mm" zstart="0"
nmodules="12" dz="2.5 * mm" module="Module2" /> nmodules="TOFEndcapMod_count"
dz="TOFEndcapMod_dz"
module="BackwardModule" />
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
<readouts> <readouts>
<readout name="TOFEndcapHits"> <readout name="TOFEndcapHits">
<segmentation type="CartesianGridXY" grid_size_x="0.20*mm" grid_size_y="0.20*mm" /> <segmentation type="CartesianGridXZ" grid_size_x="50*um" grid_size_z="50*um" />
<id>system:8,barrel:2,layer:4,module:12,sensor:2,x:32:-16,y:-16</id> <id>system:8,layer:4,module:12,sensor:2,x:32:-16,z:-16</id>
</readout> </readout>
</readouts> </readouts>
......
...@@ -9,6 +9,56 @@ ...@@ -9,6 +9,56 @@
### Silicon tracking configuration ### Silicon tracking configuration
</documentation> </documentation>
<documentation level="5">
### Tracker subassemblies for ACTS
</documentation>
<detectors>
<detector id="VertexSubAssembly_0_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexEndcapN" />
<composite name="VertexBarrel" />
<composite name="VertexEndcapP" />
</detector>
<detector id="TrackerSubAssembly_0_ID"
name="TrackerBarrelSubAssembly_Inner"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerEndcapN_Inner"/>
<composite name="TrackerBarrel_Inner"/>
<composite name="TrackerEndcapP_Inner"/>
</detector>
<detector id="TrackerSubAssembly_1_ID"
name="TrackerSubAssembly_Outer"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="TrackerBarrel_Outer"/>
<composite name="TrackerEndcapP_Outer"/>
<composite name="TrackerEndcapN_Outer"/>
</detector>
<detector id="TrackerSubAssembly_1_ID"
name="OuterTrackingSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="SubAssemblyVis">
<composite name="GEMTrackerEndcapP"/>
<composite name="GEMTrackerEndcapN"/>
</detector>
</detectors>
<documentation>
### Material map for ACTS
https://eicweb.phy.anl.gov/EIC/detectors/athena/-/issues/128
</documentation>
<plugins>
<plugin name="FileLoader">
<arg value="file:calibrations/materials-map.cbor"/>
<arg value="url:https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/458fee1b8c95bf408159fe70d654b8c0/material-maps.cbor"/>
</plugin>
</plugins>
<include ref="vertex_tracker.xml"/> <include ref="vertex_tracker.xml"/>
<include ref="central_tracker.xml"/> <include ref="central_tracker.xml"/>
<include ref="gem_tracker_endcap.xml"/> <include ref="gem_tracker_endcap.xml"/>
......
<lccdd>
<display>
</display>
<define>
</define>
<documentation level="10">
### Silicon tracking configuration
</documentation>
<documentation level="5">
### Tracker subassemblies for ACTS
</documentation>
<detectors>
<detector id="VertexSubAssembly_0_ID"
name="VertexBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="VertexBarrel" />
</detector>
<detector id="TrackerSubAssembly_0_ID"
name="InnerTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="InnerTrackerEndcapN"/>
<composite name="InnerTrackerBarrel"/>
<composite name="InnerTrackerEndcapP"/>
</detector>
<detector id="TrackerSubAssembly_1_ID"
name="MedialTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="MedialTrackerEndcapN"/>
<composite name="MedialTrackerBarrel"/>
<composite name="MedialTrackerEndcapP"/>
</detector>
<detector id="TrackerSubAssembly_2_ID"
name="OuterTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="OuterTrackerCompositeEndcapN"/>
<composite name="OuterTrackerBarrel"/>
<composite name="OuterTrackerCompositeEndcapP"/>
</detector>
<!--
<detector id="TrackerSubAssembly_3_ID"
name="EcalBarrelSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
</detector>
-->
<detector id="TrackerSubAssembly_4_ID"
name="ForwardBackwardTrackerSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TrackerSubAssemblyVis">
<composite name="ForwardGEM"/>
<composite name="BackwardNullTracker"/>
</detector>
<detector id="TrackerCompositeEndcapN_0_ID"
name="OuterTrackerCompositeEndcapN"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="-1*um" />
<composite name="OuterTrackerEndcapN"/>
<composite name="GEMEndcapN"/>
</detector>
<detector id="TrackerCompositeEndcapP_0_ID"
name="OuterTrackerCompositeEndcapP"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="0*cm" />
<composite name="OuterTrackerEndcapP"/>
<composite name="GEMEndcapP"/>
</detector>
<detector id="TrackerCompositeEndcapN_1_ID"
name="BackwardNullTracker"
type="athena_CompositeTracker"
actsType="endcap"
vis="TrackerSubAssemblyVis">
<position x="0*cm" y="0*cm" z="-1*um" />
</detector>
</detectors>
<documentation>
### Material map for ACTS
https://eicweb.phy.anl.gov/EIC/detectors/athena/-/issues/127
</documentation>
<plugins>
<plugin name="FileLoader">
<arg value="file:calibrations/materials-map.cbor"/>
<arg value="url:https://eicweb.phy.anl.gov/EIC/detectors/athena/uploads/979a4ed2d01a023b70237e39670bd31b/material-maps.cbor"/>
</plugin>
</plugins>
<include ref="vertex_tracker_3layers.xml"/>
<include ref="central_tracker_hybrid_v2.xml"/>
</lccdd>