Skip to content
Snippets Groups Projects

Resolve "Parameterized Detector Structure"

Merged Whitney Armstrong requested to merge 37-parameterized-detector-structure into master
1 file
+ 47
35
Compare changes
  • Side-by-side
  • Inline
+ 47
35
@@ -231,18 +231,16 @@
@@ -231,18 +231,16 @@
</comment>
</comment>
<comment>
<comment>
--------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Solenoid Magnet Parameters
Detector Definition Parameters
--------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</comment>
</comment>
<comment>
<comment>
These cb_ parameters don't make sense
==========================
 
Solenoid Magnet Parameters
 
==========================
</comment>
</comment>
<constant name="cb_Solenoid_rmin" value="0.0 * cm"/> <comment> Central Barrel Solenoid Inner diameter </comment>
<constant name="cb_Solenoid_rmax" value="137.0 * cm"/> <comment> Central Barrel Solenoid Outer diameter </comment>
<constant name="cb_Solenoid_z" value="400.0 * cm"/>
<constant name="cb_Solenoid_shift" value="0.0 * cm"/><comment> Central Barrel Solenoid Size in Z direction </comment>
<constant name="Solenoid_thickness" value="400*mm"/>
<constant name="Solenoid_thickness" value="400*mm"/>
<constant name="Solenoid_rmin" value="2000.0*mm"/>
<constant name="Solenoid_rmin" value="2000.0*mm"/>
@@ -298,6 +296,14 @@
@@ -298,6 +296,14 @@
<constant name="RICHLength" value="1.5*m"/>
<constant name="RICHLength" value="1.5*m"/>
<constant name="TRDLength" value="40.0*cm"/>
<constant name="TRDLength" value="40.0*cm"/>
<constant name="ForwardTOFLength" value="10.0*cm"/>
<constant name="ForwardTOFLength" value="10.0*cm"/>
 
<constant name="ForwardPIDLength" value="RICHLength + TRDLength + ForwardTOFLength"/>
 
 
<constant name="BackwardCherenkovLength" value="50.0*cm"/>
 
<constant name="BackwardTOFLength" value="10.0*cm"/>
 
<constant name="BackwardPIDLength" value="BackwardCherenkovLength + BackwardTOFLength"/>
 
 
<constant name="BarrelPIDThickness" value="25.0 * cm"/>
 
<comment>
<comment>
============================
============================
@@ -327,27 +333,34 @@
@@ -327,27 +333,34 @@
<constant name="SiliconTrackerOuterRadius" value="Solenoid_rmax/2.0"/>
<constant name="SiliconTrackerOuterRadius" value="Solenoid_rmax/2.0"/>
<constant name="SiliconTrackerOuterBarrelLength" value="SolenoidLength/3.0"/>
<constant name="SiliconTrackerOuterBarrelLength" value="SolenoidLength/3.0"/>
<comment>
<comment>
------------
======================
Calorimeters
Calorimeter Parameters
------------
======================
 
</comment>
</comment>
<constant name="EcalBarrel_rmin" value="SiliconTrackerOuterRadius + 3.0 * cm"/>
<constant name="EcalBarrel_rmin" value="SiliconTrackerOuterRadius + BarrelPIDThickness + 3.0 * cm"/>
<constant name="HcalBarrel_rmax" value="Solenoid_rmin - 5.0 *cm "/>
<constant name="HcalBarrel_rmax" value="Solenoid_rmin - 5.0 *cm "/>
<constant name="AvailTotalBarrelCalorimetryThickness" value="HcalBarrel_rmax - EcalBarrel_rmin"/>
<constant name="Barrel_TotalCalThickness" value="HcalBarrel_rmax - EcalBarrel_rmin"/>
<constant name="CalBarrelDivider" value="0.5"/> <comment> Ecal and Hcal have the same thickness </comment>
<constant name="CalBarrelDivider" value="0.5"/> <comment> Ecal and Hcal have the same thickness </comment>
<constant name="EcalBarrelAvailTotalThickness" value="AvailTotalBarrelCalorimetryThickness * CalBarrelDivider"/>
<constant name="EcalBarrel_TotalThickness" value="Barrel_TotalCalThickness * CalBarrelDivider"/>
<constant name="HcalBarrelAvailTotalThickness" value="AvailTotalBarrelCalorimetryThickness * (1.0 - CalBarrelDivider)"/>
<constant name="HcalBarrel_TotalThickness" value="Barrel_TotalCalThickness * (1.0 - CalBarrelDivider)"/>
 
 
<constant name="EcalBarrelLength" value="SiliconTrackerOuterBarrelLength + ForwardPIDLength + BackwardPIDLength"/>
 
<constant name="EcalEndcapP_zmin" value="SiliconTrackerOuterBarrelLength/2.0 + ForwardPIDLength"/>
 
<constant name="EcalEndcapN_zmin" value="SiliconTrackerOuterBarrelLength/2.0 + BackwardPIDLength"/>
<constant name="EcalBarrelLength" value="SiliconTrackerOuterBarrelLength+RICHLength+ForwardTOFLength+TRDLength"/>
<constant name="EndcapP_TotalCalThickness" value="(SolenoidYokeEndcap_zmin - 10.0 * mm) - (EcalEndcapP_zmin + 10.0 * mm)"/>
<constant name="EcalEndcap_zmin" value="EcalBarrelLength/2.0"/>
<constant name="EndcapN_TotalCalThickness" value="(SolenoidYokeEndcap_zmin - 10.0 * mm) - (EcalEndcapN_zmin + 10.0 * mm)"/>
<constant name="AvailTotalEndcapCalorimetryThickness" value="(SolenoidYokeEndcap_zmin - 10.0 * mm) - (EcalEndcap_zmin + 10.0 * mm)"/>
<constant name="EndcapP_CalDivide" value="0.5"/> <comment> 0.5 means Ecal and Hcal have the same thickness </comment>
<constant name="CalEndcapDivider" value="0.5"/> <comment> Ecal and Hcal have the same thickness </comment>
<constant name="EndcapN_CalDivide" value="0.5"/> <comment> 0.5 means Ecal and Hcal have the same thickness </comment>
<constant name="EcalEndcapAvailTotalThickness" value="AvailTotalEndcapCalorimetryThickness * CalEndcapDivider"/>
<constant name="HcalEndcapAvailTotalThickness" value="AvailTotalEndcapCalorimetryThickness * (1.0 - CalEndcapDivider)"/>
<constant name="EcalEndcapP_TotalThickness" value="EndcapP_TotalCalThickness * EndcapP_CalDivide"/>
 
<constant name="EcalEndcapN_TotalThickness" value="EndcapN_TotalCalThickness * EndcapN_CalDivide"/>
 
 
<constant name="HcalEndcapP_TotalThickness" value="EndcapP_TotalCalThickness * (1.0 - EndcapP_CalDivide)"/>
 
<constant name="HcalEndcapN_TotalThickness" value="EndcapN_TotalCalThickness * (1.0 - EndcapN_CalDivide)"/>
<comment> These need to be set in sync with the forward and backward detectors </comment>
<comment> These need to be set in sync with the forward and backward detectors </comment>
<constant name="EcalEndcapP_rmin" value="250.0*mm"/>
<constant name="EcalEndcapP_rmin" value="250.0*mm"/>
@@ -360,6 +373,14 @@
@@ -360,6 +373,14 @@
-------------------------
-------------------------
EM Calorimeter Parameters
EM Calorimeter Parameters
-------------------------
-------------------------
 
 
## Note about Calormieter parameterization.
 
 
The logic goes like this:
 
1. The space for the calorimeter is fixed via parameterization above.
 
2. The layer thicknesses are fixed (first parameters below)
 
3. From the space/thickness the number of layers is computed.
 
</comment>
</comment>
<constant name="CaloSides" value="12"/>
<constant name="CaloSides" value="12"/>
@@ -434,9 +455,9 @@
@@ -434,9 +455,9 @@
Gaseous RICH Parameters
Gaseous RICH Parameters
-----------------------
-----------------------
</comment>
</comment>
<constant name="RICHZMin" value="SiliconTrackerOuterBarrelLength/2.0 + 1 * cm"/>
<constant name="RICHZMin" value="SiliconTrackerOuterBarrelLength/2.0 + 1 * cm"/>
<constant name="RICHRMin" value="15 * cm"/>
<constant name="RICHRMin" value="15 * cm"/>
<constant name="RICHRMax" value="60 * cm"/>
<constant name="RICHRMax" value="60 * cm"/>
<constant name="RICHDepth" value="1.0*m"/>
<constant name="RICHDepth" value="1.0*m"/>
@@ -445,15 +466,6 @@
@@ -445,15 +466,6 @@
Forward Tracker Parameters
Forward Tracker Parameters
--------------------------
--------------------------
</comment>
</comment>
<constant name="TempForwardTrackerSpace" value="1.5 * m"/>
<constant name="ForwardEcalZMin" value="RICHZMin + RICHDepth + TempForwardTrackerSpace"/>
<constant name="ForwardCaloAngle" value="2 * SolenoidYokeChamferAngle"/>
<constant name="ForwardEcalRInner" value="10 * cm"/>
<constant name="ForwardEcalROuter" value="EcalBarrel_rmin + tan(SolenoidYokeChamferAngle) * (RICHDepth) + tan(ForwardCaloAngle) * (ForwardEcalZMin - RICHZMin - RICHDepth)"/>
<constant name="ForwardHcalZMin" value="RICHZMin + RICHDepth + TempForwardTrackerSpace + EcalEndcapThickness + 1 * mm"/>
<constant name="ForwardHcalAngle" value="ForwardCaloAngle"/>
<constant name="ForwardHcalRInner" value="10 * cm"/>
<constant name="ForwardHcalROuter" value="ForwardEcalROuter + tan(ForwardCaloAngle) * (ForwardHcalZMin - ForwardEcalZMin)"/>
<comment>
<comment>
--------------------------
--------------------------
Loading