Skip to content
Snippets Groups Projects
Commit 6d2aedf2 authored by Whitney Armstrong's avatar Whitney Armstrong
Browse files

Using new vis attributes

parent 2b994ca8
No related branches found
No related tags found
1 merge request!122Using new vis attributes
......@@ -104,6 +104,7 @@ include:
- local: 'views/view13.yml'
- local: 'views/view14.yml'
- local: 'views/view15.yml'
- local: 'views/view20.yml'
ce_ecal_placement:
stage: test
......@@ -157,6 +158,7 @@ report:
- view_13
- view_14
- view_15
- view_20
- dump_constants
- dump_geometry
- convert_to_gdml
......
......@@ -156,6 +156,7 @@ else:
prim_file = os.path.abspath(prim_file)
owd = os.getcwd()
os.chdir(args.dawn_dir)
subprocess.run(['pwd'])
subprocess.run(['./generate_eps', '-t', args.tag, '-i', prim_file])
subprocess.run(['ls', '-lrth'])
......
......@@ -129,8 +129,8 @@
<comment>
Tracker Barrel Modules
</comment>
<module name="TrackerBarrelInner_Module1" vis="PurpleVis">
<frame material="CarbonFiber_25percent" vis="BlueGreenVis"
<module name="TrackerBarrelInner_Module1" vis="TrackerModuleVis">
<frame material="CarbonFiber_25percent" vis="TrackerSupportVis"
width="TrackerBarrelSpaceFrame_width"
height="TrackerBarrelSpaceFrame_height"
length="TrackerBarrelInner_length1"
......@@ -145,8 +145,8 @@
<module_component name="peek1" material="PEEK" sensitive="false"
width="TrackerBarrelSpaceFrame_width" length="TrackerBarrelInner_length1-6*mm" thickness="2.0*mm" />
</module>
<module name="TrackerBarrelInner_Module2" vis="PurpleVis">
<frame material="CarbonFiber_25percent" vis="BlueGreenVis"
<module name="TrackerBarrelInner_Module2" vis="TrackerModuleVis">
<frame material="CarbonFiber_25percent" vis="TrackerSupportVis"
width="TrackerBarrelSpaceFrame_width"
height="TrackerBarrelSpaceFrame_height"
length="TrackerBarrelInner_length2"
......@@ -164,7 +164,7 @@
<comment>
Tracker Barrel Inner Layers
</comment>
<layer module="TrackerBarrelInner_Module1" id="1" vis="VertexVis">
<layer module="TrackerBarrelInner_Module1" id="1" vis="TrackerLayerVis">
<barrel_envelope
inner_r="TrackerBarrelInner_rmin1-TrackerBarrelLayer_rOffset"
outer_r="TrackerBarrelInner_rmin1-TrackerBarrelLayer_rOffset + TrackerBarrelInner_thickness-1.0*mm"
......@@ -172,7 +172,7 @@
<rphi_layout phi_tilt="10.0*degree" nphi="TrackerBarrelInner_NModules" phi0="0.0" rc="TrackerBarrelInner_rmin1" dr="0.0 * mm"/>
<z_layout dr="0.0 * mm" z0="0.0 * mm" nz="1"/>
</layer>
<layer module="TrackerBarrelInner_Module2" id="2" vis="VertexVis">
<layer module="TrackerBarrelInner_Module2" id="2" vis="TrackerLayerVis">
<barrel_envelope
inner_r="TrackerBarrelInner_rmin2-TrackerBarrelLayer_rOffset"
outer_r="TrackerBarrelInner_rmin2-TrackerBarrelLayer_rOffset + TrackerBarrelInner_thickness"
......
<lccdd>
<comment> Simplified All Silicon Tracker based on:
https://github.com/reynier0611/g4lblvtx/blob/master/macros/auxiliary_studies/simplified_geometry/Fun4All_G4_simplified_v2.C
With some added info on ITS3 chip from
https://indico.bnl.gov/event/10677/contributions/45591/attachments/33204/53254/20210318-IR2%40EIC-SVT.pdf
To be used as standin until we get more detailed specs from the working group on the tracker.
Note that most details are replaced with
Note: initial implementation with hard-coded values,
TODO: add parametrization
</comment>
<define>
<constant name="VtxRadius1" value="3.3*cm"/>
<constant name="VtxRadius2" value="5.7*cm"/>
<constant name="VtxLength" value="30*cm"/>
<constant name="VtxThickness" value="0.05/100*9.37*cm"/>
<constant name="VtxServiceThickness" value="VtxThickness-ITS3Thickness"/>
<constant name="TrkBarrelThickness" value="0.55/100*9.37*cm"/>
<constant name="TrkBarrelServiceThickness" value="TrkBarrelThickness-ITS3Thickness"/>
<constant name="TrkBarrel1Radius1" value="21.0*cm"/>
<constant name="TrkBarrel1Radius2" value="22.68*cm"/>
<constant name="TrkBarrel1Length1" value="54.0*cm"/>
<constant name="TrkBarrel1Length2" value="60.0*cm"/>
<constant name="TrkBarrel2Radius1" value="39.3*cm"/>
<constant name="TrkBarrel2Radius2" value="43.23*cm"/>
<constant name="TrkBarrel2Length1" value="105.0*cm"/>
<constant name="TrkBarrel2Length2" value="114.0*cm"/>
<constant name="TrkDiskThickness" value="0.25/100*9.37*cm"/>
<constant name="TrkDiskServiceThickness" value="TrkDiskThickness-ITS3Thickness"/>
<constant name="TrkNumOuterDisks" value="3"/>
<constant name="TrkInnerDisk1_z" value="25.0*cm"/>
<constant name="TrkInnerDisk2_z" value="49.0*cm"/>
<constant name="TrkOuterDisk_zmin" value="73.0*cm"/>
<constant name="TrkOuterDisk_zmax" value="121.0*cm"/>
<constant name="TrkOuterDisk_deltaz" value="(TrkOuterDisk_zmax-TrkOuterDisk_zmin)/(TrkNumOuterDisks-1)" />
<constant name="TrkInnerDisk1_rmin" value="0.05025461*TrkInnerDisk1_z-0.180808*cm"/>
<constant name="TrkInnerDisk2_rmin" value="0.05025461*TrkInnerDisk2_z-0.180808*cm"/>
<constant name="TrkOuterDisk_rmin" value="3.18*cm"/>
<constant name="TrkInnerDisk1_rmax" value="18.5*TrkInnerDisk1_z/TrkInnerDisk1_z*cm"/>
<constant name="TrkInnerDisk2_rmax" value="18.5*TrkInnerDisk2_z/TrkInnerDisk1_z*cm"/>
<constant name="TrkOuterDisk_rmax" value="43.23*cm"/>
</define>
<limits>
</limits>
<regions>
</regions>
<display>
</display>
<detectors>
<detector id="AllSiliconVtx_ID" name="AllSiliconVtx" type="refdet_CylinderTrackerBarrel" readout="ITS3Hits">
<module name="Module1" vis="AnlGreen">
<module_envelope rmin="VtxRadius1" thickness="VtxThickness" length="VtxLength" phi="360*degree" />
<module_component rmin="VtxRadius1" thickness="ITS3Thickness" material="Silicon" name="ITS3" sensitive="true" />
<module_component rmin="VtxRadius1 + ITS3Thickness" thickness="VtxServiceThickness" material="Silicon" name="VtxServices" />
</module>
<module name="Module2" vis="AnlGreen">
<module_envelope rmin="VtxRadius2" thickness="VtxThickness" length="VtxLength" phi="360*degree" />
<module_component rmin="VtxRadius2" thickness="ITS3Thickness" material="Silicon" name="ITS3" sensitive="true" />
<module_component rmin="VtxRadius2 + ITS3Thickness" thickness="VtxServiceThickness" material="Silicon" name="VtxServices" />
</module>
<layer module="Module1" id="1" vis="AnlGreen">
<barrel_envelope inner_r="VtxRadius1" outer_r="VtxRadius1 + VtxThickness" z_length="VtxLength" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0.0" rc="VtxRadius1" dr="0.0*mm" />
<z_layout dr="0.0*mm" z0="0" nz="1" />
</layer>
<layer module="Module2" id="2" vis="AnlGreen">
<barrel_envelope inner_r="VtxRadius2" outer_r="VtxRadius2 + VtxThickness" z_length="VtxLength" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0.0" rc="VtxRadius2" dr="0.0*mm" />
<z_layout dr="0.0*mm" z0="0" nz="1" />
</layer>
</detector>
<detector id="AllSiliconTrk1Assembly_ID" name="AllSiliconTrkAssembly1" type="DD4hep_SubdetectorAssembly" vis="AnlGreen">
<composite name="AllSiliconTrkDisk1N" />
<composite name="AllSiliconTrkDisk1P" />
<composite name="AllSiliconBarrel1" />
</detector>
<detector id="AllSiliconTrkBarrel1_ID" name="AllSiliconTrkBarrel1" type="refdet_CylinderTrackerBarrel" readout="ITS3Hits">
<module name="Module1" id="1" vis="AnlGreen">
<module_envelope rmin="TrkBarrel1Radius1" thickness="TrkBarrelThickness" length="TrkBarrel1Length1" phi="360*degree" />
<module_component rmin="TrkBarrel1Radius1" thickness="ITS3Thickness" material="Silicon" name="ITS3" sensitive="true" />
<module_component rmin="TrkBarrel1Radius1 + ITS3Thickness" thickness="TrkBarrelServiceThickness" material="Silicon" name="TrkBarrel1Services" />
</module>
<module name="Module2" id="2" vis="AnlGreen">
<module_envelope rmin="TrkBarrel1Radius2" thickness="TrkBarrelThickness" length="TrkBarrel1Length2" phi="360*degree" />
<module_component rmin="TrkBarrel1Radius2" thickness="ITS3Thickness" material="Silicon" name="ITS3" sensitive="true" />
<module_component rmin="TrkBarrel1Radius2 + ITS3Thickness" thickness="TrkBarrelServiceThickness" material="Silicon" name="TrkBarrel1Services" />
</module>
<layer module="Module1" id="1" vis="AnlGreen">
<barrel_envelope inner_r="TrkBarrel1Radius1" outer_r="TrkBarrel1Radius1 + TrkBarrelThickness" z_length="TrkBarrel1Length1" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0.0" rc="TrkBarrel1Radius1" dr="0.0*mm" />
<z_layout dr="0.0*mm" z0="0" nz="1" />
</layer>
<layer module="Module2" id="2" vis="AnlGreen">
<barrel_envelope inner_r="TrkBarrel1Radius2" outer_r="TrkBarrel1Radius2 + TrkBarrelThickness" z_length="TrkBarrel1Length2" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0.0" rc="TrkBarrel1Radius2" dr="0.0*mm" />
<z_layout dr="0.0*mm" z0="0" nz="1" />
</layer>
</detector>
<detector id="AllSiliconTrkDisk1N_ID" name="AllSiliconTrkDisk1N" type="ref_DiskTracker" insideTrackingVolume="true" reflect="true" vis="kAnlGreen">
<position x="0" y="0" z="0"/>
<layer id="1" vis="AnlGreen"
inner_z="TrkInnerDisk1_z"
inner_r="TrkInnerDisk1_rmin"
outer_r="TrkInnerDisk1_rmax">
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
</detector>
<detector id="AllSiliconTrkDisk1P_ID" name="AllSiliconTrkDisk1P" type="ref_DiskTracker" insideTrackingVolume="true" reflect="false" vis="kAnlGreen">
<position x="0" y="0" z="0"/>
<layer id="1" vis="AnlGreen"
inner_z="TrkInnerDisk1_z"
inner_r="TrkInnerDisk1_rmin"
outer_r="TrkInnerDisk1_rmax">
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
</detector>
<detector id="AllSiliconTrk2Assembly_ID" name="AllSiliconTrkAssembly2" type="DD4hep_SubdetectorAssembly" vis="AnlGreen">
<composite name="AllSiliconTrkDisk2N" />
<composite name="AllSiliconTrkDisk2P" />
<composite name="AllSiliconBarrel2" />
</detector>
<detector id="AllSiliconTrkBarrel2_ID" name="AllSiliconTrkBarrel2" type="refdet_CylinderTrackerBarrel" readout="ITS3Hits">
<module name="Module1" id="1" vis="AnlGreen">
<module_envelope rmin="TrkBarrel2Radius1" thickness="TrkBarrelThickness" length="TrkBarrel2Length1" phi="360*degree" />
<module_component rmin="TrkBarrel2Radius1" thickness="ITS3Thickness" material="Silicon" name="ITS3" sensitive="true" />
<module_component rmin="TrkBarrel2Radius1 + ITS3Thickness" thickness="TrkBarrelServiceThickness" material="Silicon" name="TrkBarrel2Services" />
</module>
<module name="Module2" id="2" vis="AnlGreen">
<module_envelope rmin="TrkBarrel2Radius2" thickness="TrkBarrelThickness" length="TrkBarrel2Length2" phi="360*degree" />
<module_component rmin="TrkBarrel2Radius2" thickness="ITS3Thickness" material="Silicon" name="ITS3" sensitive="true" />
<module_component rmin="TrkBarrel2Radius2 + ITS3Thickness" thickness="TrkBarrelServiceThickness" material="Silicon" name="TrkBarrel2Services" />
</module>
<layer module="Module1" id="1" vis="AnlGreen">
<barrel_envelope inner_r="TrkBarrel2Radius1" outer_r="TrkBarrel2Radius1 + TrkBarrelThickness" z_length="TrkBarrel2Length1" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0.0" rc="TrkBarrel2Radius1" dr="0.0*mm" />
<z_layout dr="0.0*mm" z0="0" nz="1" />
</layer>
<layer module="Module2" id="2" vis="AnlGreen">
<barrel_envelope inner_r="TrkBarrel2Radius2" outer_r="TrkBarrel2Radius2 + TrkBarrelThickness" z_length="TrkBarrel2Length2" />
<rphi_layout phi_tilt="0.0" nphi="1" phi0="0.0" rc="TrkBarrel2Radius2" dr="0.0*mm" />
<z_layout dr="0.0*mm" z0="0" nz="1" />
</layer>
</detector>
<detector id="AllSiliconTrkDisk2N_ID" name="AllSiliconTrkDisk2N" type="ref_DiskTracker" insideTrackingVolume="true" reflect="true" vis="kAnlGreen">
<position x="0" y="0" z="0"/>
<layer id="1" vis="AnlGreen"
inner_z="TrkInnerDisk2_z"
inner_r="TrkInnerDisk2_rmin"
outer_r="TrkInnerDisk2_rmax">
<!--slice material="Silicon" thickness="ITS3Thickness" vis="AnlGreen" sensitive="true"/-->
<!--slice material="Silicon" thickness="TrkDiskServiceThickness" vis="AnlGreen" /-->
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
</detector>
<detector id="AllSiliconTrkDisk2P_ID" name="AllSiliconTrkDisk2P" type="ref_DiskTracker" insideTrackingVolume="true" reflect="false" vis="kAnlGreen">
<position x="0" y="0" z="0"/>
<layer id="1" vis="AnlGreen"
inner_z="TrkInnerDisk2_z"
inner_r="TrkInnerDisk2_rmin"
outer_r="TrkInnerDisk2_rmax">
<!--slice material="Silicon" thickness="ITS3Thickness" vis="AnlGreen" sensitive="true"/-->
<!--slice material="Silicon" thickness="TrkDiskServiceThickness" vis="AnlGreen" /-->
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
</detector>
<detector id="AllSiliconTrkOuterN_ID" name="AllSiliconTrkOuterN" type="ref_DiskTracker" insideTrackingVolume="true" reflect="true" vis="kAnlGreen">
<position x="0" y="0" z="0"/>
<layer id="1" vis="AnlGreen"
inner_z="TrkOuterDisk_zmin"
inner_r="TrkOuterDisk_rmin"
outer_r="TrkOuterDisk_rmax">
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
<layer id="2" vis="AnlGreen"
inner_z="TrkOuterDisk_zmin + 1 * TrkOuterDisk_deltaz"
inner_r="TrkOuterDisk_rmin"
outer_r="TrkOuterDisk_rmax">
<!--slice material="Silicon" thickness="ITS3Thickness" vis="AnlGreen" sensitive="true"/-->
<!--slice material="Silicon" thickness="TrkDiskServiceThickness" vis="AnlGreen" /-->
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
<layer id="3" vis="AnlGreen"
inner_z="TrkOuterDisk_zmin + 2 * TrkOuterDisk_deltaz"
inner_r="TrkOuterDisk_rmin"
outer_r="TrkOuterDisk_rmax">
<!--slice material="Silicon" thickness="ITS3Thickness" vis="AnlGreen" sensitive="true"/-->
<!--slice material="Silicon" thickness="TrkDiskServiceThickness" vis="AnlGreen" /-->
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
</detector>
<detector id="AllSiliconTrkOuterP_ID" name="AllSiliconTrkOuterP" type="ref_DiskTracker" insideTrackingVolume="true" reflect="false" vis="kAnlGreen">
<position x="0" y="0" z="0"/>
<layer id="1" vis="AnlGreen"
inner_z="TrkOuterDisk_zmin"
inner_r="TrkOuterDisk_rmin"
outer_r="TrkOuterDisk_rmax">
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
<layer id="2" vis="AnlGreen"
inner_z="TrkOuterDisk_zmin + 1 * TrkOuterDisk_deltaz"
inner_r="TrkOuterDisk_rmin"
outer_r="TrkOuterDisk_rmax">
<!--slice material="Silicon" thickness="ITS3Thickness" vis="AnlGreen" sensitive="true"/-->
<!--slice material="Silicon" thickness="TrkDiskServiceThickness" vis="AnlGreen" /-->
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
<layer id="3" vis="AnlGreen"
inner_z="TrkOuterDisk_zmin + 2 * TrkOuterDisk_deltaz"
inner_r="TrkOuterDisk_rmin"
outer_r="TrkOuterDisk_rmax">
<!--slice material="Silicon" thickness="ITS3Thickness" vis="AnlGreen" sensitive="true"/-->
<!--slice material="Silicon" thickness="TrkDiskServiceThickness" vis="AnlGreen" /-->
<slice material="Silicon" thickness="TrkDiskThickness" vis="AnlGreen" />
</layer>
</detector>
</detectors>
<readouts>
<readout name="ITS3Hits">
<segmentation type="CartesianGridXY" grid_size_x="0.010*mm" grid_size_y="0.010*mm" />
<id>system:8,barrel:2,layer:4,module:7,sensor:2,x:30:-17,y:-17</id>
</readout>
</readouts>
<plugins>
</plugins>
<fields>
</fields>
</lccdd>
......@@ -19,19 +19,17 @@
<vis name="AnlRed_1" alpha="0.5" r="205/256" g="32/256" b="44/256"/>
<comment>Tracker_Layer_Vis is AnlGold</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="TrackerSupportVis" ref="AnlBlue" showDaughters="false" />
<vis name="TrackerLayerVis" ref="AnlTeal" visible="true" showDaughters="true" />
<vis name="TrackerModuleVis" ref="TrackerLayerVis" visible="true" showDaughters="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="TrackerSupportVis" alpha="1.0" r="1.0" g="0.0" b="0.0" visible="true" showDaughters="false" />
<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"/>
......
<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="1"/>
<type name="material" value="1"/>
<type name="readout" value="1"/>
<type name="segmentation" value="1"/>
<type name="limits" value="1"/>
<type name="region" value="1"/>
<type name="includes" value="1"/>
</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/ip6_defs.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/display.xml" />
</display>
<documentation level="0">
## Detector Subsystems
### IP Subsystems
The interaction point subsystems are included before the central detector subsystems.
This is becuase the IP subsystems, for exmaple the beampipe, will define paramters
which are subsquently used in the central detector construction -- e.g. the vertex tracker
uses the beampipe OD to help define its placement.
The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
- Interaction region beampipe
- B0 tracker
- Off-momentum tracker
- Far forward roman pots
- Zero Degree Calorimeter
- Beam line magnets.
- and more...
</documentation>
<comment>
Beamline elements
-----------------
</comment>
<comment>
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>
<detector id="TOFSubAssembly_ID"
name="TOFSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</detectors>
<comment>
Central tracking detectors
--------------------------
<comment>
PID detectors
-------------
</comment>
<!--include ref="compact/dirc.xml"/-->
<!--include ref="compact/mrich.xml"/-->
<include ref="compact/forward_trd.xml"/>
<include ref="compact/gaseous_rich.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>
</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="1"/>
<type name="material" value="1"/>
<type name="readout" value="1"/>
<type name="segmentation" value="1"/>
<type name="limits" value="1"/>
<type name="region" value="1"/>
<type name="includes" value="1"/>
</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/ip6_defs.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/display.xml" />
</display>
<documentation level="0">
## Detector Subsystems
### IP Subsystems
The interaction point subsystems are included before the central detector subsystems.
This is becuase the IP subsystems, for exmaple the beampipe, will define paramters
which are subsquently used in the central detector construction -- e.g. the vertex tracker
uses the beampipe OD to help define its placement.
The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
- Interaction region beampipe
- B0 tracker
- Off-momentum tracker
- Far forward roman pots
- Zero Degree Calorimeter
- Beam line magnets.
- and more...
</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>
<detector id="TOFSubAssembly_ID"
name="TOFSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</detectors>
<comment>
Central tracking detectors
--------------------------
</comment>
<include ref="compact/vertex_tracker.xml"/>
<include ref="compact/central_tracker.xml"/>
<!--include ref="compact/tof_barrel.xml"/-->
<!--include ref="compact/tof_endcap.xml"/-->
<!--include ref="compact/rwell_tracker_barrel.xml"-->
<!--include ref="compact/ce_GEM.xml"/-->
<!--include ref="compact/mm_tracker_barrel.xml"/-->
<!--include ref="compact/cb_VTX_Barrel.xml"/-->
<!--include ref="compact/gem_tracker_endcap.xml"/-->
<comment>
PID detectors
-------------
</comment>
<!--include ref="compact/dirc.xml"/-->
<!--include ref="compact/mrich.xml"/-->
<!--include ref="compact/forward_trd.xml"/-->
<!--include ref="compact/gaseous_rich.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>
</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="1"/>
<type name="material" value="1"/>
<type name="readout" value="1"/>
<type name="segmentation" value="1"/>
<type name="limits" value="1"/>
<type name="region" value="1"/>
<type name="includes" value="1"/>
</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/ip6_defs.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/display.xml" />
</display>
<documentation level="0">
## Detector Subsystems
### IP Subsystems
The interaction point subsystems are included before the central detector subsystems.
This is becuase the IP subsystems, for exmaple the beampipe, will define paramters
which are subsquently used in the central detector construction -- e.g. the vertex tracker
uses the beampipe OD to help define its placement.
The IP subsystems include the Far forward and backward regions. The list of subsystem includes:
- Interaction region beampipe
- B0 tracker
- Off-momentum tracker
- Far forward roman pots
- Zero Degree Calorimeter
- Beam line magnets.
- and more...
</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>
<detector id="TOFSubAssembly_ID"
name="TOFSubAssembly"
type="DD4hep_SubdetectorAssembly"
vis="TOFSubAssemblyVis">
<composite name="BarrelTOF"/>
<composite name="ForwardTOF"/>
<composite name="BackwardTOF"/>
</detector>
</detectors>
<comment>
Central tracking detectors
--------------------------
</comment>
<include ref="compact/vertex_tracker.xml"/>
<!--include ref="compact/tof_barrel.xml"/-->
<!--include ref="compact/tof_endcap.xml"/-->
<!--include ref="compact/rwell_tracker_barrel.xml"-->
<!--include ref="compact/ce_GEM.xml"/-->
<!--include ref="compact/mm_tracker_barrel.xml"/-->
<!--include ref="compact/cb_VTX_Barrel.xml"/-->
<!--include ref="compact/gem_tracker_endcap.xml"/-->
<comment>
PID detectors
-------------
</comment>
<!--include ref="compact/dirc.xml"/-->
<!--include ref="compact/mrich.xml"/-->
<!--include ref="compact/forward_trd.xml"/-->
<!--include ref="compact/gaseous_rich.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>
</lccdd>
......@@ -49,6 +49,7 @@ dawncut -1 0 0 1 ${INPUT_FILE} ${FILE_TAG}.prim
# dawncut 1 0 0 1 ${INPUT_FILE} ${FILE_TAG}_temp0.prim
# dawncut -1 0 0 1 ${FILE_TAG}_temp0.prim ${FILE_TAG}.prim
../../bin/dawn_tweak --mag 10 --draw 3 --theta 165 --phi 75 --light-theta 180 --light-phi 90
dawn -d ${FILE_TAG}.prim
ps2pdf ${FILE_TAG}.eps ${FILE_TAG}_full.pdf
gs -o ${FILE_TAG}.pdf -sDEVICE=pdfwrite \
......@@ -58,10 +59,10 @@ gs -o ${FILE_TAG}.pdf -sDEVICE=pdfwrite \
pdftoppm ${FILE_TAG}.pdf ${FILE_TAG} -png -singlefile -cropbox -thinlinemode solid -aaVector yes -r 600
# Top view
dawncut 0 -1 0 1 ${INPUT_FILE} ${FILE_TAG}.prim
# 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 --mag 10 --draw 4 --theta 270 --phi 90
#dawncut 0 -1 0 1 ${INPUT_FILE} ${FILE_TAG}.prim
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 --mag 10 --draw 1 --theta 270 --phi 90
dawn -d ${FILE_TAG}.prim
ps2pdf ${FILE_TAG}.eps ${FILE_TAG}_top_full.pdf
gs -o ${FILE_TAG}_top.pdf -sDEVICE=pdfwrite \
......
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
#!/bin/bash
#export DAWN_PS_PREVIEWER="derp"
function print_the_help {
echo "USAGE: $0 <PRIM_FILE> "
echo " OPTIONS: "
echo " -t,--tag filename tag (default: view1)"
exit
}
FILE_TAG="view20"
INPUT_FILE="../../g4_0000.prim"
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-h|--help)
shift # past argument
print_the_help
;;
-t|--tag)
FILE_TAG="$2"
shift # past argument
shift # past value
;;
-i|--input)
INPUT_FILE="$2"
shift # past argument
shift # past value
;;
*) # unknown option
#POSITIONAL+=("$1") # save it in an array for later
echo "unknown option $1"
print_the_help
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
# Top view
#dawncut 0 -1 0 1 ${INPUT_FILE} ${FILE_TAG}.prim
dawncut 0 1 0 1 ${INPUT_FILE} ${FILE_TAG}_top_temp0.prim
dawncut 0 -1 0 1 ${FILE_TAG}_top_temp0.prim ${FILE_TAG}_top.prim
../../bin/dawn_tweak --mag 1 --draw 1 --theta 270 --phi 90
dawn -d ${FILE_TAG}_top.prim
ps2pdf ${FILE_TAG}_top.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 -thinlinemode solid -aaVector yes
# Side view (lines)
dawncut -1 0 0 1 ${INPUT_FILE} ${FILE_TAG}.prim
#@dawncut 1 0 0 1 ${INPUT_FILE} ${FILE_TAG}_temp0.prim
#@dawncut -1 0 0 1 ${FILE_TAG}_temp0.prim ${FILE_TAG}.prim
../../bin/dawn_tweak --mag 1 --draw 1 --theta 180 --phi 90
dawn -d ${FILE_TAG}.prim
ps2pdf ${FILE_TAG}.eps ${FILE_TAG}_full.pdf
gs -o ${FILE_TAG}.pdf -sDEVICE=pdfwrite \
-c "[/CropBox [51 250 550 590] /PAGES pdfmark" \
-f ${FILE_TAG}_full.pdf
pdftoppm ${FILE_TAG}.pdf ${FILE_TAG} -png -singlefile -cropbox -thinlinemode solid -aaVector yes
dawn_view_20:detector:
extends: .views
script:
- cp "compact/subsystem_views/vertex_only.xml" "${DETECTOR_PATH}/."
- ./bin/make_dawn_views -c ${DETECTOR_PATH}/vertex_only.xml -t vertex_only_view20 -d scripts/view20 -D
dawn_view_20:ev001:
extends: .views
rules:
- if: '$DETECTOR_EVENT_VIEWS == "ON"'
script:
- ./bin/make_dawn_views -t view20_ev001 -d scripts/view20 -s 1
dawn_view_20:ev002:
extends: .views
rules:
- if: '$DETECTOR_EVENT_VIEWS == "ON"'
script:
- ./bin/make_dawn_views -t view20_ev002 -d scripts/view20 -s 2
view_20:
stage: test
rules:
- if: '$CI_SERVER_HOST == "eicweb.phy.anl.gov"'
needs:
- job: dawn_view_20:detector
optional: false
- job: dawn_view_20:ev001
optional: true
- job: dawn_view_20:ev002
optional: true
script:
- ls -lrth *
- ls -lrth images/*
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment