#ifndef _PCAL_GEOMETRY_HH_ #define _PCAL_GEOMETRY_HH_ #include "Geometry/CdfGeometry.hh" // //------------------------------------------------------------------------------ // These are the geometry constants required to set up the non-detailed and // detailed versions of the Plug Calorimeter. The containment volumes // PST*, PEM*, and PHA* are defined relative to the location of the front // face of the PLG* mother volumes to allow for possible translation of // calorimeters without having to recalculate their positions. All other // daughter volumes in the detailed geometry are positioned relative to // their containment volumes. //------------------------------------------------------------------------------ // //------------------------------------------------------------------------------ // The parameters for some level of detail of the plug calorimeter // "PST" stands for "PLUG STEEL" This is the steel plate in front of the plug // PST : tube //------------------------------------------------------------------------------ float const PST_ZMIN = PLUG_ZMIN; float const PST_ZMAX = PLUG_ZMIN+4.368; float const PST_DZ2 = 1.27/2.; float const PST_ZPOS = PLUG_ZMIN + 3.733; float const PST_POSITION[] = { 0., 0., PST_ZPOS }; float const PST_DIMENSIONS[] = { 10.00 , 135.533, PST_DZ2}; int const PST_ROTATION = 0; //------------------------------------------------------------------------------ // PEM : polycone //------------------------------------------------------------------------------ float const PEM_ZMIN = PST_ZMAX; float const PEM_ZMAX = PEM_ZMIN + 35.002; float const PEM_ZPOS = ( PEM_ZMAX+PEM_ZMIN)/2.; float const PEM_POSITION[] = { 0., 0., 0. }; float const PEM_DIMENSIONS[] = { 0., 360. , 3 , PEM_ZMIN, 9.28 , 135.533, PEM_ZMIN+5.942, 9.592, COT_RMAX, PEM_ZMAX, 11.115, COT_RMAX }; float const PEM_DIMENSIONS_A[] = { 0., 360. , 3 , PEM_ZMIN+1.682, 9.369, 136.870, PEM_ZMIN+5.942, 9.592, COT_RMAX, 186.0, 9.646, COT_RMAX }; float const PEM_DIMENSIONS_B[] = { 0., 360. , 2 , 186.0, 9.742, COT_RMAX, PEM_ZMAX, 11.115, COT_RMAX }; int const PEM_ROTATION = 0; //------------------------------------------------------------------------------ // PHA : polycone //------------------------------------------------------------------------------ float const PHA_ZMIN = PEM_ZMAX; float const PHA_ZMAX = PLUG_ZMAX; float const PHA_ZPOS = (PHA_ZMAX+PHA_ZMIN)/2.; float const PHA_POSITION[] = { 0., 0., 0. }; float const PHA_DIMENSIONS[] = { 0. , 360. , 4., PHA_ZMIN, 11.115, COT_RMAX, PLUG_ZMIN+81.28, 13.31, COT_RMAX, PLUG_ZMIN+81.28, 13.31, 142.6, PHA_ZMAX, 19.55, PLUG_RMAX }; int const PHA_ROTATION = 0; //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // The following parameters are geometry constants used in the detailed GEANT // description of the Plug Calorimeter. //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ // //------------------------------------------------------------------------------ // PEM scintillator layer containment volumes (TUBE) // There are 23 active layers in the PEM. //------------------------------------------------------------------------------ float const PEM_ACTIVE[23][3] = { { 10.853, 133.797, 0.625 }, { 10.950, 134.873, 0.325 }, { 11.031, 135.936, 0.325 }, { 11.111, 136.999, 0.325 }, { 11.308, 138.708, 0.325 }, { 11.389, 138.708, 0.325 }, { 11.469, 138.708, 0.325 }, { 11.549, 138.708, 0.325 }, { 11.629, 138.708, 0.325 }, { 11.709, 138.708, 0.325 }, { 11.789, 138.708, 0.325 }, { 11.869, 138.708, 0.325 }, { 11.949, 138.708, 0.325 }, { 12.030, 138.708, 0.325 }, { 12.110, 138.708, 0.325 }, { 12.190, 138.708, 0.325 }, { 12.270, 138.708, 0.325 }, { 12.350, 138.708, 0.325 }, { 12.430, 138.708, 0.325 }, { 12.510, 138.708, 0.325 }, { 12.590, 138.708, 0.325 }, { 12.671, 138.708, 0.325 }, { 12.751, 138.708, 0.325 } }; //------------------------------------------------------------------------------ // PEM absorber layer containment volumes (TUBE) // There are 23 absorber layers in the PEM. //------------------------------------------------------------------------------ float const PEM_ABSORB[23][3] = { { 10.000, 135.533, 0.635 }, { 10.119, 135.533, 0.275 }, { 10.193, 136.803, 0.275 }, { 10.268, 138.073, 0.275 }, { 10.342, 139.343, 0.275 }, { 10.526, 139.343, 0.275 }, { 10.600, 139.343, 0.275 }, { 10.675, 139.343, 0.275 }, { 10.749, 139.343, 0.275 }, { 10.823, 139.343, 0.275 }, { 10.898, 139.343, 0.275 }, { 10.972, 139.343, 0.275 }, { 11.047, 139.343, 0.275 }, { 11.121, 139.343, 0.275 }, { 11.195, 139.343, 0.275 }, { 11.270, 139.343, 0.275 }, { 11.344, 139.343, 0.275 }, { 11.419, 139.343, 0.275 }, { 11.493, 139.343, 0.275 }, { 11.568, 139.343, 0.275 }, { 11.642, 139.343, 0.275 }, { 11.716, 139.343, 0.275 }, { 11.791, 139.343, 0.275 } }; //------------------------------------------------------------------------------ // PEM scintillator layer containment volume locations in Z // There are 23 active layers in the PEM. All coordinates are relative to // the front face of the PLG* containment volume. //------------------------------------------------------------------------------ float const PEM_ACTIVE_Z[23] = { 5.425, 7.145, 8.565, 9.985, 13.488, 14.907, 16.327, 17.747, 19.167, 20.587, 22.007, 23.427, 24.846, 26.266, 27.686, 29.106, 30.526, 31.946, 33.366, 34.785, 36.205, 37.625, 39.045 }; //------------------------------------------------------------------------------ // PEM absorber layer containment volume locations in Z // There are 23 absorber layers in the PEM. All coordinates are relative to // the front face of the PLG* containment volume. //------------------------------------------------------------------------------ float const PEM_ABSORB_Z[23] = { 3.733, 6.325, 7.745, 9.165, 10.585, 14.088, 15.507, 16.927, 18.347, 19.767, 21.187, 22.607, 24.027, 25.446, 26.866, 28.286, 29.706, 31.126, 32.546, 33.966, 35.385, 36.805, 38.225 }; //------------------------------------------------------------------------------ // Inner support cone for the PEM (PCON). //------------------------------------------------------------------------------ float const PEM_CONE_ZMIN = 4.368; float const PEM_CONE_ZMAX = PEM_CONE_ZMIN + 34.73; float const PEM_CONE_DIMS[] = { 0.0, 360.0 , 2.0, PEM_CONE_ZMIN, 9.21, 9.90, PEM_CONE_ZMAX, 11.11, 11.80 }; // //------------------------------------------------------------------------------ // PHA scintillator layer containment volumes (TUBE) // There are 22 active layers in the PHA. //------------------------------------------------------------------------------ float const PHA_ACTIVE[22][3] = { { 12.081, 137.795, 0.6848 }, { 12.447, 137.795, 0.6848 }, { 12.813, 139.343, 0.6848 }, { 13.180, 139.343, 0.6848 }, { 13.546, 139.343, 0.6848 }, { 13.912, 139.343, 0.6848 }, { 14.278, 143.964, 0.6848 }, { 14.644, 147.883, 0.6848 }, { 15.010, 151.803, 0.6848 }, { 15.376, 155.723, 0.6848 }, { 15.742, 159.643, 0.6848 }, { 16.108, 163.563, 0.6848 }, { 16.474, 167.482, 0.6848 }, { 16.840, 171.402, 0.6848 }, { 17.206, 175.322, 0.6848 }, { 17.572, 179.242, 0.6848 }, { 17.938, 183.162, 0.6848 }, { 18.304, 187.081, 0.6848 }, { 18.671, 191.001, 0.6848 }, { 19.037, 194.921, 0.6848 }, { 19.403, 198.841, 0.6848 }, { 19.769, 202.761, 0.6848 } }; //------------------------------------------------------------------------------ // PHA absorber layer containment volumes (CONE) // There are 23 absorber layers in the PHA. //------------------------------------------------------------------------------ float const PHA_ABSORB[23][5] = { { 2.54, 11.765, 137.795, 12.031, 137.795 }, { 2.54, 12.131, 137.795, 12.397, 137.795 }, { 2.54, 12.497, 139.343, 12.764, 139.343 }, { 2.54, 12.863, 139.343, 13.130, 139.343 }, { 2.54, 13.229, 139.343, 13.496, 139.343 }, { 2.54, 13.596, 139.343, 13.862, 139.343 }, { 2.54, 13.962, 142.538, 14.228, 145.389 }, { 2.54, 14.328, 146.458, 14.594, 149.309 }, { 2.54, 14.694, 150.378, 14.960, 153.229 }, { 2.54, 15.060, 154.298, 15.326, 157.148 }, { 2.54, 15.426, 158.217, 15.692, 161.068 }, { 2.54, 15.792, 162.137, 16.058, 164.988 }, { 2.54, 16.158, 166.057, 16.424, 168.908 }, { 2.54, 16.524, 169.977, 16.790, 172.828 }, { 2.54, 16.890, 173.897, 17.156, 176.747 }, { 2.54, 17.256, 177.816, 17.522, 180.667 }, { 2.54, 17.622, 181.736, 17.888, 184.587 }, { 2.54, 17.988, 185.656, 18.255, 188.507 }, { 2.54, 18.354, 189.576, 18.621, 192.427 }, { 2.54, 18.720, 193.496, 18.987, 196.346 }, { 2.54, 19.087, 197.415, 19.353, 200.266 }, { 2.54, 19.453, 201.335, 19.719, 204.186 }, { 2.54, 19.819, 205.255, 20.085, 205.255 } }; //------------------------------------------------------------------------------ // PHA scintillator layer containment volume locations in Z // There are 22 active layers in the PHA. All coordinates are relative to // the front face of the PLG* containment volume. //------------------------------------------------------------------------------ float const PHA_ACTIVE_Z[22] = { 45.403, 52.388, 59.373, 66.358, 73.343, 80.328, 87.313, 94.298, 101.283, 108.268, 115.253, 122.238, 129.223, 136.208, 143.193, 150.178, 157.163, 164.148, 171.133, 178.118, 185.102, 192.087 }; //------------------------------------------------------------------------------ // PHA absorber layer containment volume locations in Z // There are 23 absorber layers in the PHA. All coordinates are relative to // the front face of the PLG* containment volume. //------------------------------------------------------------------------------ float const PHA_ABSORB_Z[23] = { 41.910, 48.895, 55.880, 62.865, 69.850, 76.835, 83.820, 90.805, 97.790, 104.775, 111.760, 118.745, 125.730, 132.715, 139.700, 146.685, 153.670, 160.655, 167.640, 174.625, 181.610, 188.595, 195.580 }; //------------------------------------------------------------------------------ // Showermax detector parameters. // This detector is made of a containment volume, lexan and scintillator layers //------------------------------------------------------------------------------ float const PEM_SHOWER_MAX[3] = {10.4, 138.708, 0.9175}; float const PEM_SHOWER_LEX[3] = {10.4, 138.708, 0.15875}; float const PEM_SHOWER_SCINT[3] = {10.4, 138.708, 0.600}; #endif