Back to home page

EIC code displayed by LXR

 
 

    


Warning, /athena/compact/definitions.xml is written in an unsupported language. File is not indexed.

0001   <define>
0002     <constant name="world_side" value="30*m"/>
0003     <constant name="world_x" value="world_side"/>
0004     <constant name="world_y" value="world_side"/>
0005     <constant name="world_z" value="100*m"/>
0006 
0007     <constant name="Pi" value="3.14159265359"/>
0008     <constant name="mil" value="0.0254*mm"/>
0009     <constant name="inch" value="2.54*cm"/>
0010 
0011     <documentation>
0012       ## Detector IDs
0013 
0014       ### Note about ACTS tracking geometry construction
0015 
0016 The tracking surfaces need to be structured in a barrel + endcapP + endcapN where 
0017 endcapP/endcapN are the endcaps at positive/negative z values. 
0018 See https://acts.readthedocs.io/en/latest/plugins/dd4hep.html for more details.
0019 
0020 The tracking geometry needs to be constructed from cylinders from the inside out. For this reason
0021 each layer needs its own subsystem assembly. This increases the number of top level system IDs. 
0022 For example the silicon tracker needs 3 IDs for each area (endcap+barrel+endcap) and a subassembly for each
0023 layer. Therefore it needs a minimum of 20 IDs. Therefore we will allocate blocks of ~25 for each major subsystem.
0024 Note, future improvements will likely include a more sophisticated ACTS-dd4hep plugin, 
0025 eliminating the need for so many system IDs at construction time.
0026 
0027 This barrel/endcap structure needs IDs to be in increasing order going outward. 
0028 The space of IDs for the subassemblies starts at (Subassembly_ID*10+101).
0029 
0030 The unused IDs below are saved for future use.
0031     </documentation>
0032 
0033 
0034     <documentation> 
0035 
0036       ### Allocated IDs 
0037 
0038       #### (1-9) Reserved IDs
0039 
0040       - Unused IDs: 1-9 
0041 
0042       #### (10-24) Interaction region beamline 
0043 
0044       - Beampipe ID : 10
0045       - Unused   IDs: 11-24
0046 
0047     </documentation> 
0048     <constant name="BeamPipe_ID" value="10"/>
0049     <constant name="BeamPipeB0_ID" value="11"/>
0050 
0051 
0052     <documentation> 
0053       #### (25-39) Silicon Vertex Tracker
0054 
0055        - Vertex subassemblies: 25-27
0056        - Vertex barrel and endcaps: 28-30
0057        - Unused: 28-30
0058     </documentation>
0059     <constant name="VertexSubAssembly_0_ID"   value="25"/>
0060     <constant name="VertexSubAssembly_1_ID"   value="26"/>
0061     <constant name="VertexSubAssembly_2_ID"   value="27"/>
0062 
0063     <constant name="VertexBarrel_0_ID"          value="31"/>
0064     <constant name="VertexBarrel_1_ID"          value="32"/>
0065     <constant name="VertexBarrel_2_ID"          value="33"/>
0066     <constant name="VertexEndcapN_0_ID"         value="34"/>
0067     <constant name="VertexEndcapN_1_ID"         value="35"/>
0068     <constant name="VertexEndcapN_2_ID"         value="36"/>
0069     <constant name="VertexEndcapP_0_ID"         value="37"/>
0070     <constant name="VertexEndcapP_1_ID"         value="38"/>
0071     <constant name="VertexEndcapP_2_ID"         value="39"/>
0072     
0073     <documentation>
0074        - Unused IDs: 31-39
0075     </documentation>
0076 
0077     <documentation>
0078       #### (40-84) Tracker System
0079 
0080       - Tracker subassemblies: 40-45
0081       - Composite tracker systems: 46-57
0082       - Tracker detectors: 56-84
0083       Unused IDs: (77-79)
0084 
0085     </documentation>
0086 
0087     <comment> 
0088       SubAssembly IDs should increment from inner to outer 
0089       (it's not the definition order but rather the ID order that's used 
0090       for construction order in the ACTS geometry conversion)
0091     </comment>
0092     <constant name="TrackerSubAssembly_0_ID"      value="40"/>
0093     <constant name="TrackerSubAssembly_1_ID"      value="41"/>
0094     <constant name="TrackerSubAssembly_2_ID"      value="42"/>
0095     <constant name="TrackerSubAssembly_3_ID"      value="43"/>
0096     <constant name="TrackerSubAssembly_4_ID"      value="44"/>
0097     <constant name="TrackerSubAssembly_5_ID"      value="45"/>
0098 
0099     <constant name="TrackerCompositeBarrel_0_ID"  value="46"/>
0100     <constant name="TrackerCompositeBarrel_1_ID"  value="47"/>
0101     <constant name="TrackerCompositeBarrel_2_ID"  value="48"/>
0102     <constant name="TrackerCompositeBarrel_3_ID"  value="49"/>
0103     <constant name="TrackerCompositeEndcapN_0_ID" value="50"/>
0104     <constant name="TrackerCompositeEndcapN_1_ID" value="51"/>
0105     <constant name="TrackerCompositeEndcapN_2_ID" value="52"/>
0106     <constant name="TrackerCompositeEndcapN_3_ID" value="53"/>
0107     <constant name="TrackerCompositeEndcapP_0_ID" value="54"/>
0108     <constant name="TrackerCompositeEndcapP_1_ID" value="55"/>
0109     <constant name="TrackerCompositeEndcapP_2_ID" value="56"/>
0110     <constant name="TrackerCompositeEndcapP_3_ID" value="57"/>
0111 
0112     <constant name="TrackerBarrel_0_ID"           value="58"/>
0113     <constant name="TrackerBarrel_1_ID"           value="59"/>
0114     <constant name="TrackerBarrel_2_ID"           value="60"/>
0115     <constant name="TrackerBarrel_3_ID"           value="61"/>
0116     <constant name="TrackerBarrel_4_ID"           value="62"/>
0117     <constant name="TrackerBarrel_5_ID"           value="63"/>
0118     <constant name="TrackerBarrel_6_ID"           value="64"/>
0119     <constant name="TrackerBarrel_7_ID"           value="65"/>
0120     <constant name="TrackerBarrel_8_ID"           value="66"/>
0121     <constant name="TrackerEndcapN_0_ID"          value="67"/>
0122     <constant name="TrackerEndcapN_1_ID"          value="68"/>
0123     <constant name="TrackerEndcapN_2_ID"          value="69"/>
0124     <constant name="TrackerEndcapN_3_ID"          value="70"/>
0125     <constant name="TrackerEndcapN_4_ID"          value="71"/>
0126     <constant name="TrackerEndcapN_5_ID"          value="72"/>
0127     <constant name="TrackerEndcapN_6_ID"          value="73"/>
0128     <constant name="TrackerEndcapN_7_ID"          value="74"/>
0129     <constant name="TrackerEndcapN_8_ID"          value="75"/>
0130     <constant name="TrackerEndcapP_0_ID"          value="76"/>
0131     <constant name="TrackerEndcapP_1_ID"          value="77"/>
0132     <constant name="TrackerEndcapP_2_ID"          value="78"/>
0133     <constant name="TrackerEndcapP_3_ID"          value="79"/>
0134     <constant name="TrackerEndcapP_4_ID"          value="80"/>
0135     <constant name="TrackerEndcapP_5_ID"          value="81"/>
0136     <constant name="TrackerEndcapP_6_ID"          value="82"/>
0137     <constant name="TrackerEndcapP_7_ID"          value="83"/>
0138     <constant name="TrackerEndcapP_8_ID"          value="84"/>
0139 
0140     <documentation>
0141     #### (85-99) Reserved IDs
0142 
0143     - Unused IDs: 85-89 
0144     TBD
0145     </documentation>
0146     <documentation> 
0147     #### (90-99) Barrel PID IDs
0148 
0149     - DIRC subsystem       ID: 90
0150     - Barrel TRD subsystem ID: 91
0151     - Barrel TOF subsystem ID: 92
0152     - Unused IDs: 93-99
0153     </documentation>
0154     <constant name="BarrelDIRC_ID" value="90"/>
0155     <constant name="BarrelTRD_ID"  value="91"/>
0156     <constant name="BarrelTOF_ID"  value="92"/>
0157     <constant name="TOFSubAssembly_ID" value="93"/>
0158 
0159     <documentation> 
0160       #### (100-109) Electromagnetic Calorimeter
0161 
0162       ECal     subsystem  ID:  100
0163       Barrel   subassembly ID: 101
0164       EndcapP  subassembly ID: 102
0165       EndcapN  subassembly ID: 103
0166       Crystal  subassembly ID: 104
0167       Barrel2  subassembly ID: 105
0168 
0169       Unused IDs: 106-109
0170 
0171     </documentation>
0172     <constant name="ECalSubAssembly_ID" value="100"/>
0173     <constant name="ECalBarrel_ID"      value="101"/>
0174     <constant name="ECalEndcapP_ID"     value="102"/>
0175     <constant name="ECalEndcapN_ID"     value="103"/>
0176     <constant name="CrystalEndcap_ID"   value="104"/>
0177     <constant name="ECalBarrel2_ID"     value="105"/>
0178 
0179     <documentation> 
0180       #### (110-119) Hadronic Calorimeter
0181 
0182       - HCal     subsystem  ID:  110
0183       - Barrel   subassembly ID: 111
0184       - EndcapP  subassembly ID: 112
0185       - EndcapN  subassembly ID: 113
0186 
0187       - Unused IDs: 115-119
0188     </documentation>
0189     <constant name="HCalSubAssembly_ID" value="110"/>
0190     <constant name="HCalBarrel_ID"      value="111"/>
0191     <constant name="HCalEndcapP_ID"     value="112"/>
0192     <constant name="HCalEndcapN_ID"     value="113"/>
0193     <constant name="PassiveSteelRingEndcapP_ID" value="114"/>
0194     <documentation> 
0195       #### (120-129) (near) Forward reserved
0196 
0197       - Forward RICH    ID: 120
0198       - Forward TRD     ID: 121
0199       - Forward TOF     ID: 122
0200       - Unused IDs: 124-129
0201     </documentation>
0202     <constant name="ForwardRICH_ID"     value="120"/>
0203     <constant name="ForwardTRD_ID"      value="121"/>
0204     <constant name="ForwardTOF_ID"      value="122"/>
0205 
0206     <documentation> 
0207       #### (130-139) Backward reserved
0208 
0209       - Modular RICH ID: 130
0210       - Backward RICH ID: 131
0211       - Backward TOD ID: 132
0212       - Unused IDs: 133-139
0213 
0214     </documentation>
0215     <constant name="MRICH_ID"           value="130"/>
0216     <constant name="BackwardRICH_ID"    value="131"/>
0217     <constant name="BackwardTOF_ID"     value="132"/>
0218 
0219     <documentation> 
0220       #### (140-149) Central Magnet
0221 
0222       - Solenoid         ID: 140
0223       - Solenoid support ID: 141
0224       - Solenoid Yoke    ID: 142
0225 
0226       - Unused IDs: 143-149
0227 
0228     </documentation>
0229     <constant name="Solenoid_ID"             value="140"/>
0230     <constant name="SolenoidSupport_ID"      value="141"/>
0231     <constant name="SolenoidYoke_ID"         value="142"/>
0232 
0233     <documentation> 
0234       #### (150-169) Far Forward Detectors
0235 
0236       - Forward Roman Pot     ID: 150
0237       - Forward B0 Tracker    ID: 151
0238       - Zero Degree Cal. Ecal ID: 160
0239       - Zero Degree Cal. Hcal ID: 161
0240 
0241       TODO: A lot of the repeated ID's below should be pushed into a single detector
0242     </documentation>
0243     <constant name="B0Tracker_Station_1_ID"          value="150"/>
0244     <constant name="B0Tracker_Station_2_ID"          value="151"/>
0245     <constant name="B0Tracker_Station_3_ID"          value="152"/>
0246     <constant name="B0Tracker_Station_4_ID"          value="153"/>
0247     <constant name="B0Preshower_Station_1_ID"        value="154"/>
0248     <constant name="ForwardRomanPot_Station_1_ID"    value="155"/>
0249     <constant name="ForwardRomanPot_Station_2_ID"    value="156"/>
0250     <constant name="ForwardOffMTracker_station_1_ID" value="159"/>
0251     <constant name="ForwardOffMTracker_station_2_ID" value="160"/>
0252     <constant name="ForwardOffMTracker_station_3_ID" value="161"/>
0253     <constant name="ForwardOffMTracker_station_4_ID" value="162"/>
0254     <constant name="ZDCEcal_ID"                      value="163"/>
0255     <constant name="ZDCHcal_ID"                      value="164"/>
0256     <constant name="VacuumMagnetElement_1_ID"        value="165"/>
0257 
0258     <documentation> 
0259       #### (170-189) Far Forward Beamline Magnets
0260     </documentation>
0261     <constant name="B0PF_ID"  value="170"/>
0262     <constant name="B0APF_ID" value="171"/>
0263     <constant name="Q1APF_ID" value="172"/>
0264     <constant name="Q1BPF_ID" value="173"/>
0265     <constant name="Q2PF_ID"  value="174"/>
0266     <constant name="B1PF_ID"  value="175"/>
0267     <constant name="B1APF_ID" value="176"/>
0268     <constant name="B2PF_ID"  value="177"/>
0269     <constant name="Q0EF_ID"  value="180"/>
0270     <constant name="Q1EF_ID"  value="181"/>
0271 
0272     <documentation> 
0273       #### (190-199) Far Backward Beamline Magnets
0274 
0275       - Low-Q2 Tagger 1 Tracker      ID: 195
0276       - Low-Q2 Tagger 1 Calorimeter  ID: 196
0277       - Low-Q2 Tagger 2 Tracker      ID: 198
0278       - Low-Q2 Tagger 2 Calorimeter  ID: 199
0279 
0280       TODO: A lot of the repeated ID's below should be pushed into a single detector
0281     </documentation>
0282     <constant name="LumiCollimator_ID"       value="190"/>
0283     <constant name="LumiDipole_ID"           value="191"/>
0284     <constant name="TaggerTracker_1_ID"      value="195"/>
0285     <constant name="TaggerCalorimeter_1_ID"  value="196"/>
0286     <constant name="TaggerTracker_2_ID"      value="198"/>
0287     <constant name="TaggerCalorimeter_2_ID"  value="199"/>
0288 
0289     <documentation> 
0290       #### (200-219) Far Backward Beamline Magnets
0291     </documentation>
0292     <constant name="Pipe_to_Q1eR_ID"        value="200"/>
0293     <constant name="Magnet_Q1eR_ID"         value="201"/>
0294     <constant name="Pipe_in_Q1eR_ID"        value="202"/>
0295     <constant name="Pipe_Q1eR_to_Q2eR_ID"   value="203"/>
0296     <constant name="Magnet_Q2eR_ID"         value="204"/>
0297     <constant name="Pipe_in_Q2eR_ID"        value="205"/>
0298     <constant name="Pipe_Q2eR_to_B2AeR_ID"  value="206"/>
0299     <constant name="Magnet_B2AeR_ID"        value="207"/>
0300     <constant name="Pipe_in_B2AeR_ID"       value="208"/>
0301     <constant name="Pipe_B2AeR_to_B2BeR_ID" value="209"/>
0302     <constant name="Magnet_B2BeR_ID"        value="210"/>
0303     <constant name="Pipe_in_B2BeR_ID"       value="211"/>
0304     <constant name="Magnet_Q3eR_ID"         value="212"/>
0305     <constant name="Vacuum_in_Q3eR_ID"      value="213"/>
0306 
0307     <documentation>
0308 ## Detector Definition Parameters 
0309 
0310 ## Constant naming convention
0311 
0312 SubSystemNameFurtherDescriptor_quantity
0313 
0314 Examples: 
0315  - TrackerBarrelInside_length
0316  - EcalEndcapP_rmin
0317  - MRichFresnelLens_thickness
0318 
0319 ### Naming Barrel and Endcaps
0320 
0321  - **Barrel**
0322  - **EndcapP**
0323    - Postive Endcap (+z direction)
0324    - This is the ion beam side
0325  - **EndcapN**
0326    - Negative Endcap (-z direction) 
0327    - This is the electron beam side
0328        
0329 ## Parameter nomenclature
0330 
0331  - "rmin", "rmax", "thickness" all refer to the radial direction.
0332  - "zmin", "zmax", "length", "offset" all refer to the z direction.
0333  - Positive and Negative are  "EndcapP" and "EndcapN", respectively.
0334  - All values are positive (except offsets, which are positive in the hadron direction, i.e. towards EndCapP).
0335      When refering to a negative endcap z position, the values are
0336      also positive then negated when required. (Many endcap constructions are mirrored, 
0337      hence a postive value.)
0338  - We will try to keep the subsystem component name first and the parameter after an "_" (eg, EcalBarrel_length").
0339 
0340     </documentation>
0341 
0342     <documentation>
0343       ## Rapidity constants
0344     </documentation>
0345     <constant name="Eta1_1_tan"       value="tan(2*atan(exp(-1.1)))" />
0346     <constant name="Eta1_4_tan"       value="tan(2*atan(exp(-1.4)))" />
0347     <constant name="Eta3_5_tan"       value="tan(2*atan(exp(-3.5)))" />
0348     <constant name="Eta3_6_tan"       value="tan(2*atan(exp(-3.6)))" />
0349     <constant name="Eta3_7_tan"       value="tan(2*atan(exp(-3.7)))" />
0350     <constant name="Eta3_8_tan"       value="tan(2*atan(exp(-3.8)))" />
0351     <constant name="Eta3_9_tan"       value="tan(2*atan(exp(-3.9)))" />
0352     <constant name="Eta4_0_tan"       value="tan(2*atan(exp(-4.0)))" />
0353     <constant name="Eta4_1_tan"       value="tan(2*atan(exp(-4.1)))" />
0354     <constant name="Eta4_2_tan"       value="tan(2*atan(exp(-4.2)))" />
0355     <constant name="Eta4_3_tan"       value="tan(2*atan(exp(-4.3)))" />
0356     <constant name="Eta4_4_tan"       value="tan(2*atan(exp(-4.4)))" />
0357     <constant name="Eta4_5_tan"       value="tan(2*atan(exp(-4.5)))" />
0358     <constant name="Eta4_6_tan"       value="tan(2*atan(exp(-4.6)))" />
0359     <constant name="Eta4_7_tan"       value="tan(2*atan(exp(-4.7)))" />
0360     <constant name="Eta4_8_tan"       value="tan(2*atan(exp(-4.8)))" />
0361 
0362     <comment>Solenoid option</comment>
0363 
0364     <documentation>
0365       ## Solenoid Magnet Parameters
0366 
0367       When changing here, also change the include file in athena.xml.
0368     </documentation>
0369 
0370     <comment>Solenoid option</comment>
0371     <constant name="Solenoid_length"           value="3840.0*mm"/>
0372     <constant name="Solenoid_rmin"             value="1600.0*mm"/>
0373     <constant name="Solenoid_thickness"        value="455*mm"/>
0374     <constant name="Solenoid_offset"           value="-240*mm"/>
0375 
0376     <!--
0377     <comment>Helmholtz option</comment>
0378     <constant name="Solenoid_length"           value="3840.0*mm"/>
0379     <constant name="Solenoid_rmin"             value="1655.0*mm"/> <comment> Larger inner bore radius </comment>
0380     <constant name="Solenoid_thickness"        value="640*mm"/>
0381     <constant name="Solenoid_offset"           value="10*mm"/>
0382     </comment>
0383     -->
0384 
0385     <constant name="Solenoid_rmax"             value="Solenoid_rmin + Solenoid_thickness"/>
0386     <constant name="SolenoidForward_zmax"      value="Solenoid_length/2. + Solenoid_offset"/>
0387     <constant name="SolenoidBackward_zmax"      value="Solenoid_length/2. - Solenoid_offset"/>
0388     <constant name="SolenoidBarrel_rmin"       value="Solenoid_rmin"/>
0389     <constant name="SolenoidBarrel_length"     value="Solenoid_length"/>
0390 
0391     <documentation>
0392       ## Tracking Detector Parameters
0393 
0394     </documentation>
0395 
0396     <documentation>
0397       ### Vertex Tracking Region
0398     </documentation>
0399     <constant name="VertexTrackingRegion_rmin"    value="Beampipe_rmax + 1.0*mm" />
0400     <constant name="VertexTrackingRegion_rmax"    value="100.0*mm" />
0401     <constant name="VertexTrackingRegionP_zmax"   value="240.0*mm" />
0402     <constant name="VertexTrackingRegionN_zmax"   value="240.0*mm" />
0403     <constant name="VertexTrackingRegion_length"  value="VertexTrackingRegionP_zmax + VertexTrackingRegionN_zmax" />
0404 
0405     <documentation>
0406       ### Central Tracking Region
0407       TrackerBarrel_rmax: also the rmin for the barrel PID system (DIRC)
0408       Note: The barrel rmax and endcap lengths are the maximum extent allowed for
0409       the barrel and endcap layers, not the position of the final layer.
0410 
0411 
0412     </documentation>
0413 
0414     <constant name="CentralTrackingRegion_rmax"   value="950.0*mm" />
0415     <constant name="CentralTrackingRegionP_zmax"  value="1700.0*mm" />
0416     <constant name="CentralTrackingRegionN_zmax"  value="1500.0*mm" />
0417     <constant name="CentralTrackingRegion_length" value="CentralTrackingRegionP_zmax + CentralTrackingRegionN_zmax" />
0418     <comment>
0419       tan(theta) to determine rmin in the outer tracking region (due to tapered beampipe)
0420     </comment>
0421     <constant name="CentralTrackingBarrel_tan"    value="Eta1_1_tan" />
0422     <constant name="CentralTrackingRegionP_tan"   value="Eta3_7_tan * 1.00" />
0423     <constant name="CentralTrackingRegionN_tan"   value="Eta4_0_tan * 0.99" />
0424 
0425     <documentation level="0">
0426 ### PID Detector Region Parameters
0427     </documentation>
0428 
0429     <comment> Global PID regions with suballocations for TOF and RICH detectors </comment>
0430     <constant name="ForwardPIDRegion_zmin"        value="CentralTrackingRegionP_zmax" />
0431     <constant name="ForwardPIDRegion_length"      value="160.0*cm" />
0432 
0433     <comment> Forward TOF region currenlty empty for future upgrades </comment>
0434     <constant name="ForwardTOFRegion_zmin"        value="ForwardPIDRegion_zmin" />
0435     <constant name="ForwardTOFRegion_length"      value="20.0*cm" />
0436     <constant name="ForwardTOFRegion_rmax"        value="CentralTrackingRegion_rmax" />
0437     <constant name="ForwardTOFRegion_tan"         value="CentralTrackingRegionP_tan" />
0438       
0439     <comment> Forward RICH region </comment>
0440     <constant name="ForwardRICHRegion_zmin"       value="ForwardTOFRegion_zmin + ForwardTOFRegion_length" />
0441     <constant name="ForwardRICHRegion_length"     value="ForwardPIDRegion_length - ForwardTOFRegion_length" />
0442     <comment> tangent of the opening angle at the front and back of the RICH </comment>
0443     <constant name="ForwardRICHRegion_tan1"        value="CentralTrackingRegionP_tan * 0.88" />
0444     <constant name="ForwardRICHRegion_tan2"        value="Eta3_6_tan * 0.89" />
0445 
0446     <constant name="BackwardPIDRegion_zmin"       value="CentralTrackingRegionN_zmax" />
0447     <constant name="BackwardPIDRegion_length"     value="60.0*cm" />
0448     <constant name="BackwardPIDRegion_rmax"       value="CentralTrackingRegion_rmax" />
0449     <constant name="BackwardPIDRegion_tan"        value="CentralTrackingRegionN_tan * 0.92" />
0450 
0451     <comment> Backward RICH region </comment>
0452     <constant name="BackwardRICHRegion_zmin"       value="BackwardPIDRegion_zmin" />
0453     <constant name="BackwardRICHRegion_length"     value="58.0*cm" />
0454 
0455     <comment> Backward TOF region, currently empty for upgrades </comment>
0456     <constant name="BackwardTOFRegion_zmin"        value="BackwardRICHRegion_zmin + BackwardRICHRegion_length" />
0457     <constant name="BackwardTOFRegion_length"      value="BackwardPIDRegion_length - BackwardRICHRegion_length" />
0458 
0459     <comment> Note: PID has space for DIRC, ExtraSpace sits past the PID</comment>
0460     <constant name="BarrelPIDRegion_thickness"    value="8.0 * cm" />
0461     <constant name="BarrelExtraSpace_thickness"   value="0.0 * cm" />
0462 
0463     <documentation>
0464     ## Forward/backward tracking region behind the PID detectors
0465     </documentation>
0466 
0467     <constant name="BackwardTrackingRegion_tan"     value="CentralTrackingRegionN_tan" />
0468     <constant name="BackwardTrackingRegion_zmin"    value="BackwardPIDRegion_zmin + BackwardPIDRegion_length" />
0469     <constant name="ForwardTrackingRegion_tan"      value="ForwardRICHRegion_tan2" />
0470     <constant name="ForwardTrackingRegion_zmin"     value="ForwardPIDRegion_zmin + ForwardPIDRegion_length" />
0471     <constant name="ForwardTrackingRegion_length"   value="10.0*cm" />
0472     <constant name="BackwardTrackingRegion_length"  value="0.0*cm" />
0473 
0474     <comment> Total length of the endcap detectors in front of the calorimeter</comment>
0475     <constant name="BackwardInnerEndcapRegion_length"    value="BackwardPIDRegion_length + BackwardTrackingRegion_length"/>
0476     <constant name="ForwardInnerEndcapRegion_length"     value="ForwardPIDRegion_length + ForwardTrackingRegion_length"/>
0477 
0478     <documentation>
0479 ## Service gaps
0480 
0481 Service gaps in FW direction (before endcapP ECAL) and BW direction (before endcapN HCAL)
0482     </documentation>
0483     <constant name="ForwardServiceGap_length"     value="10.0*cm"/>
0484     <constant name="BackwardServiceGap_length"    value="10.0*cm"/>
0485  
0486   <documentation level="3">
0487 ## Calorimeter Parameters
0488   </documentation>
0489     <constant name="CaloSides"                      value="12"/>
0490 
0491     <constant name="EcalEndcapP_zmin"               value="ForwardPIDRegion_zmin + ForwardInnerEndcapRegion_length + ForwardServiceGap_length" />
0492     <constant name="EcalEndcapP_length"             value="30*cm" />
0493     <constant name="EcalEndcapP_rmin"               value="200.0*mm" />
0494     <comment> extra 50cm rmax that "protrudes" into the HCAL</comment>
0495     <constant name="EcalEndcapP_rmax"               value="floor(Eta1_1_tan * EcalEndcapP_zmin)"/>
0496 
0497     <constant name="EcalEndcapN_zmin"               value="BackwardPIDRegion_zmin + BackwardInnerEndcapRegion_length"/>
0498     <constant name="EcalEndcapN_length"             value="60*cm" />
0499     <comment>
0500       rmin1: rmin round electron pipe (ignoring the hadron pipe)
0501       rmin2: rmin around both beam pipes
0502     </comment>
0503     <constant name="EcalEndcapN_rmin1"               value="Eta4_6_tan * EcalEndcapN_zmin" />
0504     <constant name="EcalEndcapN_rmin2"               value="Eta4_1_tan * EcalEndcapN_zmin" />
0505     <constant name="EcalEndcapN_rmax"               value="CentralTrackingRegion_rmax" />
0506 
0507     <constant name="EcalBarrelRegion_thickness"     value="45.0*cm"/>
0508     <constant name="EcalBarrel_rmin"                value="CentralTrackingRegion_rmax + BarrelPIDRegion_thickness + BarrelExtraSpace_thickness"/>
0509     <constant name="EcalBarrelForward_zmax"         value="SolenoidForward_zmax"/>
0510     <constant name="EcalBarrelBackward_zmax"        value="EcalEndcapN_zmin + 30*cm"/>
0511     <constant name="EcalBarrel_length"              value="EcalBarrelForward_zmax + EcalBarrelBackward_zmax"/>
0512     <constant name="EcalBarrel_offset"              value="(EcalBarrelForward_zmax - EcalBarrelBackward_zmax)/2.0"/>
0513     <constant name="EcalBarrelReadout_length"       value="20*cm"/>
0514 
0515 
0516   <documentation level="3">
0517 ## Special DIRC parameters (depend on the ECAL setup)
0518   </documentation>
0519     <constant name="DIRCReadout_length"         value="30*cm"/>
0520     <constant name="DIRCForward_length"         value="0*cm"/>
0521     <constant name="DIRCForward_zmax"           value="EcalBarrelForward_zmax "/>
0522     <constant name="DIRCBackward_zmax"          value="EcalBarrelBackward_zmax + EcalBarrelReadout_length +DIRCReadout_length "/>
0523     <constant name="DIRC_length"                value="DIRCForward_zmax + DIRCBackward_zmax"/>
0524     <constant name="DIRC_offset"                value="(DIRCForward_zmax - DIRCBackward_zmax)/2"/>
0525     <constant name="DIRC_rmin"                  value="CentralTrackingRegion_rmax"/>
0526     <constant name="DIRC_rmax"                  value="DIRC_rmin + BarrelPIDRegion_thickness"/>
0527 
0528     <documentation>
0529       ## Hadronic Calorimeter Parameters
0530     </documentation>
0531 
0532     <constant name="HcalEndcapP_zmin"     value="EcalEndcapP_zmin + EcalEndcapP_length"/>
0533     <constant name="HcalEndcapP_length"   value="120.0*cm"/>
0534     <comment> HcalEndcapP needs to clear the expanding beampipe with 2 * crossing angle + its radius of BeampipeOD / 2</comment>
0535     <constant name="HcalEndcapP_rmin"     value="max((HcalEndcapP_zmin + HcalEndcapP_length) * tan(2.0 * abs(CrossingAngle)) + BeampipeOD / 2.0, 15 * cm)"/>
0536 
0537     <constant name="HcalEndcapN_zmin"     value="max(DIRCBackward_zmax + BackwardServiceGap_length, 355*cm)"/>
0538     <constant name="HcalEndcapN_length"   value="105.0*cm"/>
0539     <comment> HcalEndcapN needs to clear the straight beampipe with 1 * crossing angle + its radius of 22.25 mm </comment>
0540     <constant name="HcalEndcapN_rmin"     value="max((HcalEndcapN_zmin + HcalEndcapN_length) * tan(abs(CrossingAngle)) + 22.25 * mm, 11 * cm)"/>
0541 
0542     <constant name="HcalBarrel_thickness" value="100.0*cm "/>
0543     <constant name="HcalBarrel_rmin"      value="max(Solenoid_rmax, 230*cm)"/>
0544     <constant name="HcalBarrel_rmax"      value="HcalBarrel_rmin + HcalBarrel_thickness"/>
0545     <constant name="HcalBarrelForward_zmax" value="HcalEndcapP_zmin - ForwardServiceGap_length - EcalEndcapP_length"/>
0546     <constant name="HcalBarrelBackward_zmax" value="HcalEndcapN_zmin - BackwardServiceGap_length"/>
0547 
0548     <comment> 
0549       These are used by ddsim, the region where we store all secondaries 
0550 
0551       For now they are forced to be symmetric, and we cover up to the start of the backward ECAL.
0552       (this means in the forward region we stop in the middle of the RICH).
0553     </comment>
0554 
0555     <constant name="tracker_region_rmax"   value="EcalBarrel_rmin"/>
0556     <constant name="tracker_region_zmax"   value="EcalEndcapN_zmin"/>
0557 
0558   </define>