Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
<?xml version="1.0"?>
<DDDefinition xmlns="http://www.cern.ch/cms/DDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.cern.ch/cms/DDL ../../../DetectorDescription/Schema/DDLSchema.xsd">
	<ConstantsSection label="hcalforwardfibre.xml" eval="true">
		<Constant name="shiftSF" value="11.0*cm"/>
		<Constant name="dzHF" value="[hcalforwardalgo:dzHF]"/>
		<Constant name="boxDx" value="0.50*cm"/>
		<Constant name="boxDy" value="0.25*cm"/>
		<Constant name="startY" value="(-[hcalforwardalgo:dyHF]+1.25*cm)"/>
		<Constant name="holeDx" value="0.50*mm"/>
		<Constant name="holeX" value="0.25*cm"/>
		<Constant name="claddingR" value="0.45*mm"/>
		<Constant name="fibreR" value="0.30*mm"/>
		<Constant name="fibreLongL" value="164.90*cm"/>
		<Constant name="fibreShortL" value="([fibreLongL]-2*[shiftSF])"/>
		<Constant name="fibreLongZ" value="[fibreLongL]/2-[dzHF]"/>
		<Constant name="fibreShortZ" value="[fibreShortL]/2-[dzHF]"/>
	</ConstantsSection>
	<SolidSection label="hcalforwardfibre.xml">
		<Box name="HFBox" dx="[boxDx]" dy="[boxDy]" dz="[dzHF]"/>
		<Box name="HFHoleS" dx="[holeDx]" dy="[holeDx]" dz="[dzHF]"/>
		<Box name="HFHoleL" dx="[holeDx]" dy="[holeDx]" dz="[dzHF]"/>
		<Tubs name="HFCladS" rMin="0*fm" rMax="[claddingR]" dz="[fibreShortL]/2" startPhi="0*deg" deltaPhi="360*deg"/>
		<Tubs name="HFCladL" rMin="0*fm" rMax="[claddingR]" dz="[fibreLongL]/2" startPhi="0*deg" deltaPhi="360*deg"/>
		<Tubs name="HFFibreS" rMin="0*fm" rMax="[fibreR]" dz="[fibreShortL]/2" startPhi="0*deg" deltaPhi="360*deg"/>
		<Tubs name="HFFibreL" rMin="0*fm" rMax="[fibreR]" dz="[fibreLongL]/2" startPhi="0*deg" deltaPhi="360*deg"/>
	</SolidSection>
	<LogicalPartSection label="hcalforwardfibre.xml">
		<LogicalPart name="HFBox1" category="unspecified">
			<rSolid name="HFBox"/>
			<rMaterial name="materials:Iron"/>
		</LogicalPart>
		<LogicalPart name="HFBox2" category="unspecified">
			<rSolid name="HFBox"/>
			<rMaterial name="materials:Iron"/>
		</LogicalPart>
		<LogicalPart name="HFHoleS" category="unspecified">
			<rSolid name="HFHoleS"/>
			<rMaterial name="materials:Air"/>
		</LogicalPart>
		<LogicalPart name="HFHoleL" category="unspecified">
			<rSolid name="HFHoleL"/>
			<rMaterial name="materials:Air"/>
		</LogicalPart>
		<LogicalPart name="HFCladS" category="unspecified">
			<rSolid name="HFCladS"/>
			<rMaterial name="hcalforwardmaterial:Plastic"/>
		</LogicalPart>
		<LogicalPart name="HFCladL" category="unspecified">
			<rSolid name="HFCladL"/>
			<rMaterial name="hcalforwardmaterial:Plastic"/>
		</LogicalPart>
		<LogicalPart name="HFFibreS" category="unspecified">
			<rSolid name="HFFibreS"/>
			<rMaterial name="hcalforwardmaterial:QuartzF"/>
		</LogicalPart>
		<LogicalPart name="HFFibreL" category="unspecified">
			<rSolid name="HFFibreL"/>
			<rMaterial name="hcalforwardmaterial:QuartzF"/>
		</LogicalPart>
	</LogicalPartSection>
	<PosPartSection label="hcalforwardfibre.xml">
		<PosPart copyNumber="1">
			<rParent name="hcalforwardfibre:HFCladL"/>
			<rChild name="hcalforwardfibre:HFFibreL"/>
		</PosPart>
		<PosPart copyNumber="2">
			<rParent name="hcalforwardfibre:HFCladS"/>
			<rChild name="hcalforwardfibre:HFFibreS"/>
		</PosPart>
		<PosPart copyNumber="5001">
			<rParent name="hcalforwardfibre:HFHoleL"/>
			<rChild name="hcalforwardfibre:HFCladL"/>
			<Translation x="0*fm" y="0*fm" z="[fibreLongZ]"/>
		</PosPart>
		<PosPart copyNumber="5002">
			<rParent name="hcalforwardfibre:HFHoleS"/>
			<rChild name="hcalforwardfibre:HFCladS"/>
			<Translation x="0*fm" y="0*fm" z="[fibreShortZ]"/>
		</PosPart>
		<PosPart copyNumber="1">
			<rParent name="hcalforwardfibre:HFBox1"/>
			<rChild name="hcalforwardfibre:HFHoleS"/>
			<Translation x="-[holeX]" y="0*fm" z="0*fm"/>
		</PosPart>
		<PosPart copyNumber="1">
			<rParent name="hcalforwardfibre:HFBox1"/>
			<rChild name="hcalforwardfibre:HFHoleL"/>
			<Translation x="[holeX]" y="0*fm" z="0*fm"/>
		</PosPart>
		<PosPart copyNumber="1">
			<rParent name="hcalforwardfibre:HFBox2"/>
			<rChild name="hcalforwardfibre:HFHoleL"/>
			<Translation x="-[holeX]" y="0*fm" z="0*fm"/>
		</PosPart>
		<PosPart copyNumber="1">
			<rParent name="hcalforwardfibre:HFBox2"/>
			<rChild name="hcalforwardfibre:HFHoleS"/>
			<Translation x="[holeX]" y="0*fm" z="0*fm"/>
		</PosPart>
	</PosPartSection>
	<Algorithm name="hcal:DDHCalForwardAlgo">
		<rParent name="hcalforwardalgo:HVQX"/>
		<String name="CellMaterial" value="materials:Iron"/>
		<Numeric name="CellDx" value="[boxDx]"/>
		<Numeric name="CellDy" value="[boxDy]"/>
		<Numeric name="CellDz" value="[dzHF]"/>
		<Numeric name="StartY" value="[startY]"/>
		<Vector name="Child" type="string" nEntries="2">
			hcalforwardfibre:HFBox1, hcalforwardfibre:HFBox2</Vector>
		<Vector name="Number" type="numeric" nEntries="42">
			3,  6,  6,  5,  6,  6,  5,  6,  6,  5,  6,  6,
			5,  6,  6,  5,  6,  6,  5,  6,  6,  5,  6,  6,
			5,  6,  6,  5,  6,  6,  5,  6,  6,  5,  6,  6,
			5,  6,  6,  5,  6,  3
		</Vector>
		<Vector name="Size" type="numeric" nEntries="42">
			4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 
			16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
			28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
			40, 41, 42, 43, 44, 45
		</Vector>
		<Vector name="Type" type="numeric" nEntries="42">
			1,  1,  0,  1,  1,  0,  1,  1,  0,  1,  1,  0,
			1,  1,  0,  1,  1,  0,  1,  1,  0,  1,  1,  0,
			1,  1,  0,  1,  1,  0,  1,  1,  0,  1,  1,  0,
			1,  1,  0,  1,  1,  0
		</Vector>
	</Algorithm>
</DDDefinition>