/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Geometry/ForwardCommonData/data/plt.xml
171 строка
8 KB
Steven
final measurment changes, shift telescopes by 22.5 degrees
27 мар 2014, 23:14
27 мар 2014, 23:14
c5db4a4
Код
Авторство
О чём код?
<?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"> <!-- Author: Steven M. Kaplan --> <!-- Declare constants used in the PLT DDL --> <ConstantsSection label="plt" eval="true"> <Constant name = "pltTilt" value = "1.57*deg" /> <Constant name = "SiPlane0RtoCenter" value = "49.9*mm" /> <Constant name = "SiPlane1RtoCenter" value = "51.*mm" /> <Constant name = "SiPlane2RtoCenter" value = "52.1*mm" /> <Constant name = "SiPlane0ZtoCenter" value = "1726.9*mm" /> <Constant name = "SiPlane1ZtoCenter" value = "1764.6*mm" /> <Constant name = "SiPlane2ZtoCenter" value = "1802.3*mm" /> <Constant name = "ROCWidthX" value = "8.0*mm" /> <Constant name = "ROCWidthY" value = "10.5*mm" /> <Constant name = "SiThkZ" value = "0.30*mm" /> <Constant name = "TelWidthX" value = "[ROCWidthX]" /> <Constant name = "TelWidthY" value = "[ROCWidthY]+2.2*mm" /> <Constant name = "TelWidthZ" value = "[SiPlane2ZtoCenter]-[SiPlane0ZtoCenter]+[SiThkZ]" /> <Constant name = "PLTMinR" value = "[cms:TrackBeamR1]" /> <Constant name = "PLTMaxR" value = "[cms:TrackLumiR1]" /> <Constant name = "NumberOfRows" value = "80" /> <Constant name = "NumberOfColumns" value = "52" /> <Constant name = "PixelRowWidth" value = "0.1*mm" /> <Constant name = "PixelColumnWidth" value = "0.15*mm" /> <Constant name = "ActiveAreaColumnWidth" value = "[PixelColumnWidth]*[NumberOfColumns]" /> <Constant name = "ActiveAreaRowWidth" value = "[PixelRowWidth]*[NumberOfRows]" /> </ConstantsSection> <!-- Declare PLT component Solids --> <SolidSection label="plt"> <Box name="PLTSensorPlane" dx="[ROCWidthX]/2." dy="[ROCWidthY]/2." dz="[SiThkZ]/2." /> <Tubs name="PLT" startPhi="0.0*deg" deltaPhi="360*deg" rMin="[PLTMinR]" rMax="[PLTMaxR]" dz="[TelWidthZ]/2."/> <Box name="Telescope" dx="[TelWidthX]/2." dy="[TelWidthY]/2." dz="[TelWidthZ]/2." /> <Box name="PLTPixel" dx="[PixelColumnWidth]/2." dy="[PixelRowWidth]/2." dz="[SiThkZ]/2." /> <Box name="PLTSensorRow" dx="[ActiveAreaColumnWidth]/2." dy="[PixelRowWidth]/2." dz="[SiThkZ]/2." /> </SolidSection> <!-- Define the Physical PLT Solids, i.e. the Logical Parts --> <LogicalPartSection label="plt"> <LogicalPart name="PLT" category="unspecified"> <rSolid name="PLT"/> <rMaterial name="materials:Vacuum"/> </LogicalPart> <LogicalPart name="Telescope" category="unspecified"> <rSolid name="Telescope"/> <rMaterial name="materials:Vacuum"/> </LogicalPart> <LogicalPart name="PLTSensorPlane" category="unspecified"> <rSolid name="PLTSensorPlane"/> <rMaterial name="materials:Vacuum"/> </LogicalPart> <LogicalPart name="PLTSensorRow" category="unspecified"> <rSolid name="PLTSensorRow"/> <rMaterial name="materials:Vacuum"/> </LogicalPart> <LogicalPart name="PLTPixel" category="unspecified"> <rSolid name="PLTPixel"/> <rMaterial name="materials:Silicon"/> </LogicalPart> </LogicalPartSection> <!-- Position the Silicon in the telescope and copy the telescope to have 8 of them. Take this amalgamation of 8 telescopes then copy it into the PLTBCM volume--> <PosPartSection label="plt"> <!-- Copy the pixels into a row to form the columns --> <Algorithm name="global:DDLinear"> <rParent name="PLTSensorRow"/> <String name="ChildName" value="PLTPixel"/> <Numeric name="StartCopyNo" value="0"/> <Numeric name="IncrCopyNo" value="1"/> <Numeric name="N" value="[NumberOfColumns]"/> <Numeric name="Delta" value="[PixelColumnWidth]"/> <Vector name="Base" type="numeric" nEntries="3"> -[ActiveAreaColumnWidth]/2.+[PixelColumnWidth]/2.,0.*mm,0.*mm </Vector> <Numeric name="Theta" value="90*deg"/> <Numeric name="Phi" value="0.*deg"/> </Algorithm> <!-- Copy the rows to form the sensor plane! --> <Algorithm name="global:DDLinear"> <rParent name="PLTSensorPlane"/> <String name="ChildName" value="PLTSensorRow"/> <Numeric name="StartCopyNo" value="0"/> <Numeric name="IncrCopyNo" value="1"/> <Numeric name="N" value="[NumberOfRows]"/> <Numeric name="Delta" value="[PixelRowWidth]"/> <Vector name="Base" type="numeric" nEntries="3"> 0.*mm,-[ROCWidthY]/2.+[ActiveAreaRowWidth]-([PixelRowWidth]/2.),0.*mm </Vector> <Numeric name="Theta" value="90*deg"/> <Numeric name="Phi" value="-90.*deg"/> </Algorithm> <!-- Copy the three sensor planes into the telescope--> <PosPart copyNumber="0"> <rParent name="Telescope"/> <rChild name="PLTSensorPlane"/> <Translation x="0.*mm" y="-[TelWidthY]/2.+[ROCWidthY]/2." z="-[TelWidthZ]/2.+[SiThkZ]/2." /> <rRotation name="rotations:000D" /> </PosPart> <PosPart copyNumber="1"> <rParent name="Telescope"/> <rChild name="PLTSensorPlane"/> <Translation x="0.*mm" y="-[TelWidthY]/2.+[ROCWidthY]/2.+1.1*mm" z="0.*mm" /> <rRotation name="rotations:000D" /> </PosPart> <PosPart copyNumber="2"> <rParent name="Telescope"/> <rChild name="PLTSensorPlane"/> <Translation x="0.*mm" y="-[TelWidthY]/2.+[ROCWidthY]/2.+2.2*mm" z="[TelWidthZ]/2.-[SiThkZ]/2" /> <rRotation name="rotations:000D" /> </PosPart> <!-- Copy the PLT into the PLTBCM volume --> <!-- NOTE: The 2mm shift is due to the new tracker volume to make the plt planes positioned in |z| correctly.--> <PosPart copyNumber="1"> <rParent name="pltbcm:PLTBCM"/> <rChild name="PLT"/> <Translation x="0.*mm" y="0.*mm" z="[SiPlane1ZtoCenter]-[pltbcm:PltBcmZ]-2.*mm" /> <rRotation name="rotations:000D"/> </PosPart> <!-- Old positioning without PLTBCM volume <PosPart copyNumber="1"> <rParent name="cms:CMSE"/> <rChild name="PLT"/> <Translation x="0.*mm" y="0.*mm" z="[SiPlane1ZtoCenter]" /> <rRotation name="rotations:000D"/> </PosPart> <PosPart copyNumber="0"> <rParent name="cms:CMSE"/> <rChild name="PLT"/> <Translation x="0.*mm" y="0.*mm" z="-[SiPlane1ZtoCenter]" /> <rRotation name="rotations:180D"/> </PosPart> --> <!-- Copy the telescopes into the PLT volume starting with phi=112.5 degrees. RotateSolid vector gives correct orientation of the planes--> <Algorithm name="global:DDAngular"> <rParent name="PLT"/> <String name="ChildName" value="Telescope"/> <Numeric name="StartCopyNo" value="0"/> <Numeric name="IncrCopyNo" value="1"/> <Numeric name="N" value="8"/> <Numeric name="Radius" value="[SiPlane1RtoCenter]"/> <Numeric name="StartAngle" value="112.5*deg"/> <Numeric name="RangeAngle" value="360*deg"/> <Vector name="Center" type="numeric" nEntries="3"> 0, 0, 0 </Vector> <Vector name="RotateSolid" type="numeric" nEntries="24"> 0.*deg, 0.*deg, -90.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg, 0.*deg </Vector> </Algorithm> </PosPartSection> </DDDefinition>