Skip to content
Snippets Groups Projects
ZDC_example.xml 10.4 KiB
Newer Older
<lccdd xmlns:compact="http://www.lcsim.org/schemas/compact/1.0" 
       xmlns:xs="http://www.w3.org/2001/XMLSchema" 
       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/compact/1.0/compact.xsd">

	<!-- Some information about detector  -->
	<info name="ZDC_example" title="Zero Degree Calorimeter detector example"
        	author="Jihee Kim"
        	url="https://eicweb.phy.anl.gov/EIC/NPDet"
        	status="development"
        	version="v2.0 2020-07-22">
    	<comment>Zero Degree Calorimeter detector</comment>        
  	</info>

  	<!-- Use DD4hep elements and materials definitions -->
  	<includes>
    		<gdmlFile  ref="elements.xml"/>
    		<gdmlFile  ref="materials.xml"/>
  	</includes>

  	<!-- Define the dimensions of the world volume -->
  	<define>
		<constant name="world_side" value="50*m"/>
    		<constant name="world_x" value="world_side"/>
    		<constant name="world_y" value="world_side"/>
    		<constant name="world_z" value="world_side"/>
    
  	  	<constant name="CrossingAngle" value="0.020*rad"/>
    		<constant name="tracker_region_zmax" value="5*m"/>
    		<constant name="tracker_region_rmax" value="5*m"/>

    		<constant name="offset_ZDC"    value="5.0*mm"/>
		<constant name="st_length"     value="20.0*mm"/>
		<constant name="lt_length"     value="40.0*mm"/>
		<constant name="st_ZDC_x_pos"  value="0.0*m"/>   <!-- value="0.60*m"  -->
		<constant name="st_ZDC_y_pos"  value="0.0*m"/>
		<constant name="st_ZDC_z_pos"  value="1.0*m"/>   <!-- value="34.0*m"  -->
		<constant name="lt_ZDC_x_pos"  value="0.0*m"/>   <!-- value="0.60*m"  -->
		<constant name="lt_ZDC_y_pos"  value="offset_ZDC + (st_length+lt_length)/sqrt(2)"/>
        	<constant name="lt_ZDC_z_pos"  value="1.0*m"/>  <!-- value="34.0*m"  -->
  	</define>

  <limits>
  </limits>

  <regions>
  </regions>

  	<!-- Common Generic visualization attributes -->
  	<comment>Common Generic visualization attributes</comment>
  	<display>
    	<vis name="InvisibleNoDaughters"      showDaughters="false" visible="false"/>
    	<vis name="InvisibleWithDaughters"    showDaughters="true" visible="false"/>
    	<vis name="GreenVis"       alpha="0.5"  r= "0.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
    	<vis name="RedVis"         alpha="0.5"  r= "1.0" g="0.0" b="0.0" showDaughters="true" visible="true"/>
    	<vis name="BlueVis"        alpha="0.5"  r= "0.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
    	<vis name="OrangeVis"      alpha="0.5"  r= "1.0" g="0.45" b="0.0" showDaughters="true" visible="true"/>
    	<vis name="RedGreenVis"    alpha="0.5"  r= "1.0" g="1.0" b="0.0" showDaughters="true" visible="true"/>
    	<vis name="BlueGreenVis"   alpha="0.5"  r= "0.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
    	<vis name="PurpleVis"      alpha="0.5"  r= "1.0" g="0.0" b="1.0" showDaughters="true" visible="true"/>
    	<vis name="DoubleRedG"     alpha="0.5"  r= "2.0" g=".10" b="0.0" showDaughters="true" visible="true"/>
    	<vis name="RBG015"         alpha="0.5"  r= "0.0" g=".2"  b="1.0" showDaughters="true" visible="true"/>
    	<vis name="RBG510"         alpha="0.5"  r= "1.0" g=".2"  b="0.0" showDaughters="true" visible="true"/>
    	<vis name="RBG"            alpha="0.5"  r= "1.0" g="1.0" b="1.0" showDaughters="true" visible="true"/>
    	<vis name="GrayVis"        alpha="0.5"  r= "0.75" g="0.75" b="0.75" showDaughters="true" visible="true"/>
  	</display>

	<!-- Define detector -->
	<detectors>
		<detector id="1" name="smallZDC" type="ZDC" readout="ZDCHits" vis="RedVis">
			<position x="st_ZDC_x_pos" y="st_ZDC_y_pos" z="st_ZDC_z_pos"/>
			<dimensions x = "st_length" y = "st_length"/>
			<layer repeat="2">
				<slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
				<slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
			</layer>
			<layer repeat="1">
				<slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
				<slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
				<slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
			</layer>	
			<layer repeat="2">
				<slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
				<slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
			</layer>	
			<layer repeat="2">
				<slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
			</layer>	
			<layer repeat="7">
                                <slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
				<slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
			</layer>
			<layer repeat="1">
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
				<slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
				<slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
				<slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
			</layer>
			<layer repeat="2">
                                <slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
                        </layer>
                        <layer repeat="3">
                                <slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                        </layer>
                        <layer repeat="2">
                                <slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
                        </layer>
			<layer repeat="1">
				<slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
			</layer>
		</detector>
                <detector id="2" name="largeZDC" type="ZDC" readout="ZDCHits" vis="RedVis">
                        <position x="lt_ZDC_x_pos" y="lt_ZDC_y_pos" z="lt_ZDC_z_pos"/>
                        <dimensions x = "lt_length" y = "lt_length"/>
                        <layer repeat="2">
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                                <slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
                        </layer>
                        <layer repeat="1">
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                                <slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
                                <slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
                        </layer>
                        <layer repeat="2">
                                <slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                        </layer>
                        <layer repeat="2">
                                <slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
                        </layer>
                        <layer repeat="7">
                                <slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                        </layer>
                        <layer repeat="1">
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                                <slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                        </layer>
                        <layer repeat="2">
                                <slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
                        </layer>
                        <layer repeat="3">
                                <slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                        </layer>
                        <layer repeat="2">
                                <slice name="SciFi_belt"     material="PlasticScint"   thickness="1*mm" vis = "RedVis"  sensitive = "true"/>
                        </layer>
                        <layer repeat="1">
                                <slice name="Scint_slice"    material="PlasticScint"   thickness="3*mm" vis = "BlueVis" sensitive = "true"/>
                                <slice name="Tungsten_slice" material="TungstenDens24" thickness="7*mm" vis = "GrayVis"/>
                        </layer>
                </detector>			
	</detectors>

  <!--  Definition of the readout segmentation/definition  -->
  <readouts>
        <readout name="ZDCHits">
		<segmentation type="CartesianGridXY" grid_size_x="1.0*mm" grid_size_y="1.0*mm" />
		<id>system:8,layer:12,slice:12,x:48:-8,y:-8</id>  
	</readout>
  </readouts>

  <plugins>
  </plugins>

  <fields>
  </fields>
</lccdd>