diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 982d3bc46abc7bb6d61fd0c99e19e254aa4701dd..5239cf7fa6ac49143a8a6507b6bbb6eeb4494213 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -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 diff --git a/bin/make_dawn_views b/bin/make_dawn_views index 26f6f074c445e461b8b842a7df98489d910854c8..0901aa8de2c5b9043aa234df99b76767c165e2e2 100755 --- a/bin/make_dawn_views +++ b/bin/make_dawn_views @@ -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']) diff --git a/compact/central_tracker.xml b/compact/central_tracker.xml index 11d233c26dd9954bb43d48bd0f60e81b330c9bff..2ad03ac9ab8e4c880097ccc9890b7f070a3dba05 100644 --- a/compact/central_tracker.xml +++ b/compact/central_tracker.xml @@ -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" diff --git a/compact/deprecated/allsilicon_simplified.xml b/compact/deprecated/allsilicon_simplified.xml deleted file mode 100644 index 61b42e1049e6122217dff0fef7c50c9ed1e07a80..0000000000000000000000000000000000000000 --- a/compact/deprecated/allsilicon_simplified.xml +++ /dev/null @@ -1,246 +0,0 @@ -<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> diff --git a/compact/display.xml b/compact/display.xml index bd358cc36747d8589147ff442531c8968dac426c..9666612c4ba2ab6d905c7b083fdade27bef0865c 100644 --- a/compact/display.xml +++ b/compact/display.xml @@ -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"/> diff --git a/compact/subsystem_views/pid_only.xml b/compact/subsystem_views/pid_only.xml new file mode 100644 index 0000000000000000000000000000000000000000..d5be05d4eac18bb19219924540906ba94dad62a8 --- /dev/null +++ b/compact/subsystem_views/pid_only.xml @@ -0,0 +1,233 @@ +<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> diff --git a/compact/subsystem_views/tracking_only.xml b/compact/subsystem_views/tracking_only.xml new file mode 100644 index 0000000000000000000000000000000000000000..f5e1b26cd922a188403c37b5215db90ee13d363c --- /dev/null +++ b/compact/subsystem_views/tracking_only.xml @@ -0,0 +1,241 @@ +<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> diff --git a/compact/subsystem_views/vertex_only.xml b/compact/subsystem_views/vertex_only.xml new file mode 100644 index 0000000000000000000000000000000000000000..7036ea2baade77ad2220a909fe0ce646111e9eeb --- /dev/null +++ b/compact/subsystem_views/vertex_only.xml @@ -0,0 +1,240 @@ +<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> diff --git a/scripts/view1/generate_eps b/scripts/view1/generate_eps index fdc5c762823b84c6f3d089e68f057829aa950113..ae0359f88a225c8b67e0f9058ef6075b041ade2a 100755 --- a/scripts/view1/generate_eps +++ b/scripts/view1/generate_eps @@ -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 \ diff --git a/scripts/view20/.DAWN_1.history b/scripts/view20/.DAWN_1.history new file mode 100644 index 0000000000000000000000000000000000000000..f4980ff8cd6dd972e1cba46f982d708156c32e73 --- /dev/null +++ b/scripts/view20/.DAWN_1.history @@ -0,0 +1,31 @@ +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 diff --git a/scripts/view20/generate_eps b/scripts/view20/generate_eps new file mode 100755 index 0000000000000000000000000000000000000000..bba9f7d9c5b8d992738fc62fc523234b6c8196d5 --- /dev/null +++ b/scripts/view20/generate_eps @@ -0,0 +1,70 @@ +#!/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 diff --git a/views/view20.yml b/views/view20.yml new file mode 100644 index 0000000000000000000000000000000000000000..d1d58ea5fd58b3d7b1387667b0e951a830ae5796 --- /dev/null +++ b/views/view20.yml @@ -0,0 +1,35 @@ +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/* +