|
| 1 | +<?xml version="1.0"?> |
| 2 | +<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"> |
| 3 | + <ConstantsSection label="bcm1f"> |
| 4 | + <!-- dimensions of the bcm1f volume --> |
| 5 | + <Constant name="Bcm1Z1" value="1.800*m"/> |
| 6 | + <Constant name="Bcm1Z2" value="1.900*m"/> |
| 7 | + <Constant name="Bcm1fZ" value="([Bcm1Z2]+[Bcm1Z1])/2"/> <!-- z position of the centre of bcm1f volume wrt to CMS --> |
| 8 | + <Constant name="Bcm1fThickness" value="([Bcm1Z2]-[Bcm1Z1])"/> |
| 9 | + <Constant name="Bcm1fInnerRadius" value="[cms:TrackBeamR1]"/> |
| 10 | + <Constant name="Bcm1fOuterRadius" value="[cms:TrackLumiR1]"/> |
| 11 | + <!-- dimensions of the diamonds --> |
| 12 | + <Constant name="DiamondLX" value="5.0*mm"/> |
| 13 | + <Constant name="DiamondLY" value="5.0*mm"/> |
| 14 | + <Constant name="DiamondLZ" value="0.5*mm"/> |
| 15 | + <Constant name="DiamondZ" value="1814*mm"/> <!-- z position of the centre of the diamond wrt CMS --> |
| 16 | + <!-- dimensions of the effective (metallised) sensitive area --> |
| 17 | + <Constant name="SensorLX" value="[DiamondLX]*0.95"/> |
| 18 | + <Constant name="SensorLY" value="[DiamondLY]*0.95/2"/> |
| 19 | + <Constant name="SensorLZ" value="[DiamondLZ]"/> |
| 20 | + <Constant name="SensorGap" value="0.01*mm"/> |
| 21 | + <Constant name="SensorShift" value="[SensorLY]/2+[SensorGap]/2"/> |
| 22 | + <!-- location of the sensors in rho-z with respect to CMS (0,0,0) --> |
| 23 | + <Constant name="SensorRho" value="70.5*mm"/> |
| 24 | + <Constant name="SensorZ" value="[DiamondZ]"/> |
| 25 | + </ConstantsSection> |
| 26 | + |
| 27 | + <!-- Create geometrical shapes --> |
| 28 | + <SolidSection label="bcm1f"> |
| 29 | + <Tubs name="BCM1F" rMin="[Bcm1fInnerRadius]" rMax="[Bcm1fOuterRadius]" dz="[Bcm1fThickness]/2" startPhi="0*deg" deltaPhi="360*deg"/> |
| 30 | + <Box name="BCM1FDiamond" dx="[DiamondLX]/2" dy="[DiamondLY]/2" dz="[DiamondLZ]/2"/> |
| 31 | + <Box name="BCM1FSensor" dx="[SensorLX]/2" dy="[SensorLY]/2" dz="[SensorLZ]/2"/> |
| 32 | + </SolidSection> |
| 33 | + |
| 34 | + <!-- Define the materials of the geometrical shapes --> |
| 35 | + <LogicalPartSection label="bcm1f"> |
| 36 | + |
| 37 | + <LogicalPart name="BCM1F" category="unspecified"> |
| 38 | + <rSolid name="BCM1F"/> |
| 39 | + <rMaterial name="materials:Air"/> |
| 40 | + </LogicalPart> |
| 41 | + |
| 42 | + <LogicalPart name="BCM1FDiamond" category="unspecified"> |
| 43 | + <rSolid name="BCM1FDiamond"/> |
| 44 | + <rMaterial name="materials:Diamond"/> |
| 45 | + </LogicalPart> |
| 46 | + |
| 47 | + <LogicalPart name="BCM1FSensor" category="unspecified"> |
| 48 | + <rSolid name="BCM1FSensor"/> |
| 49 | + <rMaterial name="materials:Diamond"/> |
| 50 | + </LogicalPart> |
| 51 | + |
| 52 | + </LogicalPartSection> |
| 53 | + |
| 54 | + <!-- Position --> |
| 55 | + <PosPartSection label="bcm1f"> |
| 56 | + |
| 57 | + <!-- Planes --> |
| 58 | + <PosPart copyNumber="1"> |
| 59 | + <rParent name="pltbcm:PLTBCM"/> |
| 60 | + <rChild name="BCM1F"/> |
| 61 | + <rRotation name="rotations:000D"/> |
| 62 | + <Translation x="0*fm" y="0*fm" z="[Bcm1fZ]-[pltbcm:PltBcmZ]"/> |
| 63 | + </PosPart> |
| 64 | + |
| 65 | + <!-- Diamonds --> |
| 66 | + <Algorithm name="global:DDAngular"> |
| 67 | + <rParent name="BCM1F"/> |
| 68 | + <String name="ChildName" value="BCM1FDiamond"/> |
| 69 | + <Numeric name="StartCopyNo" value="1"/> |
| 70 | + <Numeric name="IncrCopyNo" value="1"/> |
| 71 | + <Numeric name="N" value="12"/> |
| 72 | + <Numeric name="Radius" value="[SensorRho]"/> |
| 73 | + <Numeric name="StartAngle" value="120*deg"/> |
| 74 | + <Numeric name="RangeAngle" value="360*deg"/> |
| 75 | + <Vector name="Center" type="numeric" nEntries="3"> 0, 0, ([DiamondZ]-[Bcm1fZ]) </Vector> |
| 76 | + <Vector name="RotateSolid" type="numeric" nEntries="36"> |
| 77 | + 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, |
| 78 | + 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, |
| 79 | + 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg |
| 80 | + </Vector> |
| 81 | + </Algorithm> |
| 82 | + |
| 83 | + <!-- Sensors --> |
| 84 | + <PosPart copyNumber="1"> |
| 85 | + <rParent name="BCM1FDiamond"/> |
| 86 | + <rChild name="BCM1FSensor"/> |
| 87 | + <rRotation name="rotations:000D"/> |
| 88 | + <Translation x="0*fm" y="-[SensorShift]" z="0*fm"/> |
| 89 | + </PosPart> |
| 90 | + <PosPart copyNumber="2"> |
| 91 | + <rParent name="BCM1FDiamond"/> |
| 92 | + <rChild name="BCM1FSensor"/> |
| 93 | + <rRotation name="rotations:000D"/> |
| 94 | + <Translation x="0*fm" y="[SensorShift]" z="0*fm"/> |
| 95 | + </PosPart> |
| 96 | + </PosPartSection> |
| 97 | + |
| 98 | +</DDDefinition> |
0 commit comments