Skip to content
Snippets Groups Projects
Commit e7829131 authored by Chao Peng's avatar Chao Peng
Browse files

update the geometry compac files

parent d15b8e13
No related branches found
No related tags found
1 merge request!1Update
Pipeline #96005 passed with warnings
...@@ -8,20 +8,20 @@ ...@@ -8,20 +8,20 @@
<comment>Forward Angle Electromagnetic Calorimeter (FAEC) for SIDIS</comment> <comment>Forward Angle Electromagnetic Calorimeter (FAEC) for SIDIS</comment>
--> -->
<detectors> <detectors>
<detector id="5" name="FAECPreShower" type="SoLID_HexShashlykEMCal" readout="FAEC_PrShHits" vis="PurpleVis" > <detector id="5" name="FAECPreShower" type="SoLID_HexShashlykEMCal" readout="FAEC_PrShHits" vis="FAEC_PrShVis" >
<dimensions rmin="98*cm" rmax="230*cm" z0="425*cm" rmod="6.25*cm" rtol="1.0*cm" /> <dimensions rmin="98*cm" rmax="230*cm" z0="425*cm" rmod="6.25*cm" rtol="1.0*cm" />
<layer repeat="1" vis="PurpleVis"> <layer repeat="1" vis="FAEC_PrShLayerVis">
<slice material = "Lead" thickness = "1.12*cm" vis="BlueVis" /> <slice material = "Lead" thickness = "1.12*cm" vis="MatLayerVis_Lead" />
<slice material = "EJ204" thickness = "6.25*cm" vis="PurpleVis" sensitive="yes"/> <slice material = "EJ204" thickness = "6.25*cm" sensitive="yes" limits="cal_limits" vis="MatLayerVis_EJ204" />
</layer> </layer>
</detector> </detector>
<detector id="6" name="FAECShower" type="SoLID_HexShashlykEMCal" readout="FAEC_ShHits" vis="PurpleVis" > <detector id="6" name="FAECShower" type="SoLID_HexShashlykEMCal" readout="FAEC_ShHits" vis="FAEC_ShVis" >
<dimensions rmin="98*cm" rmax="230*cm" z0="433*cm" rmod="6.25*cm" rtol="1.0*cm" /> <dimensions rmin="98*cm" rmax="230*cm" z0="433*cm" rmod="6.25*cm" rtol="1.0*cm" />
<layer repeat="194" vis="GreenVis"> <layer repeat="194" vis="FAEC_ShLayerVis">
<slice material = "Lead" vis="BlueVis" thickness = "0.05*cm"/> <slice material = "Lead" thickness = "0.05*cm" vis="MatLayerVis_Lead" />
<slice material = "EJ204" vis="PurpleVis" thickness = "0.15*cm" sensitive="yes" limits="cal_limits"/> <slice material = "EJ204" thickness = "0.15*cm" sensitive="yes" limits="cal_limits" vis="MatLayerVis_EJ204" />
<slice material = "Air" vis="PurpleVis" thickness = "0.012*2*cm"/> <slice material = "Air" thickness = "0.012*2*cm" vis="MatLayerVis_Air" />
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
......
<lccdd> <lccdd>
<detectors> <detectors>
<detector id="2" name="GEMTracker_SIDIS" vis="RedVis" type="SoLID_GEMTrackerDisc" readout="GEMTrackerHits" > <detector id="2" name="GEMTracker_SIDIS" vis="GEM_TrackerDiscVis" type="SoLID_GEMTrackerDisc" readout="GEMTrackerHits" >
<module name="Module_A" id="1" inner_r="50.0*cm" outer_r="118.0*cm" segments="30"> <module name="Module_A" id="1" inner_r="50.0*cm" outer_r="118.0*cm" segments="30">
<slice name="drift_cathode" material="Kapton" thickness="0.100*mm"/> <slice name="drift_cathode" material="Kapton" thickness="0.100*mm"/>
<slice name="drift_gas1" material="GEMGas" thickness="3.0*mm"/> <slice name="drift_gas1" material="GEMGas" thickness="3.0*mm"/>
......
<lccdd> <lccdd>
<detectors>
<detector id="8" name="HeavyGasCherenkov" type="SoLID_HGC" readout="HeavyGasCherenkovHits" vis="BlueVis" material="N2Optical"> <info name="HGC" title="Heavy Gas Cherenkov"
<placement x="0*cm" y="0*cm" z="370*cm" /> author="Chao Peng"
<dimensions rmin1="80*cm" rmin2="94*cm" rmax1="265*cm" rmax2="265*cm" zmin="306*cm" zmax="406*cm"/> url="https://eicweb.phy.anl.gov/EIC/detectors/solid/-/blob/master/compact/HGC.xml"
<mirror id="1"> status="development"
<placement x="0*cm" y="129.9*cm" z="30.3125*cm"/> version="$Id: compact/HGC.xml v1.0 2024-05-18$">
<rotation x="25.0*degree" y="0" z="0"/> <comment>SoLID Heavy Gas Cherenkov Detector</comment>
</mirror> </info>
<mirror id="3" >
<comment>Mirror 3 is the combination of winston cone and PMT assembly</comment>
<placement x="0*cm" y="255*cm" z="-40*cm"/> <readouts>
<rotation x="55.0*degree" y="0" z="0"/> <readout name="HeavyGasCherenkovHits">
</mirror> <segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
</detector> <id>system:6,sector:12,module:14,x:32:-16,y:-16</id>
</detectors> </readout>
</readouts>
<define>
<comment>
start ppint of HGC
</comment>
<constant name="HGC_x" value="0" />
<constant name="HGC_y" value="0" />
<constant name="HGC_z" value="321.0*cm" />
<constant name="HGC_sector_shift_z" value="115.*cm" />
<comment>
tank geometry constants
</comment>
<constant name="HGC_seg1_length" value="100*cm" />
<constant name="HGC_seg1_rmin1" value="80.*cm" />
<constant name="HGC_seg1_rmax1" value="263.*cm" />
<constant name="HGC_seg1_rmin2" value="94.*cm" />
<constant name="HGC_seg1_rmax2" value="263.*cm" />
<constant name="HGC_wall" value="6*mm" />
<constant name="HGC_entrance" value="4*mm" />
<constant name="HGC_exit" value="4*mm" />
<comment>
mirror geometry constants: the mirror is built by intersection between a spherical shell and a trapezoid (wedge)
note these coordinates are in world volume, the geometry plugin is supposed to transform them to the Cherenkov volume coordinates
</comment>
<constant name="HGC_inner_shell_rmin" value="299.15*cm" />
<constant name="HGC_inner_shell_rmax" value="299.45*cm" />
<constant name="HGC_inner_shell_x" value="0.*cm" />
<constant name="HGC_inner_shell_y" value="274.7*cm" />
<constant name="HGC_inner_shell_z" value="24.9*cm" />
<constant name="HGC_outer_shell_rmin" value="160.09*cm" />
<constant name="HGC_outer_shell_rmax" value="160.39*cm" />
<constant name="HGC_outer_shell_x" value="0.*cm" />
<constant name="HGC_outer_shell_y" value="200.86*cm" />
<constant name="HGC_outer_shell_z" value="143.06*cm" />
<comment>
wedge corner coordinates
</comment>
<constant name="HGC_inner_wedge_P2_x" value="18.23*cm"/>
<constant name="HGC_inner_wedge_P2_y" value="173.43*cm"/>
<constant name="HGC_inner_wedge_P2_z" value="305.82*cm"/>
<constant name="HGC_inner_wedge_P4_x" value="7.57*cm"/>
<constant name="HGC_inner_wedge_P4_y" value="72.02*cm"/>
<constant name="HGC_inner_wedge_P4_z" value="244.82*cm"/>
<constant name="HGC_outer_wedge_P2_x" value="21.76*cm"/>
<constant name="HGC_outer_wedge_P2_y" value="207.05*cm"/>
<constant name="HGC_outer_wedge_P2_z" value="301.54*cm"/>
<constant name="HGC_outer_wedge_P4_x" value="19.03*cm"/>
<constant name="HGC_outer_wedge_P4_y" value="181.06*cm"/>
<constant name="HGC_outer_wedge_P4_z" value="300.77*cm"/>
<comment>
dimension calculations (position is relative to the shell)
</comment>
<constant name="HGC_inner_wedge_dx1" value="abs(HGC_inner_wedge_P4_x)" />
<constant name="HGC_inner_wedge_dx2" value="abs(HGC_inner_wedge_P2_x)" />
<constant name="HGC_inner_wedge_dy" value="abs(HGC_inner_wedge_P2_y - HGC_inner_wedge_P4_y)/2." />
<constant name="HGC_inner_wedge_dz" value="abs(HGC_inner_wedge_P2_z - HGC_inner_wedge_P4_z)/2. + 10*cm" />
<constant name="HGC_inner_wedge_x" value="0. - HGC_inner_shell_x" />
<constant name="HGC_inner_wedge_y" value="(HGC_inner_wedge_P2_y + HGC_inner_wedge_P4_y)/2. - HGC_inner_shell_y"/>
<constant name="HGC_inner_wedge_z" value="(HGC_inner_wedge_P2_z + HGC_inner_wedge_P4_z)/2. - HGC_inner_shell_z"/>
<constant name="HGC_outer_wedge_dx1" value="abs(HGC_outer_wedge_P4_x)" />
<constant name="HGC_outer_wedge_dx2" value="abs(HGC_outer_wedge_P2_x)" />
<constant name="HGC_outer_wedge_dy" value="abs(HGC_outer_wedge_P2_y - HGC_outer_wedge_P4_y)/2." />
<constant name="HGC_outer_wedge_dz" value="abs(HGC_outer_wedge_P2_z - HGC_outer_wedge_P4_z)/2. + 10*cm" />
<constant name="HGC_outer_wedge_x" value="0. - HGC_outer_shell_x" />
<constant name="HGC_outer_wedge_y" value="(HGC_outer_wedge_P2_y + HGC_outer_wedge_P4_y)/2. - HGC_outer_shell_y"/>
<constant name="HGC_outer_wedge_z" value="(HGC_outer_wedge_P2_z + HGC_outer_wedge_P4_z)/2. - HGC_outer_shell_z"/>
</define>
<detectors>
<comment>
Light Gas Cherenkov Detector: Begin
</comment>
<detector
id="8"
name="HeavyGasCherenkov"
type="SoLID_GasCherenkov"
readout="HeavyGasCherenkovHits"
numsides="30">
<placement x="HGC_x" y="HGC_y" z0="HGC_z" />
<tank material="Kapton" vis="HGC_TankVis">
<segment length="HGC_seg1_length"
rmin1="HGC_seg1_rmin1" rmax1="HGC_seg1_rmax1"
rmin2="HGC_seg1_rmin2" rmax2="HGC_seg1_rmax2" />
<radiator material="CO2Optical" vis="HGC_GasVis">
<comment>
radiator is the daugter of tank, using the same segments but with wall thickness
</comment>
<placement x="0." y="0." z="HGC_entrance/2." />
<segment length="HGC_seg1_length - HGC_entrance"
rmin1="HGC_seg1_rmin1 + HGC_wall" rmax1="HGC_seg1_rmax1 - HGC_wall"
rmin2="HGC_seg1_rmin2 + HGC_wall" rmax2="HGC_seg1_rmax2 - HGC_wall" />
</radiator>
</tank>
<comment>
mirrors placement
mirror is the intersection between two spherical shell
</comment>
<mirrors>
<piece id="1" material="PyrexGlassOptical" surface="MirrorOpticalSurface" vis="HGC_MirrorVis">
<placement x="HGC_inner_shell_x" y="HGC_inner_shell_y" z="HGC_inner_shell_z - HGC_z + HGC_sector_shift_z"/>
<shell rmin="HGC_inner_shell_rmin" rmax="HGC_inner_shell_rmax"
theta0="0*degree" dtheta="90*degree" phi0="180*degree" dphi="180*degree"/>
<comment> dz, dy are swapped because of x rotation </comment>
<wedge dx1="HGC_inner_wedge_dx1" dx2="HGC_inner_wedge_dx2"
dy="HGC_inner_wedge_dz" dz="HGC_inner_wedge_dy"
x="HGC_inner_wedge_x" y="HGC_inner_wedge_y" z="HGC_inner_wedge_z"
rotx="-90*degree" roty="0" rotz="0"/>
</piece>
<piece id="2" material="PyrexGlassOptical" surface="MirrorOpticalSurface" vis="HGC_MirrorVis">
<placement x="HGC_outer_shell_x" y="HGC_outer_shell_y" z="HGC_outer_shell_z - HGC_z + HGC_sector_shift_z"/>
<shell rmin="HGC_outer_shell_rmin" rmax="HGC_outer_shell_rmax"
theta0="0*degree" dtheta="60*degree" phi0="0*degree" dphi="360*degree"/>
<comment> dz, dy are swapped because of x rotation </comment>
<wedge dx1="HGC_outer_wedge_dx1" dx2="HGC_outer_wedge_dx2"
dy="HGC_outer_wedge_dz" dz="HGC_outer_wedge_dy"
x="HGC_outer_wedge_x" y="HGC_outer_wedge_y" z="HGC_outer_wedge_z"
rotx="-90*degree" roty="0" rotz="0"/>
</piece>
</mirrors>
<comment>
Light Gas Cherenkov: Winston cones
</comment>
<winston_cone material="PyrexGlassOptical" surface="MirrorOpticalSurface">
<placement x="0*cm" y="240*cm" z="245*cm - HGC_z + HGC_sector_shift_z" />
<rotation x="65*degree" y="0" z="0" />
<comment> TODO: implement PMT material layers </comment>
<pmt_array dx="16*cm" dy="16*cm" sensitive="yes" vis="HGC_PMTVis" />
<cone shape="cone" thickness="4*mm" rmin="7.0*cm" rmax="21.5*cm" length="30.*cm" vis="HGC_ConeVis" />
<shield material="Lead" thickness="1.*cm" radius="11.53*cm" length="8.*cm"
shift_z="1.5*cm" vis="HGC_ShieldVis" />
</winston_cone>
</detector>
<comment>
Light Gas Cherenkov Detector: End
</comment>
</detectors>
</lccdd> </lccdd>
...@@ -4,22 +4,22 @@ ...@@ -4,22 +4,22 @@
</define> </define>
<detectors> <detectors>
<detector id="3" name="LAECPreShower" type="SoLID_HexShashlykEMCal" readout="LAEC_PrShHits" vis="PurpleVis" > <detector id="3" name="LAECPreShower" type="SoLID_HexShashlykEMCal" readout="LAEC_PrShHits" vis="LAEC_PrShVis" >
<comment>Large Angle Electromagnetic Calorimeter (LAEC) Preshower for SIDIS</comment> <comment>Large Angle Electromagnetic Calorimeter (LAEC) Preshower for SIDIS</comment>
<dimensions rmin="83*cm" rmax="140*cm" z0="-65*cm" rmod="6.25*cm" rtol="1.0*cm" /> <dimensions rmin="83*cm" rmax="140*cm" z0="-65*cm" rmod="6.25*cm" rtol="1.0*cm" />
<layer repeat="1" vis="InvisibleWithDaughters"> <layer repeat="1" vis="LAEC_PrshLayerVis">
<slice material = "Lead" thickness = "1.12*cm" vis="BlueVis"/> <slice material = "Lead" thickness = "1.12*cm" vis="MatLayerVis_Lead" />
<slice material = "EJ204" thickness = "6.25*cm" vis="PurpleVis" sensitive="yes"/> <slice material = "EJ204" thickness = "6.25*cm" sensitive="yes" limits="cal_limits" vis="MatLayerVis_EJ204" />
</layer> </layer>
</detector> </detector>
<detector id="4" name="LAECShower" type="SoLID_HexShashlykEMCal" readout="LAEC_ShHits" vis="PurpleVis" > <detector id="4" name="LAECShower" type="SoLID_HexShashlykEMCal" readout="LAEC_ShHits" vis="LAEC_ShVis" >
<comment>Large Angle Electromagnetic Calorimeter (LAEC) Shower for SIDIS</comment> <comment>Large Angle Electromagnetic Calorimeter (LAEC) Shower for SIDIS</comment>
<dimensions rmin="83*cm" rmax="140*cm" z0="-57*cm" rmod="6.25*cm" rtol="1.0*cm" /> <dimensions rmin="83*cm" rmax="140*cm" z0="-57*cm" rmod="6.25*cm" rtol="1.0*cm" />
<layer repeat="194" vis="GreenVis"> <layer repeat="194" vis="LAEC_ShLayerVis">
<slice material = "Lead" thickness = "0.05*cm"/> <slice material = "Lead" thickness = "0.05*cm" vis="MatLayerVis_Lead" />
<slice material = "EJ204" thickness = "0.15*cm" sensitive="yes" limits="cal_limits"/> <slice material = "EJ204" thickness = "0.15*cm" sensitive="yes" limits="cal_limits" vis="MatLayerVis_EJ204" />
<slice material = "Air" thickness = "0.012*2*cm"/> <slice material = "Air" thickness = "0.012*2*cm" vis="MatLayerVis_Air" />
</layer> </layer>
</detector> </detector>
</detectors> </detectors>
......
...@@ -124,7 +124,7 @@ ...@@ -124,7 +124,7 @@
numsides="30"> numsides="30">
<placement x="LGC_x" y="LGC_y" z0="LGC_z" /> <placement x="LGC_x" y="LGC_y" z0="LGC_z" />
<tank material="Kapton" vis="LGCTankVis"> <tank material="Kapton" vis="LGC_TankVis">
<segment length="LGC_seg1_length" <segment length="LGC_seg1_length"
rmin1="LGC_seg1_rmin1" rmax1="LGC_seg1_rmax1" rmin1="LGC_seg1_rmin1" rmax1="LGC_seg1_rmax1"
rmin2="LGC_seg1_rmin2" rmax2="LGC_seg1_rmax2" /> rmin2="LGC_seg1_rmin2" rmax2="LGC_seg1_rmax2" />
...@@ -137,7 +137,7 @@ ...@@ -137,7 +137,7 @@
<segment length="LGC_seg4_length" <segment length="LGC_seg4_length"
rmin1="LGC_seg4_rmin1" rmax1="LGC_seg4_rmax1" rmin1="LGC_seg4_rmin1" rmax1="LGC_seg4_rmax1"
rmin2="LGC_seg4_rmin2" rmax2="LGC_seg4_rmax2" /> rmin2="LGC_seg4_rmin2" rmax2="LGC_seg4_rmax2" />
<radiator material="CO2Optical" vis="LGCGasVis"> <radiator material="CO2Optical" vis="LGC_GasVis">
<comment> <comment>
radiator is the daugter of tank, using the same segments but with wall thickness radiator is the daugter of tank, using the same segments but with wall thickness
</comment> </comment>
...@@ -162,7 +162,7 @@ ...@@ -162,7 +162,7 @@
mirror is the intersection between two spherical shell mirror is the intersection between two spherical shell
</comment> </comment>
<mirrors> <mirrors>
<piece id="1" material="PyrexGlassOptical" surface="MirrorOpticalSurface" vis="LGCMirrorVis"> <piece id="1" material="PyrexGlassOptical" surface="MirrorOpticalSurface" vis="LGC_MirrorVis">
<placement x="LGC_inner_shell_x" y="LGC_inner_shell_y" z="LGC_inner_shell_z - LGC_z"/> <placement x="LGC_inner_shell_x" y="LGC_inner_shell_y" z="LGC_inner_shell_z - LGC_z"/>
<shell rmin="LGC_inner_shell_rmin" rmax="LGC_inner_shell_rmax" <shell rmin="LGC_inner_shell_rmin" rmax="LGC_inner_shell_rmax"
theta0="0*degree" dtheta="90*degree" phi0="180*degree" dphi="180*degree"/> theta0="0*degree" dtheta="90*degree" phi0="180*degree" dphi="180*degree"/>
...@@ -172,7 +172,7 @@ ...@@ -172,7 +172,7 @@
x="LGC_inner_wedge_x" y="LGC_inner_wedge_y" z="LGC_inner_wedge_z" x="LGC_inner_wedge_x" y="LGC_inner_wedge_y" z="LGC_inner_wedge_z"
rotx="-90*degree" roty="0" rotz="0"/> rotx="-90*degree" roty="0" rotz="0"/>
</piece> </piece>
<piece id="2" material="PyrexGlassOptical" surface="MirrorOpticalSurface" vis="LGCMirrorVis"> <piece id="2" material="PyrexGlassOptical" surface="MirrorOpticalSurface" vis="LGC_MirrorVis">
<placement x="LGC_outer_shell_x" y="LGC_outer_shell_y" z="LGC_outer_shell_z - LGC_z"/> <placement x="LGC_outer_shell_x" y="LGC_outer_shell_y" z="LGC_outer_shell_z - LGC_z"/>
<shell rmin="LGC_outer_shell_rmin" rmax="LGC_outer_shell_rmax" <shell rmin="LGC_outer_shell_rmin" rmax="LGC_outer_shell_rmax"
theta0="0*degree" dtheta="60*degree" phi0="0*degree" dphi="360*degree"/> theta0="0*degree" dtheta="60*degree" phi0="0*degree" dphi="360*degree"/>
...@@ -191,10 +191,10 @@ ...@@ -191,10 +191,10 @@
<placement x="0*cm" y="240*cm" z="245*cm - LGC_z" /> <placement x="0*cm" y="240*cm" z="245*cm - LGC_z" />
<rotation x="65*degree" y="0" z="0" /> <rotation x="65*degree" y="0" z="0" />
<comment> TODO: implement PMT material layers </comment> <comment> TODO: implement PMT material layers </comment>
<pmt_array dx="16*cm" dy="16*cm" sensitive="yes" vis="LGCPMTVis" /> <pmt_array dx="16*cm" dy="16*cm" sensitive="yes" vis="LGC_PMTVis" />
<cone shape="paraboloid" thickness="4*mm" rmin="7.0*cm" rmax="21.5*cm" length="30.*cm" vis="LGCConeVis" /> <cone shape="cone" thickness="4*mm" rmin="7.0*cm" rmax="21.5*cm" length="30.*cm" vis="LGC_ConeVis" />
<shield material="Lead" thickness="1.*cm" radius="11.53*cm" length="8.*cm" <shield material="Lead" thickness="1.*cm" radius="11.53*cm" length="8.*cm"
shift_z="1.5*cm" vis="LGCShieldVis" /> shift_z="1.5*cm" vis="LGC_ShieldVis" />
</winston_cone> </winston_cone>
</detector> </detector>
<comment> <comment>
......
...@@ -13,11 +13,49 @@ ...@@ -13,11 +13,49 @@
<comment> <comment>
Light Gas Cherenkov Visualizations Light Gas Cherenkov Visualizations
</comment> </comment>
<vis name="LGCTankVis" ref="forestgreen" visible="true" showDaughters="true" alpha="0.6" /> <vis name="LGC_TankVis" ref="forestgreen" visible="true" showDaughters="true" alpha="0.4" />
<vis name="LGCGasVis" ref="orange" visible="true" showDaughters="true" alpha="0.1" /> <vis name="LGC_GasVis" ref="InvisibleWithDaughters" />
<vis name="LGCMirrorVis" ref="silver" visible="true" showDaughters="true" alpha="0.6" /> <vis name="LGC_MirrorVis" ref="silver" visible="true" showDaughters="true" alpha="1" />
<vis name="LGCConeVis" ref="silver" visible="true" showDaughters="true" alpha="0.6" /> <vis name="LGC_ConeVis" ref="silver" visible="true" showDaughters="true" alpha="1" />
<vis name="LGCPMTVis" ref="saddlebrown" visible="true" showDaughters="true" alpha="0.6" /> <vis name="LGC_PMTVis" ref="saddlebrown" visible="true" showDaughters="true" alpha="1" />
<vis name="LGCShieldVis" ref="darkslategray" visible="true" showDaughters="true" alpha="0.6" /> <vis name="LGC_ShieldVis" ref="darkslategray" visible="true" showDaughters="true" alpha="1" />
<comment>
Heavy Gas Cherenkov Visualizations
</comment>
<vis name="HGC_TankVis" ref="orange" visible="true" showDaughters="true" alpha="0.4" />
<vis name="HGC_GasVis" ref="InvisibleWithDaughters" />
<vis name="HGC_MirrorVis" ref="silver" visible="true" showDaughters="true" alpha="1" />
<vis name="HGC_ConeVis" ref="silver" visible="true" showDaughters="true" alpha="1" />
<vis name="HGC_PMTVis" ref="saddlebrown" visible="true" showDaughters="true" alpha="1" />
<vis name="HGC_ShieldVis" ref="darkslategray" visible="true" showDaughters="true" alpha="1" />
<comment>
Forward Agnle Electromagnetic Calorimeter
</comment>
<vis name="FAEC_PrShVis" ref="skyblue" visible="true" showDaughters="false" alpha="0.6" />
<vis name="FAEC_ShVis" ref="royalblue" visible="true" showDaughters="false" alpha="0.6" />
<vis name="FAEC_PrshLayerVis" ref="InvisibleNoDaughters" />
<vis name="FAEC_ShLayerVis" ref="InvisibleNoDaughters" />
<comment>
Large Agnle Electromagnetic Calorimeter
</comment>
<vis name="LAEC_PrShVis" ref="violet" visible="true" showDaughters="false" alpha="0.6" />
<vis name="LAEC_ShVis" ref="darkmagenta" visible="true" showDaughters="false" alpha="0.6" />
<vis name="LAEC_PrshLayerVis" ref="InvisibleNoDaughters" />
<vis name="LAEC_ShLayerVis" ref="InvisibleNoDaughters" />
<comment>
GEM Trakcers
</comment>
<vis name="GEM_TrackerDiscVis" ref="teal" visible="true" showDaughters="true" alpha="0.6" />
<comment>
Common material layer vis
</comment>
<vis name="MatLayerVis_Lead" ref="darkgray" alpha="0.6" />
<vis name="MatLayerVis_EJ204" ref="lightyellow" alpha="0.6" />
<vis name="MatLayerVis_Air" ref="InvisibleNoDaughters" />
</display> </display>
...@@ -61,9 +61,10 @@ ...@@ -61,9 +61,10 @@
<!--<include ref="compact/fields.xml"/>--> <!--<include ref="compact/fields.xml"/>-->
<detectors> <detectors>
<include ref="compact/LAEC.xml"/>
<include ref="compact/FAEC.xml"/> <include ref="compact/FAEC.xml"/>
<include ref="compact/LGC.xml"/> <include ref="compact/LGC.xml"/>
<include ref="compact/HGC.xml"/>
<include ref="compact/LAEC.xml"/>
<include ref="compact/GEM_sidis.xml"/> <include ref="compact/GEM_sidis.xml"/>
</detectors> </detectors>
...@@ -92,10 +93,6 @@ ...@@ -92,10 +93,6 @@
<segmentation type="StereoStrip" strip_angle="15.0*degree" strip_size="0.5*mm" /> <segmentation type="StereoStrip" strip_angle="15.0*degree" strip_size="0.5*mm" />
<id>system:6,layer:5,module:16,slice:5,u:32:-32</id> <id>system:6,layer:5,module:16,slice:5,u:32:-32</id>
--> -->
</readout>
<readout name="HeavyGasCherenkovHits">
<segmentation type="CartesianGridXY" grid_size_x="3*mm" grid_size_y="3*mm" />
<id>system:6,sector:11,mirror:4,module:10,x:32:-16,y:-16</id>
</readout> </readout>
</readouts> </readouts>
</lccdd> </lccdd>
...@@ -47,6 +47,7 @@ static Ref_t create_detector(Detector& lcdd, xml_h e, SensitiveDetector sens) ...@@ -47,6 +47,7 @@ static Ref_t create_detector(Detector& lcdd, xml_h e, SensitiveDetector sens)
Tube gem_layer(inner_r, outer_r, thickness/2.0); Tube gem_layer(inner_r, outer_r, thickness/2.0);
Volume gem_layer_vol("gem_layer_vol", gem_layer, carbon); Volume gem_layer_vol("gem_layer_vol", gem_layer, carbon);
gem_layer_vol.setVisAttributes(lcdd, x_det.visStr());
// -------- create a measurement plane for the tracking surface attched to the sensitive volume ----- // -------- create a measurement plane for the tracking surface attched to the sensitive volume -----
...@@ -61,7 +62,7 @@ static Ref_t create_detector(Detector& lcdd, xml_h e, SensitiveDetector sens) ...@@ -61,7 +62,7 @@ static Ref_t create_detector(Detector& lcdd, xml_h e, SensitiveDetector sens)
gem_layer_vol.setSensitiveDetector(sens); gem_layer_vol.setSensitiveDetector(sens);
DetElement layer_DE( sdet, _toString(layer_id,"layer%d"), layer_id ); DetElement layer_DE(sdet, _toString(layer_id,"layer%d"), layer_id);
//Assembly layer_assembly( layer_name+"_assembly" ); //Assembly layer_assembly( layer_name+"_assembly" );
pv = assembly.placeVolume( gem_layer_vol, Transform3D(RotationZ(phi0_offset),Position(0.0,0.0,z)) ); pv = assembly.placeVolume( gem_layer_vol, Transform3D(RotationZ(phi0_offset),Position(0.0,0.0,z)) );
...@@ -71,7 +72,7 @@ static Ref_t create_detector(Detector& lcdd, xml_h e, SensitiveDetector sens) ...@@ -71,7 +72,7 @@ static Ref_t create_detector(Detector& lcdd, xml_h e, SensitiveDetector sens)
} }
sdet.setAttributes(lcdd, assembly,x_det.regionStr(),x_det.limitsStr(),x_det.visStr()); sdet.setAttributes(lcdd, assembly, x_det.regionStr(), x_det.limitsStr(), x_det.visStr());
//assembly.setVisAttributes(lcdd.invisible()); //assembly.setVisAttributes(lcdd.invisible());
pv = lcdd.pickMotherVolume(sdet).placeVolume(assembly); pv = lcdd.pickMotherVolume(sdet).placeVolume(assembly);
......
...@@ -67,7 +67,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec ...@@ -67,7 +67,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec
// Main tank // Main tank
// build from stacking conesegments // build from stacking conesegments
auto x_tank = x_det.child(_Unicode(tank)); auto x_tank = x_det.child(_Unicode(tank));
Volume v_tank("v_tank"); Volume v_tank("v_" + det_name + "_tank");
// using tank center (z) as the center point for all following volumes // using tank center (z) as the center point for all following volumes
double shift_z = stackConeSegments(v_tank, x_tank, desc.material(x_tank.attr<std::string>(_Unicode(material)))); double shift_z = stackConeSegments(v_tank, x_tank, desc.material(x_tank.attr<std::string>(_Unicode(material))));
v_tank.setVisAttributes(desc, x_tank.attr<std::string>(_Unicode(vis))); v_tank.setVisAttributes(desc, x_tank.attr<std::string>(_Unicode(vis)));
......
...@@ -138,7 +138,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec ...@@ -138,7 +138,7 @@ static Ref_t createDetector(Detector& desc, xml::Handle_t handle, SensitiveDetec
if (x_slice.isSensitive()) { if (x_slice.isSensitive()) {
s_vol.setSensitiveDetector(sens); s_vol.setSensitiveDetector(sens);
} }
slice.setAttributes(desc, s_vol, x_slice.regionStr(), x_slice.limitsStr(), "InvisibleNoDaughters"); slice.setAttributes(desc, s_vol, x_slice.regionStr(), x_slice.limitsStr(), x_slice.visStr());
// s_vol.setVisAttributes(desc.invisible()); // s_vol.setVisAttributes(desc.invisible());
// Slice placement. // Slice placement.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment