#include <MucBakelite.h>
|
| | MucBakelite (int part, int segment, int layer, int upDown, int rpcId, int id) |
| | MucBakelite (const MucBakelite &other) |
| MucBakelite & | operator= (const MucBakelite &other) |
| | ~MucBakelite () |
| double | GetPhi () |
| | MucEntity (int part, int segment, int layer) |
| | MucEntity (int part, int segment, int layer, int id) |
| | MucEntity (int part, int segment, int layer, int upDown, int id) |
| | MucEntity (int part, int segment, int layer, int upDown, int rpcId, int id) |
| | MucEntity (const MucEntity &other) |
| MucEntity & | operator= (const MucEntity &other) |
| virtual | ~MucEntity () |
| int | GetPart () |
| int | GetSegment () |
| int | GetLayer () |
| int | GetUpDown () |
| int | GetRpcId () |
| int | GetID () |
| double | GetTheta () |
| double | GetRin () |
| double | GetRout () |
| double | GetRc () |
| double | GetThin () |
| double | GetW () |
| double | GetH () |
| double | GetL () |
| double | GetWu () |
| double | GetWd () |
| double | GetArea () |
| double | GetLocOrgInBes (int i) |
| double | GetObjRotToMot (int i) |
| double | GetObjOrgInBes (int i) |
| double | GetObjOrgInLoc (int i) |
| double * | GetLocOrgInBes () |
| double * | GetObjRotToMot () |
| double * | GetObjOrgInLoc () |
| double * | GetObjOrgInBes () |
| void | TransBesToLoc (double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z) |
| void | TransLocToBes (double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z) |
Definition at line 18 of file MucBakelite.h.
◆ MucBakelite() [1/2]
| MucBakelite::MucBakelite |
( |
int | part, |
|
|
int | segment, |
|
|
int | layer, |
|
|
int | upDown, |
|
|
int | rpcId, |
|
|
int | id ) |
◆ MucBakelite() [2/2]
◆ ~MucBakelite()
| MucBakelite::~MucBakelite |
( |
| ) |
|
◆ GetPhi()
| double MucBakelite::GetPhi |
( |
| ) |
|
◆ Init()
| void MucBakelite::Init |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 40 of file MucBakelite.cxx.
40 {
46
53
56
60}
virtual void SetObjOrgInBes()
virtual void SetObjOrgInLoc()
virtual void SetLocOrgInBes()
Referenced by MucBakelite().
◆ operator=()
Definition at line 28 of file MucBakelite.cxx.
28 {
29 if ( this == &other ) return *this;
32
33 return *this;
34}
MucEntity & operator=(const MucEntity &other)
◆ SetBarrelRpcInBes()
| int MucBakelite::SetBarrelRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 315 of file MucBakelite.cxx.
315 {
317
320
322 {
323
324 double r;
325 r = ( B_AS_RMIN[
m_Layer] - AS_GAP / 2.0 ) +
326 ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0;
329
330
332 {
334 z = ( 2 *
m_UpDown - 1 ) * 3 * B_RPC_LTN / 2.0;
335 else z = ( 2 *
m_UpDown - 1 ) * 3 * B_RPC_LTS / 2.0;
336 }
338 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] - ( 1 + 2 *
m_RpcId ) * B_RPC_LTN / 2.0;
339 else
340 z = -B_BOX_LT / 2.0 + B_BOX_DZ[
m_UpDown] + ( 1 + 2 * ( 3 -
m_RpcId ) ) * B_RPC_LTN / 2.0;
341 }
342 else
343 {
344
347 else
348 x = ( 1 - 2 *
m_RpcId ) * ( ( B_BOX_WT[
m_Layer] + B_BOX_SLOT_WT ) / 4.0 +
350
351
352 y = ( B_AS_RMIN[
m_Layer] - AS_GAP / 2.0 ) +
353 ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0;
354
355
357 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] -
360 z = -B_RPC_LTN - B_TOPRPC_LTS[( (
m_Layer == 0 ) ? 1 : (
m_Layer % 2 ) )];
362 z = B_RPC_LTN - B_TOPRPC_LTS[( (
m_Layer == 0 ) ? 1 : (
m_Layer % 2 ) )];
364 z = B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] -
366 ( 3 - 2 *
m_RpcId ) * B_RPC_LTN / 2.0;
367 else
368 z = -B_BOX_LT / 2.0 - B_BOX_DZ[
m_UpDown] + ( 1 + 2 * ( 4 -
m_RpcId ) ) * B_RPC_LTN / 2.0;
369 }
370
374
375
376 for ( int i = 0; i < 2; i++ )
377 {
379 }
380
381 return 0;
382}
double sin(const BesAngle a)
double cos(const BesAngle a)
Referenced by Init(), and SetLocOrgInBes().
◆ SetEndcapRpcInBes()
| int MucBakelite::SetEndcapRpcInBes |
( |
| ) |
|
|
protected |
Definition at line 384 of file MucBakelite.cxx.
384 {
386
389
390
392 {
394 {
395 x = ( VALUE *
m_Rc + E_GP_DX + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
397 }
399 {
401 y =
m_Rc *
sin( MUC_PI / 4.0 );
402 }
403 else
404 {
406 y = ( VALUE *
m_Rc + E_GP_DY + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
407 }
408 }
409 else
410 {
412 {
413 case 0:
414 x = ( VALUE *
m_Rc + E_GP_DX + E_STRPLN_DA ) / 2.0 + RPC_DEATH_EDGE / 2.0;
416 break;
417 case 1:
419 x += RPC_DEATH_EDGE * ( 3 - 2 * sqrt( 2.0 ) ) / 4.0;
421 y += RPC_DEATH_EDGE * ( 1 + 4.0 / sqrt( 2.0 ) ) / 4.0;
422 break;
423 case 2:
425 y =
m_Rc *
sin( MUC_PI / 4.0 );
426 break;
427 case 3:
429 x += RPC_DEATH_EDGE * ( 1 + 4.0 / sqrt( 2.0 ) ) / 4.0;
430 y = VALUE *
m_Rc +
sin( MUC_PI / 4.0 ) *
m_Wd / 4.0;
431 y += RPC_DEATH_EDGE * ( 3 - 2 * sqrt( 2.0 ) ) / 4.0;
432 break;
433 case 4:
435 y = ( VALUE *
m_Rc + E_GP_DY + E_STRPLN_DA ) / 2.0 + RPC_DEATH_EDGE / 2.0;
436 }
437 }
438
439
443 {
445 y = -y;
446 }
447 else { y = -y; }
448
449
450 for (
int i = 0; i <
m_Layer + 1; i++ ) z += E_AS_TH[i];
451
453 z += ( ( E_AS_ZMAX - E_AS_TOTAL_TH ) + AS_GAP / 2.0 );
454 z += ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0;
456
460
461
462 for ( int i = 0; i < 2; i++ )
463 {
465 }
466
467 return 0;
468}
Referenced by Init(), and SetLocOrgInBes().
◆ SetH()
| void MucBakelite::SetH |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 174 of file MucBakelite.cxx.
174 {
176 else
177 {
179
180
182 m_H -= RPC_DEATH_EDGE * ( 1 + 1.0 / VALUE );
183 else m_H -= RPC_DEATH_EDGE * 2.0;
184 }
185}
Referenced by Init().
◆ SetL()
| void MucBakelite::SetL |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 187 of file MucBakelite.cxx.
187 {
189 {
191 {
192
194 {
196 m_L = B_BOX_LT - 2 * B_BOX_DZ[
m_UpDown] - 3 * B_RPC_LTN;
197 else
198 m_L = B_BOX_LT - 2 * B_BOX_DZ[
m_UpDown] - 3 * B_RPC_LTS;
199 }
200 else
201 {
204 else
206 }
207 }
208 else
209 {
211 {
213 }
216 {
218 2 * ( B_BOX_DZ[
m_UpDown] + B_RPC_LTN );
219 }
220 else m_L = B_RPC_LTN;
221
222 }
223
224 m_L -= RPC_DEATH_EDGE * 2.0;
225
226 }
227 else
228 {
230 }
231}
Referenced by Init().
◆ SetLocOrgInBes()
| void MucBakelite::SetLocOrgInBes |
( |
| ) |
|
|
protectedvirtual |
◆ SetObjOrgInBes()
| void MucBakelite::SetObjOrgInBes |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 492 of file MucBakelite.cxx.
492 {
494
495
496 for ( int i = 0; i < 3; i++ )
497 {
499 }
500}
void TransLocToBes(double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
Referenced by Init().
◆ SetObjOrgInLoc()
| void MucBakelite::SetObjOrgInLoc |
( |
| ) |
|
|
protectedvirtual |
◆ SetPhi()
| void MucBakelite::SetPhi |
( |
| ) |
|
|
protectedvirtual |
◆ SetRc()
| void MucBakelite::SetRc |
( |
| ) |
|
|
protectedvirtual |
◆ SetRin()
| void MucBakelite::SetRin |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 90 of file MucBakelite.cxx.
90 {
93 ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0 +
94 ( 1 - 2 *
m_ID ) * ( GAS_TH + BKLT_TH ) / 2.0 - BKLT_TH / 2.0;
95 else
97}
Referenced by Init().
◆ SetRout()
| void MucBakelite::SetRout |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 99 of file MucBakelite.cxx.
99 {
102 ( 1 - 2 *
m_UpDown ) * ( STR_TH + RPC_TH ) / 2.0 +
103 ( 1 - 2 *
m_ID ) * ( GAS_TH + BKLT_TH ) / 2.0 + BKLT_TH / 2.0;
104 else
105 m_Rout = E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(
m_Layer == 0 ) ? 0 : 1] +
107}
Referenced by Init().
◆ SetTheta()
| void MucBakelite::SetTheta |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 74 of file MucBakelite.cxx.
74 {
76 else
77 {
79 else
80 {
82 m_Theta = ( MUC_PI / 4.0 ) + MUC_PI / 8.0;
85 else m_Theta = ( MUC_PI / 4.0 ) - MUC_PI / 8.0;
86 }
87 }
88}
Referenced by Init().
◆ SetThin()
| void MucBakelite::SetThin |
( |
| ) |
|
|
protectedvirtual |
◆ SetW()
| void MucBakelite::SetW |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 113 of file MucBakelite.cxx.
113 {
115 {
117 {
118 if ( (
m_Layer + 1 ) % 2 == 1 )
120 B_BOX_SLOT_WT ) /
121 2.0;
122 else
124 }
125 else
126 {
127 if ( (
m_Layer + 1 ) % 2 == 1 )
129 else
131 }
132 }
133 else
134 {
136 {
137 if (
m_RpcId == 0 )
m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
139 else m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
140 }
141 else
142 {
144 {
145 case 0:
m_W = VALUE *
m_Rc - E_GP_DX - E_STRPLN_DA;
break;
146 case 1:
148 case 2:
m_W = 2 * VALUE *
m_Rin;
break;
149 case 4:
m_W = VALUE *
m_Rc - E_GP_DY - E_STRPLN_DA;
break;
150 default:;
151 }
152 }
153 }
154
155
157 else
158 {
160 {
161 if (
m_RpcId == 1 )
m_W -= RPC_DEATH_EDGE * 2.0;
162 else m_W -= ( 1 + 1.0 /
cos( MUC_PI / 8.0 ) ) * RPC_DEATH_EDGE;
163 }
164 else
165 {
167 m_W -= RPC_DEATH_EDGE * 2.0;
168 else
169 m_W -= RPC_DEATH_EDGE;
170 }
171 }
172}
Referenced by Init().
◆ SetWd()
| void MucBakelite::SetWd |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 275 of file MucBakelite.cxx.
275 {
277 else
278 {
280 {
281 if (
m_RpcId == 0 )
m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
283 else m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
284 }
285 else
286 {
288 {
289 case 0:
m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA;
break;
290 case 1:
292 case 2:
m_Wd = 2.0 * VALUE *
m_Rin;
break;
293 case 4:
m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA;
break;
294 default:;
295 }
296 }
297
298
300 {
302 else m_Wd -= ( 1 + 1.0 /
cos( MUC_PI / 8.0 ) ) * RPC_DEATH_EDGE;
303 }
304 else
305 {
307 m_Wd -= RPC_DEATH_EDGE * 2.0;
308 else
309 m_Wd -= RPC_DEATH_EDGE;
310 }
311 }
312}
Referenced by Init().
◆ SetWu()
| void MucBakelite::SetWu |
( |
| ) |
|
|
protectedvirtual |
Reimplemented from MucEntity.
Definition at line 233 of file MucBakelite.cxx.
233 {
235 else
236 {
238 {
239 if (
m_RpcId == 0 )
m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
241 else m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
242 }
243 else
244 {
246 {
247 case 0:
m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA;
break;
248 case 1:
249 case 3:
m_Wu = 0.0;
break;
250 case 2:
m_Wu = 2.0 * VALUE *
m_Rin;
break;
251 case 4:
m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA;
break;
252 default:;
253 }
254 }
255
256
258 {
260 {
262 else m_Wu -= ( 1 + 1.0 /
cos( MUC_PI / 8.0 ) ) * RPC_DEATH_EDGE;
263 }
264 else
265 {
267 m_Wu -= RPC_DEATH_EDGE * 2.0;
268 else
269 m_W -= RPC_DEATH_EDGE;
270 }
271 }
272 }
273}
Referenced by Init().
The documentation for this class was generated from the following files: