10#define MUC_GEO_CONST_H
18static const double MUC_PI = 3.141592653589793;
19static const double BETA = MUC_PI/8.0;
20static const double VALUE =
tan(BETA);
21static const double ERR_LIMIT = 0.01;
23static const double MAX_FRACTION = 0.8;
24static const double E_OFFSET_MAX[3] = {45.0, 5.0, 5.0 };
25static const double B_X_MAX[3] = { 8.0,
29static const double B_Y_MAX = 5.0;
30static const double B_Z_MAX = 5.0;
32static const double STR_OFFSET_MAX[3] = {5.0, 5.0, 2.0};
36static const int PART_MAX = 3;
37static const int BOX_MAX = 136;
38static const int STRIP_MAX = 9152;
39static const int STRIP_INBOX_MAX = 112;
41static const int EEID = 0;
42static const int BRID = 1;
43static const int EWID = 2;
44static const int SL_NUM = 2;
45static const int SL_UP = 0;
46static const int SL_DOWN = 1;
47static const int ROTA_FLAG = 1;
48static const int XSTR = 0;
49static const int YSTR = 1;
50static const int ZSTR = 2;
51static const int PHISTR = 3;
52static const int BKLT_NUM = 2;
53static const double BOX_TH = 28.0;
54static const double RPC_TH = 6.0;
55static const double GAS_TH = 2.0;
56static const double BKLT_TH = 2.0;
57static const double BOX_COVER_TH = 1.5;
58static const double STR_TH = 1.0;
59static const double STR_GAP = 2.0;
60static const double AS_GAP = 40.0;
61static const double RPC_SL_OFFSET = 5.0;
63static const double RPC_DEATH_EDGE = 22.0;
64static const double OVERLAP_WIDTH = 4.0;
66static const int BOX_PER_PART[PART_MAX] = {32, 72, 32};
67static const int BOX_PER_SEG[PART_MAX] = {8, 9, 8};
68static const int BOX_SUM[PART_MAX] = {32, 104, 136};
69static const int STR_PER_PART[3] = { 2048, 5056, 2048 };
70static const int B_STR_PER_SEG[2] = { 624, 688 };
71static const int STR_SUM[3] = { 2048, 7104, 9152 };
74static const int E_SEG_NUM = 4;
75static const int E_LAY_NUM = 8;
76static const int E_ASLAY_NUM = 9;
77static const int E_PANEL_NUM = 3;
80static const int E_STR_NUM = 64;
81static const double E_STR_DST = 35;
82static const int E_RPC_NUM[SL_NUM] = {3,5};
84static const double E_XSTR_OFFSET = 97.5;
85static const double E_YSTR_OFFSET = 87.5;
86static const double E_STR_WT = E_STR_DST - STR_GAP;
88static const double E_AS_ZMAX = 2800.0;
89static const double E_AS_RMAX = 2500.0;
90static const double E_AS_TOTAL_TH = 750;
91static const double E_AS_TH[E_ASLAY_NUM] = {40,40,30,30,30,50,80,80,50};
92static const double E_AS_RMIN[E_ASLAY_NUM] = {1034,1067,1100,1133,1167,1203,1241,1302,1302};
94static const double E_GP_RMIN[E_LAY_NUM] = {1067,1100,1133,1167,1203,1241,1302,1362};
95static const double E_GP_DX = 40.0;
96static const double E_GP_DY = 50.0;
97static const double E_BOX_DR = 130.0;
99static const double E_STRPLN_DA = 16.0;
100static const double E_STRPLN_DB[2] = { 53.0,41.0 };
101static const double E_STRPLN_DR = 26.0;
104static const int B_SEG_NUM = 8;
105static const int B_LAY_NUM = 9;
106static const int B_AS_NUM = 1;
107static const int B_GP_NUM = 1;
108static const int B_STR_PANEL_NUM = 3;
109static const int B_RPC_NUM = 4;
110static const int B_TOP_RPC_NUM = 5;
111static const int B_TOP = 2;
113static const int B_ZSTR_NUM = 48;
114static const int B_PHISTR_NUM = 96;
115static const int B_TOPSTR_NUM = 112;
116static const int B_ZSTR_CUT_NUM[B_LAY_NUM] = {16, 0, 12, 0, 11, 0, 10, 0, 9};
117static const int B_PHISTR_CUT_NUM = 80;
118static const double B_ZSTR_CUT[2] = {540,610};
119static const double B_PHISTR_CUT = 642;
120static const double B_STR_DST[B_LAY_NUM] = {20,39,27,39,30,39,33,39,37};
121static const double B_PHI[B_SEG_NUM] = { -2, -1, 0, 1, 2, -1, 0, 1 };
122static const double B_AS_RMAX = 2620.0;
123static const double B_AS_LMAX = 3940.0;
124static const double B_AS_RMIN[B_LAY_NUM] = {1740,1810,1880,1950,2030,2110,2230,2350,2470};
125static const double B_AS_WT[B_LAY_NUM] = {1293.3,1351.3,1409.3,1467.3,1533.3,1599.3,1699.3,1797.3,1919.3};
126static const double B_AS_TH[B_LAY_NUM] = {30,30,30,40,40,80,80,80,150};
128static const double B_GP_DZ = 70.0;
129static const double B_GP_LT = 3940.0;
131static const double B_GP_WT[B_LAY_NUM] = {1266,1314,1372,1430,1496,1562,1652,1762,1860};
132static const double B_BOX_LT = B_GP_LT - 2*B_GP_DZ;
133static const double B_BOX_WT[B_LAY_NUM] = {1050,1300,1360,1416,1484,1548,1640,1748,1848};
134static const double B_BOX_DZ[SL_NUM] = {46,41};
135static const double B_BOX_DT[SL_NUM] = {31,26};
136static const double B_BOX_SLOT_WT = 560;
137static const double B_GP_SLOT_WT = 422;
138static const double B_GP_SLOT_LT = 542;
140static const double B_RPC_LTN = 1112;
141static const double B_RPC_LTS = 1050;
142static const double B_TOPRPC_LTN = 1112;
143static const double B_TOPRPC_LTS[2] = {540,610};
double tan(const BesAngle a)