Skip to content
Snippets Groups Projects
Commit 0189c6d2 authored by Marshall Scott's avatar Marshall Scott
Browse files

Merge branch '24-implement-ci_hcal' of...

Merge branch '24-implement-ci_hcal' of eicweb.phy.anl.gov:EIC/detectors/reference_detector into 24-implement-ci_hcal
parents 6fb452b5 4ff6b87c
No related branches found
No related tags found
No related merge requests found
Showing
with 1333 additions and 135 deletions
......@@ -12,6 +12,7 @@ default:
before_script:
- mkdir -p images && mkdir -p doc/
- git clone https://eicweb.phy.anl.gov/EIC/detectors/accelerator.git && ln -s accelerator/eic
- git clone https://eicweb.phy.anl.gov/EIC/detectors/ip6.git eic_ip6 && mkdir ip6_build && cd ip6_build && cmake ../eic_ip6/. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd .. && ln -s eic_ip6/ip6
- mkdir build && cd build && cmake ../. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd ..
artifacts:
paths:
......@@ -35,6 +36,8 @@ env:
- |
if [[ "x${CI_PIPELINE_SOURCE}" == "xmerge_request_event" || "$CI_COMMIT_BRANCH" == "master" ]]; then
export JUGGLER_DETECTOR_VERSION="${CI_COMMIT_REF_NAME}"
echo "BEAMLINE_CONFIG = ${BEAMLINE_CONFIG}"
echo "BEAMLINE_CONFIG_VERSION = ${BEAMLINE_CONFIG_VERSION}"
echo "JUGGLER_DETECTOR = ${JUGGLER_DETECTOR}"
echo "JUGGLER_DETECTOR_VERSION = ${CI_COMMIT_REF_NAME}"
echo "JUGGLER_DETECTOR_VERSION=$CI_COMMIT_REF_NAME" >> juggler.env
......@@ -50,6 +53,7 @@ compile:
needs:
- ["env"]
script:
- mkdir -p build && cd build && cmake ../. -DCMAKE_INSTALL_PREFIX=/usr/local && make -j20 && make install && cd ..
- echo "Build successful."
.views:
......@@ -102,24 +106,24 @@ detector:config_testing:
- cat doc/overlap_check.out
allow_failure: true
benchmarks:reconstruction:
stage: deploy
variables:
JUGGLER_DETECTOR: "$JUGGLER_DETECTOR"
JUGGLER_DETECTOR_VERSION: "$JUGGLER_DETECTOR_VERSION"
trigger:
project: EIC/benchmarks/reconstruction_benchmarks
strategy: depend
needs: ["env","overlap_check","report"]
benchmarks:physics:
stage: deploy
variables:
JUGGLER_DETECTOR: "$JUGGLER_DETECTOR"
JUGGLER_DETECTOR_VERSION: "$JUGGLER_DETECTOR_VERSION"
trigger:
project: EIC/benchmarks/physics_benchmarks
strategy: depend
needs: ["env","overlap_check","report"]
#benchmarks:reconstruction:
# stage: deploy
# variables:
# JUGGLER_DETECTOR: "$JUGGLER_DETECTOR"
# JUGGLER_DETECTOR_VERSION: "$JUGGLER_DETECTOR_VERSION"
# trigger:
# project: EIC/benchmarks/reconstruction_benchmarks
# strategy: depend
# needs: ["env","overlap_check","report"]
#
#
#benchmarks:physics:
# stage: deploy
# variables:
# JUGGLER_DETECTOR: "$JUGGLER_DETECTOR"
# JUGGLER_DETECTOR_VERSION: "$JUGGLER_DETECTOR_VERSION"
# trigger:
# project: EIC/benchmarks/physics_benchmarks
# strategy: depend
# needs: ["env","overlap_check","report"]
<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">
<!-- Some information about detector -->
<info name="Central Barrel Solenoid" title="Central Barrel Solenoid"
author="Jihee Kim"
url="https://eicweb.phy.anl.gov/EIC/detectors/reference_detector.git"
status="development"
version="v1 2021-03-15">
<comment>Central Barrel Solenoid</comment>
</info>
<!-- Use DD4hep elements and materials definitions -->
<includes>
<gdmlFile ref="elements.xml"/>
<gdmlFile ref="materials.xml"/>
</includes>
<!-- Define the dimensions of the world volume -->
<define>
<constant name="world_side" value="50*m"/>
<constant name="world_x" value="world_side"/>
<constant name="world_y" value="world_side"/>
<constant name="world_z" value="world_side"/>
<constant name="tracker_region_zmax" value="6 * m"/>
<constant name="tracker_region_rmax" value="6 * m"/>
<constant name="cb_Solenoid_ID" value="1"/>
<constant name="cb_Solenoid_rmin" value="0.0 * cm"/> <!-- Central Barrel Solenoid Inner diameter -->
<constant name="cb_Solenoid_rmax" value="137.0 * cm"/> <!-- Central Barrel Solenoid Outer diameter -->
<constant name="cb_Solenoid_z" value="400.0 * cm"/> <!-- Central Barrel Solenoid Size in Z direction -->
<constant name="cb_Solenoid_shift" value="0.0 * cm"/>
</define>
<limits>
</limits>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display>
<vis name="cb_SolenoidVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/>
</display>
<!-- Define detector -->
<detectors>
<comment>
Central Barrel Solenoid Magnet
</comment>
<detector id="cb_Solenoid_ID" name="cb_Solenoid" type="cb_Solenoid" insideTrackingVolume="false" vis="cb_SolenoidVis">
<material name="Vacuum"/> <!-- G4_Galactic -->
<dimensions rmin="cb_Solenoid_rmin" rmax="cb_Solenoid_rmax" z="cb_Solenoid_z" delta="cb_Solenoid_shift"/>
</detector>
</detectors>
<plugins>
</plugins>
<!-- TODO: Define field using field map-->
<fields>
<field type="solenoid" name="GlobalSolenoid" inner_field="1.5 * tesla" outer_field="0.5*tesla"
zmin="100.0 * cm" zmax="100.0 * cm" inner_radius="100.0 * cm" outer_radius="100.0 * cm"/>
</fields>
</lccdd>
<lccdd>
<comment>Central Barrel Solenoid</comment>
<define>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<!-- Define detector -->
<detectors>
<comment>
Central Barrel Solenoid Magnet
</comment>
<detector id="Solenoid_ID" name="cb_Solenoid" type="cb_Solenoid" insideTrackingVolume="false" vis="cb_SolenoidVis">
<material name="Vacuum"/> <!-- G4_Galactic -->
<dimensions rmin="cb_Solenoid_rmin" rmax="cb_Solenoid_rmax" z="cb_Solenoid_z" delta="cb_Solenoid_shift"/>
</detector>
</detectors>
<plugins>
</plugins>
<!-- TODO: Define field using field map-->
<fields>
</fields>
</lccdd>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
</define>
<detectors>
<detector id="ce_MRICH_ID" name="ce_MRICH" type="refdet_ce_MRICH" readout="MRICHHits" vis="BlueVis" material="Air">
<dimensions rmin="ce_MRICHRMin" rmax="ce_MRICHRMax" length="ce_MRICHLength" z="ce_MRICHZMin"/>
<modules material="Quartz" thickness="10*cm" width="10*cm" gap="1*cm" />
</detector>
</detectors>
<readouts>
<readout name="MRICHHits">
<segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
<id>system:8,layer:4,piece:4,module:14,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
This diff is collapsed.
<display>
<vis name="Argonne_Green" alpha="1" r="119/255" g="179/255" b="0"/>
<vis name="Argonne_Violet" alpha="1" r="91/256" g="0" b="145/256"/>
<vis name="Argonne_Process_Blue" alpha="1" r="0/256" g="130/256" b="202/256"/>
<vis name="Argonne_Orange" alpha="1" r="255/256" g="121/256" b="0"/>
<vis name="Argonne_Red" alpha="1" r="205/256" g="32/256" b="44/256"/>
<vis name="Argonne_Gold" alpha="1" r="248/256" g="178/256" b="0/256"/>
<vis name="Argonne_Blue" alpha="1" r="0/256" g="96/256" b="156/256"/>
<vis name="Argonne_Teal" alpha="1" r="0/256" g="161/256" b="156/256"/>
<vis name="Argonne_Gray" alpha="1" r="102/256" g="102/256" b="102/256"/>
<vis name="Argonne_Light_Gray" alpha="1" r="209/256" g="209/256" b="209/256"/>
<vis name="Argonne_Off_White" alpha="1" r="242/256" g="242/256" b="242/256"/>
<vis name="Argonne_Delta_Red" alpha="1" r="161/256" g="43/256" b="47/256"/>
<vis name="Argonne_Delta_Green" alpha="1" r="0" g="120/256" b="54/256"/>
<vis name="Argonne_Delta_Blue" alpha="1" r="11/256" g="31/256" b="143/256"/>
<vis name="Argonne_Red_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/>
<comment>Tracker_Layer_Vis is Argonne_Gold</comment>
<vis name="Tracker_Layer_Vis" alpha="0.5" r="248/256" g="178/256" b="0/256" showDaughters="true" />
<vis name="InvisibleNoDaughters" showDaughters="false" visible="false"/>
<vis name="InvisibleWithDaughters" showDaughters="true" visible="false"/>
<vis name="SiVertexVis" alpha="0.9" r="1" g="0" b="1" showDaughters="true" />
<vis name="SiTrackerBarrelVis" alpha="0.5" r="0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerVis" alpha="0.9" r="1.0" g="0.0" b="0.0" showDaughters="true" lineStyle="solid" drawingStyle="solid" />
<vis name="TrackerLayerVis" alpha="0.9" r="0.0" g="1.0" b="0.0" visible="true" showDaughters="true" />
<vis name="SiTrackerBarrelVis1" alpha="0.8" r="0.0" g="0.9" b="0.9" showDaughters="true" />
<vis name="SiTrackerBarrelVis2" alpha="0.8" r="0.1" g="0.9" b="0.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerEndcapVis1" alpha="0.8" r="1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerEndcapVis2" alpha="0.8" r="1.0" g="0.45" b="0.0" showDaughters="false" visible="true"/>
<vis name="SiTrackerSubAssemblyVis" alpha="1" r="0.0" g="0.99" b="0.0" showDaughters="true" visible="true"/>
<vis name="SiTrackerLayerVis" alpha="1" r="0.0" g="1" b="0.0" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="EcalVis" alpha="0.1" r="0.0" g="0.75" b="0.1" showDaughters="false"/>
<vis name="EcalEndcapVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
<vis name="EcalBarrelVis" alpha="1.0" r="0.0" g="0.99" b="0.0" showDaughters="false" visible="true" />
<vis name="HcalVis" alpha="0.9" r="0.75" g="0.0" b="0.0" showDaughters="false"/>
<vis name="HcalBarrelVis" alpha="1.0" r="0.0" g="0.0" b="0.99" showDaughters="false" visible="true" />
<vis name="HcalEndcapVis" alpha="1.0" r="0.0" g="0.0" b="0.99" showDaughters="false" visible="true" />
<vis name="SolenoidCoilVis" alpha="1.0" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidCryostatVis" alpha="0.4" r="0.55" g="0.55" b="0.7" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="SolenoidYokeVis" alpha="0.2" r="0.8" g="0.1" b="0.1" showDaughters="false" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="RICHVis" alpha="0.5" r="1" g="0" b="1" showDaughters="false"/>
<vis name="BeamPipeVis" alpha="1" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
<vis name="cb_SolenoidVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/>
<comment>
Deprecated colors.
</comment>
<vis name="GreenVis" alpha="1.0" r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RedVis" alpha="0.2" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RPVis" alpha="0.99" r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="RPLayerVis" alpha="0.99" r= "0.0" g="0.7" b="0.3" showDaughters="true" visible="true" lineStyle="solid" drawingStyle="solid" />
<vis name="BlueVis" alpha="1.0" r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="OrangeVis" alpha="1.0" r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/>
<vis name="RedGreenVis" alpha="0.5" r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
<vis name="BlueGreenVis" alpha="0.5" r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="PurpleVis" alpha="1.0" r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="DoubleRedG" alpha="0.5" r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG015" alpha="0.5" r= "0.0" g=".2" b="1.0" showDaughters="true" visible="true"/>
<vis name="RBG510" alpha="0.5" r= "1.0" g=".2" b="0.0" showDaughters="true" visible="true"/>
<vis name="RBG" alpha="0.5" r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
<vis name="GrayVis" alpha="1.0" r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
</display>
<lccdd>
<define>
<constant name="CrystalEndcap_rmin" value="VertexTrackerInnerRadius"/>
<constant name="CrystalEndcap_rmax" value="EcalEndcapN_rmin"/>
<constant name="CrystalBox_x_length" value="20.0*mm"/>
<constant name="CrystalBox_y_length" value="20.0*mm"/>
<constant name="CrystalBox_z_length" value="200.0*mm"/>
<constant name="CrystalBox_offset" value="0.000001*mm"/>
<constant name="CrystalEndcap_x_pos" value="0.0*m"/>
<constant name="CrystalEndcap_y_pos" value="0.0*m"/>
<constant name="CrystalEndcap_z_pos" value="-EcalEndcap_zmin"/>
</define>
<limits>
</limits>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display>
</display>
<detectors>
<comment>
---------------------
Barrel EM Calorimeter
---------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector
id="ECalBarrel_ID"
name="EcalBarrel"
type="DD4hep_EcalBarrel"
readout="EcalBarrelHits"
calorimeterType="EM_BARREL">
<dimensions
numsides="CaloSides"
rmin="EcalBarrel_rmin"
z="EcalBarrelLength"/>
<staves vis="EcalBarrelVis"/>
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalBarrelThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalBarrelThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
<comment>
-----------------------------
Forward Endcap EM Calorimeter
-----------------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector id="ECalEndcapP_ID"
name="EcalEndcapP"
reflect="false"
type="DD4hep_PolyhedraEndcapCalorimeter2"
readout="EcalEndcapHits"
vis="EcalEndcapVis"
calorimeterType="EM_ENDCAP" >
<dimensions
numsides="CaloSides"
zmin="EcalEndcap_zmin"
rmin="EcalEndcapP_rmin"
rmax="EcalBarrel_rmax " />
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
<comment>
-------------------------------
Backwards Endcap EM Calorimeter
-------------------------------
A layered EM calorimeter with tungsten and silicon (or scintillator) strips
</comment>
<detector id="ECalEndcapN_ID"
name="EcalEndcapN"
type="refdet_PolyhedraEndcapCalorimeter2"
reflect="true"
readout="EcalEndcapHits"
vis="EcalEndcapVis"
calorimeterType="EM_ENDCAP">
<dimensions
numsides="CaloSides"
zmin="EcalEndcap_zmin"
rmin="EcalEndcapN_rmin"
rmax="EcalBarrel_rmax " />
<layer repeat="1">
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThinLayers">
<slice material="TungstenDens24" thickness="EcalThinTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
<layer repeat="EcalEndcapThickLayers">
<slice material="TungstenDens24" thickness="EcalThickTungstenThickness"/>
<slice material="Air" thickness="EcalAir2Thickness"/>
<slice material="Silicon" thickness="EcalSiliconThickness" sensitive="yes" limits="cal_limits"/>
<slice material="Copper" thickness="EcalCopperThickness"/>
<slice material="Kapton" thickness="EcalKaptonThickness"/>
<slice material="Air" thickness="EcalAir1Thickness"/>
</layer>
</detector>
</detectors>
<!-- Definition of the readout segmentation/definition -->
<readouts>
<!--
<readout name="PlaneTrackerHits">
<segmentation type="CartesianGridXY" grid_size_x="20.0*mm" grid_size_y="20.0*mm" />
<id>system:5,module:4,x:32:-16,y:-16</id>
</readout>
<readout name="CrystalEcalHits">
<segmentation type="CartesianGridXY" grid_size_x="CrystalBox_x_length" grid_size_y="CrystalBox_y_length" />
<id>system:8,sector:4,module:20,x:48:-8,y:-8</id>
</readout>
-->
<readout name="EcalBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
<id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
</readout>
<readout name="EcalEndcapHits">
<segmentation type="CartesianGridXY" grid_size_x="3.5 * mm" grid_size_y="3.5 * mm"/>
<id>system:8,barrel:3,module:4,layer:6,slice:5,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
File moved
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
</define>
<detectors>
<detector id="ForwardRICH_ID" name="ForwardRICH" type="refdet_ForwardRICH" readout="ForwardRICHHits" vis="BlueVis">
<dimensions z0="RICHZMin" length="RICHDepth+20*cm" rmin="RICHRMin" rmax1="RICHRMax*cm" rmax2="RICHRMin+80*cm"/>
<radiator material="N2cherenkov" />
<mcppmt zdiff="15.0*cm" rmin="SolenoidYokeEndcapP_rmin - 10*cm" rmax="SolenoidYokeEndcapP_rmin + 80*cm" rtol="1.0*cm" vis="BlueVis"
module_size="10*cm" module_gap="0.2*cm" thickness="1.0*cm" material="Quartz" />
<tank zdiff="5.0*cm" length="RICHDepth" gas="N2cherenkov" vis="GreenVis"
rmin="RICHRMin" rmax1="RICHRMin+40*cm" rmax2="RICHRMin+80*cm" />
<mirror zdiff="RICHDepth+7.0*cm" thickness="1*mm" material="PyrexGlass" vis="GrayVis">
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="0*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="60*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="120*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="180*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="240*degree" />
<slice focus="10*cm" curve="300*cm" rmin="RICHRMin" rmax="RICHRMin+80*cm" phiw="59*degree" rotz="300*degree" />
</mirror>
</detector>
</detectors>
<readouts>
<readout name="ForwardRICHHits">
<segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
<id>system:8,layer:4,piece:4,module:14,x:32:-16,y:-16</id>
</readout>
</readouts>
</lccdd>
<lccdd>
<define>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<!-- Define detector -->
<detectors>
<detector
id="HCalBarrel_ID"
name="HcalBarrel"
type="DD4hep_PolyhedraBarrelCalorimeter2"
readout="HcalBarrelHits"
calorimeterType="HAD_BARREL"
gap="0.*cm"
material="Steel235">
<dimensions
numsides="CaloSides"
rmin="HcalBarrel_rmin"
z="HcalBarrelLength"/>
<staves vis="HcalBarrelVis"/>
<layer repeat="HcalBarrelLayers">
<slice material="Steel235" thickness="HcalSteelThickness"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="G10" thickness="HcalG10Thickness"/>
<slice material="Air" thickness="HcalAirThickness"/>
</layer>
</detector>
<detector
id="HCalEndcapP_ID"
name="HcalEndcapP"
type="refdet_PolyhedraEndcapCalorimeter2"
readout="HcalEndcapHits"
vis="HcalEndcapVis"
calorimeterType="HAD_ENDCAP"
reflect="false">
<dimensions
numsides="CaloSides"
zmin="HcalEndcap_zmin"
rmin="HcalEndcapP_rmin"
rmax="HcalBarrel_rmax"/>
<layer repeat="HcalEndcapLayers" vis="HcalEndcapVis" >
<slice material="Steel235" thickness="HcalSteelThickness"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="G10" thickness="HcalG10Thickness"/>
<slice material="Air" thickness="HcalAirThickness"/>
</layer>
</detector>
<detector
id="HCalEndcapN_ID"
name="HcalEndcapN"
type="refdet_PolyhedraEndcapCalorimeter2"
readout="HcalEndcapHits"
vis="HcalEndcapVis"
calorimeterType="HAD_ENDCAP" reflect="true">
<dimensions
numsides="CaloSides"
zmin="HcalEndcap_zmin"
rmin="HcalEndcapN_rmin"
rmax="HcalBarrel_rmax"/>
<layer repeat="HcalEndcapLayers" vis="HcalEndcapVis" >
<slice material="Steel235" thickness="HcalSteelThickness"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="RPCGasDefault" thickness="HcalRPCGasThickness" sensitive="yes" limits="cal_limits"/>
<slice material="PyrexGlass" thickness="HcalPyrexThickness"/>
<slice material="G10" thickness="HcalG10Thickness"/>
<slice material="Air" thickness="HcalAirThickness"/>
</layer>
</detector>
</detectors>
<!-- Definition of the readout segmentation/definition -->
<readouts>
<readout name="HcalBarrelHits">
<segmentation type="CartesianGridXY" grid_size_x="10 * mm" grid_size_y="10 * mm"/>
<id>system:6,barrel:3,module:4,layer:8,slice:5,x:32:-16,y:-16</id>
</readout>
<readout name="HcalEndcapHits">
<segmentation type="CartesianGridXY" grid_size_x="10 * mm" grid_size_y="10 * mm"/>
<id>system:6,barrel:3,module:4,layer:8,slice:5,x:32:-16,y:-16</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
......@@ -2,6 +2,7 @@
<materials>
<!--
Air by weight from
http://www.engineeringtoolbox.com/air-composition-24_212.html
-->
<material name="Air">
......@@ -12,7 +13,7 @@
</material>
<!-- We model vacuum just as very thin air -->
<material name="Vacuum">
<D type="density" unit="g/cm3" value="1.e-25"/>
<D type="density" unit="g/cm3" value="0.0000000001"/>
<fraction n="0.754" ref="N"/>
<fraction n="0.234" ref="O"/>
<fraction n="0.012" ref="Ar"/>
......
<!-- Define parameter -->
<define>
<constant name="world_side" value="50*m"/>
<constant name="world_x" value="world_side"/>
<constant name="world_y" value="world_side"/>
<constant name="world_z" value="world_side"/>
<constant name="tracker_region_zmax" value="6 * m"/>
<constant name="tracker_region_rmax" value="6 * m"/>
</define>
<?xml version="1.0" encoding="UTF-8"?>
<lccdd>
<define>
<comment>
--------------------------
Solenoid Magnet Parameters
--------------------------
</comment>
</define>
<detectors>
<comment>
---------------
Solenoid Magnet
---------------
The solenoid superconducting magnet and surrounding cryostat and
yoke endcaps.
</comment>
<detector
id="Solenoid_ID"
name="SolenoidCoilBarrel"
type="DD4hep_MultiLayerTracker"
insideTrackingVolume="false">
<layer id="1"
inner_r="Solenoid_rmin"
outer_z="SolenoidBarrel_zmax"
vis="SolenoidCryostatVis">
<slice material="Steel235" thickness="SolenoidBarrelCryostatThickness"/>
<slice material="Vacuum" thickness="SolenoidBarrelGapThickness"/>
</layer>
<layer id="2"
inner_r="SolenoidCoilConductor_rmin"
outer_z="SolenoidCoil_zmax"
vis="SolenoidCoilVis">
<slice material="Aluminum" thickness="SolenoidBarrelAlConductorThickness"/>
<slice material="Aluminum" thickness="SolenoidBarrelQuenchbackThickness"/>
</layer>
<layer id="3"
inner_r="SolenoidCoilConductor_rmax"
outer_z="SolenoidBarrel_zmax"
vis="SolenoidCryostatVis">
<slice material="Vacuum" thickness="SolenoidBarrelOuterGapThickness"/>
<slice material="Steel235" thickness="SolenoidBarrelOuterCryostatThickness"/>
</layer>
</detector>
<detector
id="SolenoidSupport_ID"
name="SolenoidCoilEnds"
type="DD4hep_DiskTracker"
insideTrackingVolume="false"
reflect="true"
vis="SolenoidCryostatVis">
<layer id="1"
inner_z="SolenoidCoil_zmax"
inner_r="SolenoidCoilConductor_rmin"
outer_r="SolenoidCoilConductor_rmax">
<slice material="Vacuum" thickness="SolenoidEndPlateGapThickness/2.0"/>
</layer>
<!--
<layer id="2"
inner_z="SolenoidCoil_zmax + SolenoidEndPlateGapThickness"
inner_r="Solenoid_rmin+SolenoidBarrelCryostatThickness"
outer_r="SolenoidBarrel_rmax-SolenoidBarrelOuterCryostatThickness">
<slice material="Steel235" thickness="SolenoidEndPlateCryostatThickness"/>
</layer>
-->
</detector>
<detector
id="SolenoidYoke_ID"
name="SolenoidYokeEndcaps"
type="DD4hep_DiskTracker"
insideTrackingVolume="false"
reflect="true"
vis="SolenoidYokeVis">
<layer id="1"
vis="PurpleVis"
inner_z="SolenoidBarrel_zmax + SolenoidEndPlateGapThickness"
inner_r="SolenoidYokeEndcapP_rmin"
outer_r="SolenoidBarrel_rmax">
<slice material="Steel235" thickness="SolenoidYokeEndcapThickness/2.0" vis="SolenoidYokeVis" />
</layer>
</detector>
<!--
<detector name="SolenoidYoke" type="SiEIC_Yoke" vis="SolenoidYokeVis">
<material name="Steel235"/>
<dimensions inner_radius="SolenoidYokeInnerRadius" thickness="SolenoidYokeThickness" rmin="CaloInnerRadius + 10 * mm" angle="SolenoidYokeChamferAngle" inner_z="SolenoidYokeInnerZ"/>
</detector>
-->
</detectors>
<fields>
<field type="solenoid" name="GlobalSolenoid" inner_field="3.0 * tesla" outer_field="0.5*tesla"
zmin="-SolenoidCoil_zmax" zmax="SolenoidCoil_zmax"
inner_radius="SolenoidalFieldRadius" outer_radius="SolenoidalFieldRadius+20*cm"/>
</fields>
</lccdd>
......@@ -3,69 +3,134 @@
xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">
<!-- Some information about detector -->
<info name="Test Detector" title="Test Detector"
author="Jihee Kim"
<info name="Reference Detector" title="Reference Detector"
author="Jihee Kim, Whitney Armstrong"
url="https://eicweb.phy.anl.gov/EIC/detectors/reference_detector.git"
status="development"
version="v1 2021-03-16">
<comment>Test Detector</comment>
</info>
<!-- Use DD4hep elements and materials definitions -->
<define>
<include ref="compact/definitions.xml" />
<include ref="eic/eic_defs.xml" />
<include ref="ip6/ip6_defs.xml" />
<!--
-->
</define>
<properties>
<matrix name="RINDEX__Vacuum" coldim="2" values="
1.0*eV 1.0
5.1*eV 1.0
"/>
<matrix name="RINDEX__Air" coldim="2" values="
1.0*eV 1.00029
5.1*eV 1.00029
"/>
<matrix name="RINDEX__Quartz" coldim="2" values="
1.0*eV 1.46
5.1*eV 1.46
"/>
<matrix name="RINDEX__N2" coldim="2" values="
1.0*eV 1.00033
4.0*eV 1.00033
5.1*eV 1.00033
"/>
<matrix name="RINDEX__Pyrex" coldim="2" values="
1.0*eV 1.5
4.0*eV 1.5
5.1*eV 1.5
"/>
<matrix name= "REFLECTIVITY_mirror" coldim="2" values="
1.0*eV 0.9
4.0*eV 0.9
5.1*eV 0.9
"/>
</properties>
<includes>
<gdmlFile ref="elements.xml"/>
<gdmlFile ref="materials.xml"/>
<gdmlFile ref="compact/elements.xml"/>
<gdmlFile ref="compact/materials.xml"/>
</includes>
<!-- Define the dimensions of the world volume -->
<define>
<constant name="world_side" value="50*m"/>
<constant name="world_x" value="world_side"/>
<constant name="world_y" value="world_side"/>
<constant name="world_z" value="world_side"/>
<constant name="tracker_region_zmax" value="6 * m"/>
<constant name="tracker_region_rmax" value="6 * m"/>
<materials>
<material name="AirOptical">
<D type="density" unit="g/cm3" value="0.0012"/>
<fraction n="0.754" ref="N"/>
<fraction n="0.234" ref="O"/>
<fraction n="0.012" ref="Ar"/>
<property name="RINDEX" ref="RINDEX__Vacuum"/>
</material>
<material name="N2cherenkov">
<D type="density" value="0.00125" unit="g/cm3"/>
<composite n="1" ref="N"/>
<property name="RINDEX" ref="RINDEX__N2"/>
</material>
<material name="PyrexGlass">
<D type="density" value="2.23" unit="g/cm3"/>
<fraction n="0.806" ref="SiliconOxide"/>
<fraction n="0.130" ref="BoronOxide"/>
<fraction n="0.040" ref="SodiumOxide"/>
<fraction n="0.023" ref="AluminumOxide"/>
<property name="RINDEX" ref="RINDEX__Pyrex"/>
</material>
</materials>
<constant name="TestDetector_ID" value="999"/>
<constant name="TestDetector_inner_radius" value="10.0 * cm"/>
<constant name="TestDetector_rmin" value="10.0 * cm"/>
<constant name="TestDetector_thickness" value="100.0 * cm"/>
<constant name="TestDetector_inner_z" value="40.0 * cm"/>
<constant name="TestDetector_angle" value="0.0 * rad"/>
</define>
<surfaces>
<comment> For the values of "finish", model and type, see TGeoOpticalSurface.h !
</comment>
<opticalsurface finish="polished" model="glisur" name="MirrorOpticalSurface" type="dielectric_metal" value="0">
<property name="REFLECTIVITY" ref="REFLECTIVITY_mirror"/>
<property name="RINDEX" coldim="2" values="1.034*eV 1.5 4.136*eV 1.5"/>
<!--<property name="EFFICIENCY" ref="EFFICIENCY0x8b77240"/>-->
</opticalsurface>
<opticalsurface name="mirror2" finish="polished" model="glisur" type="dielectric_dielectric">
<property name="REFLECTIVITY" coldim="2" values="1.034*eV 0.8 4.136*eV 0.9"/>
<property name="EFFICIENCY" coldim="2" values="2.034*eV 0.8 4.136*eV 1.0"/>
<property name="RINDEX" coldim="2" values="1.034*eV 1.5 4.136*eV 1.5"/>
</opticalsurface>
<!-- Define the dimensions of the world volume -->
</surfaces>
<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>
<regions>
</regions>
<!-- Common Generic visualization attributes -->
<comment>Common Generic visualization attributes</comment>
<display>
<vis name="TestDetectorVis" alpha="0.4" r= "0.1" g="0.0" b="0.1" showDaughters="true" visible="true"/>
<include ref="compact/display.xml" />
</display>
<!-- Define detector -->
<!--
<include ref="reference_detector/vertex_tracker.xml"/>
<include ref="compact/silicon_tracker.xml"/>
-->
<include ref="ip6/beampipe.xml"/>
<include ref="compact/solenoid.xml"/>
<include ref="compact/ecal.xml"/>
<include ref="compact/hcal.xml"/>
<include ref="compact/forward_rich.xml"/>
<include ref="compact/ce_mrich.xml"/>
<!--
<include ref="compact/roman_pots.xml"/>
-->
<include ref="eic/forward_ion_beamline.xml"/>
<!--
-->
<detectors>
<comment>
Central Barrel Solenoid Magnet
</comment>
<detector id="TestDetector_ID" name="TestDetector" type="TestDetector" vis="TestDetectorVis">
<dimensions inner_radius="TestDetector_inner_radius"
rmin="TestDetector_rmin"
thickness="TestDetector_thickness"
inner_z="TestDetector_inner_z"
angle="TestDetector_angle"/>
<material name="Steel235"/>
</detector>
</detectors>
<readouts>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
1.34392e+07
90
180
0
0
0
0
1
1
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.001
0.001
0.001
3
71
0.001
0
0
1
evince
0
0
......@@ -9,8 +9,8 @@ function print_the_help {
exit
}
FILE_TAG="view1"
INPUT_FILE="g4_0000.prim"
FILE_TAG="view01"
INPUT_FILE="../../g4_0000.prim"
POSITIONAL=()
......@@ -44,6 +44,7 @@ done
set -- "${POSITIONAL[@]}" # restore positional parameters
# Side view
dawncut 1 0 0 1 ${INPUT_FILE} ${FILE_TAG}_temp0.prim
dawncut -1 0 0 1 ${FILE_TAG}_temp0.prim ${FILE_TAG}.prim
dawn -d ${FILE_TAG}.prim
......@@ -55,3 +56,15 @@ gs -o ${FILE_TAG}.pdf -sDEVICE=pdfwrite \
pdftoppm ${FILE_TAG}.pdf ${FILE_TAG} -png -singlefile -cropbox
# Top view
dawncut 0 1 0 1 ${INPUT_FILE} ${FILE_TAG}_temp0.prim
dawncut 0 -1 0 1 ${FILE_TAG}_temp0.prim ${FILE_TAG}.prim
../../bin/dawn_tweak --theta 270
dawn -d ${FILE_TAG}.prim
ps2pdf ${FILE_TAG}.eps ${FILE_TAG}_top_full.pdf
gs -o ${FILE_TAG}_top.pdf -sDEVICE=pdfwrite \
-c "[/CropBox [51 250 550 590] /PAGES pdfmark" \
-f ${FILE_TAG}_top_full.pdf
pdftoppm ${FILE_TAG}_top.pdf ${FILE_TAG}_top -png -singlefile -cropbox
1.34392e+07
0
180
0
0
0
0
8
3
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.01
0.01
0.01
3
70
0.01
1
1
1
evince
0
0
1.34392e+07
28.5
151.5
0
0
0
0
8
5
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.01
0.01
0.01
3
70
0.01
1
1
1
evince
0
0
1.34392e+07
90
0
1
0
0
491.1
1.2
5
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.01
0.01
0.01
3
70
0.01
1
1
1
evince
0
0
1.34392e+07
0
180
0
0
0
0
18.6
1
0.001
0
1
1
1
0.5
0.5
0.5
19
71
0.01
0.01
0.01
3
70
0.01
1
1
1
evince
0
0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment