Skip to content
Snippets Groups Projects
ZDC_example.xml 10.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • <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.60*m"/>
    		<constant name="st_ZDC_y_pos"  value="0.0*m"/>
    		<constant name="st_ZDC_z_pos"  value="34.0*m"/>
    		<constant name="lt_ZDC_x_pos"  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="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>