BOSS 8.0.0
BESIII Offline Software System
Loading...
Searching...
No Matches
MucRpc.cxx
Go to the documentation of this file.
1//------------------------------------------------------------------------------|
2// [File ]: MucRpc.cxx |
3// [Brief ]: MUC geometry RPC creating class |
4// [Author]: Xie Yuguang, <ygxie@mail.ihep.ac.cn> |
5// [Date ]: May 22, 2005 |
6//------------------------------------------------------------------------------|
7
8#include <cmath>
9#include <iostream>
10
13
14using namespace std;
15
16// Constructor
17MucRpc::MucRpc( int part, int segment, int layer, int upDown, int id )
18 : MucEntity( part, segment, layer, upDown, id ) {
20 m_MucGas = NULL;
21 m_MucBakelite = NULL;
22}
23
24// Copy constructor
25MucRpc::MucRpc( const MucRpc& other ) : MucEntity( other ) {
26 m_Phi = other.m_Phi;
27 m_MucGas = other.m_MucGas;
28 m_MucBakelite = other.m_MucBakelite;
29}
30
31// Operator =
33 if ( this == &other ) return *this;
34 MucEntity::operator=( other );
35 m_Phi = other.m_Phi;
36 m_MucGas = other.m_MucGas;
37 m_MucBakelite = other.m_MucBakelite;
38
39 return *this;
40}
41
42// Destructor
44 delete m_MucGas;
45 delete m_MucBakelite;
46}
47
48// Initialize
50 SetPhi();
51 SetTheta();
52 SetRin();
53 SetRout();
54 SetRc();
55
56 SetThin();
57 SetW();
58 SetWu();
59 SetWd();
60 SetH();
61 SetL();
62
65
69}
70
71// -------------------------- Get methods ----------------------------
72double MucRpc::GetPhi() { return m_Phi; }
73
75 if ( m_MucGas != NULL ) delete m_MucGas;
76 return ( m_MucGas = new MucGas( m_Part, m_Segment, m_Layer, m_UpDown, m_ID, 0 ) );
77}
78
80 if ( m_MucBakelite != NULL ) delete m_MucBakelite;
81 return ( m_MucBakelite =
83}
84
85// ---------------------------Set motheds -----------------------------
87 if ( m_Part == BRID ) m_Phi = B_PHI[m_Segment] * ( MUC_PI / 4.0 );
88 else m_Phi = 0.;
89}
90
92 if ( m_Part == BRID ) m_Theta = m_Segment * ( MUC_PI / 4.0 );
93 else
94 {
95 if ( m_UpDown == SL_UP ) m_Theta = ( MUC_PI / 4.0 ) + ( 1 - m_ID ) * MUC_PI / 8.0;
96 else
97 {
98 if ( m_ID < 2 ) // RPC NO.1 and NO.2
99 m_Theta = ( MUC_PI / 4.0 ) + MUC_PI / 8.0;
100 else if ( m_ID == 2 ) // center RPC, NO.3
101 m_Theta = ( MUC_PI / 4.0 );
102 else m_Theta = ( MUC_PI / 4.0 ) - MUC_PI / 8.0;
103 }
104 }
105}
106
108 if ( m_Part == BRID )
109 m_Rin = B_AS_RMIN[m_Layer] - AS_GAP / 2.0 +
110 ( 1 - 2 * m_UpDown ) * ( STR_TH / 2.0 + m_UpDown * RPC_TH );
111 else m_Rin = E_GP_RMIN[m_Layer] + E_STRPLN_DR + ( 1 - m_UpDown ) * RPC_SL_OFFSET;
112}
113
115 if ( m_Part == BRID )
116 m_Rout = B_AS_RMIN[m_Layer] - AS_GAP / 2.0 +
117 ( 1 - 2 * m_UpDown ) * ( STR_TH / 2.0 + ( 1 - m_UpDown ) * RPC_TH );
118 else
119 m_Rout = E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[( m_Layer == 0 ) ? 0 : 1] +
120 ( m_UpDown - 1 ) * RPC_SL_OFFSET;
121}
122
123void MucRpc::SetRc() { m_Rc = ( m_Rin + m_Rout ) / 2.0; }
124
125void MucRpc::SetThin() { m_Thin = RPC_TH; }
126
128 if ( m_Part == BRID )
129 {
130 if ( m_Segment == B_TOP && m_ID < 2 ) // the first 2 RPCs in top segment
131 {
132 if ( ( m_Layer + 1 ) % 2 == 1 ) // odd layer
133 m_W = ( B_BOX_WT[m_Layer] - 2 * B_BOX_DT[m_UpDown] - 2 * B_BOX_DZ[m_UpDown] -
134 B_BOX_SLOT_WT ) /
135 2.0;
136 else // even layer
137 m_W = ( B_BOX_WT[m_Layer] - 4 * B_BOX_DZ[m_UpDown] - B_BOX_SLOT_WT ) / 2.0;
138 }
139 else // other RPCs
140 {
141 if ( ( m_Layer + 1 ) % 2 == 1 ) // odd layer
142 m_W = B_BOX_WT[m_Layer] - 2 * B_BOX_DT[m_UpDown];
143 else // even layer
144 m_W = B_BOX_WT[m_Layer] - 2 * B_BOX_DZ[m_UpDown];
145 }
146 } // end barrel
147 else
148 {
149 if ( m_UpDown == SL_UP ) // up super layer RPCs
150 {
151 if ( m_ID == 0 ) m_W = VALUE * m_Rc - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
152 else if ( m_ID == 1 ) m_W = VALUE * m_Rc * 2.0;
153 else m_W = VALUE * m_Rc - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
154 }
155 else // down super layer RPCs
156 {
157 if ( m_ID == 0 ) m_W = VALUE * m_Rc - E_GP_DX - E_STRPLN_DA;
158 else if ( m_ID == 1 || m_ID == 3 ) m_W = VALUE * ( m_Rc - m_Rin );
159 else if ( m_ID == 2 ) m_W = VALUE * m_Rin * 2.0;
160 else m_W = VALUE * m_Rc - E_GP_DY - E_STRPLN_DA;
161 }
162 } // else, endcap
163
164 // cut rpc chamber death edge
165 if ( m_Part == BRID ) m_W -= OVERLAP_WIDTH * 2.0;
166 else
167 {
168 if ( m_UpDown == SL_UP )
169 {
170 if ( m_ID == 1 ) m_W -= OVERLAP_WIDTH * 2.0; // center rpc
171 else m_W -= ( 1 + 1.0 / cos( MUC_PI / 8.0 ) ) * OVERLAP_WIDTH;
172 }
173 else
174 {
175 if ( m_ID == 2 ) // center rpc
176 m_W -= OVERLAP_WIDTH * 2.0;
177 else // DOWN 0,1,3,4 RPC
178 m_W -= OVERLAP_WIDTH;
179 }
180 }
181}
182
184 if ( m_Part == BRID ) m_H = RPC_TH;
185 else m_H = m_Rout - m_Rin;
186}
187
189 if ( m_Part == BRID ) // barrel
190 {
191 if ( m_Segment != B_TOP ) // not top segment
192 {
193 if ( ( m_UpDown == SL_UP && m_ID == 3 ) || ( m_UpDown == SL_DOWN && m_ID == 0 ) )
194 {
195 if ( m_Layer != 1 ) // not layer NO. 2
196 m_L = B_BOX_LT - 2 * B_BOX_DZ[m_UpDown] - 3 * B_RPC_LTN;
197 else m_L = B_BOX_LT - 2 * B_BOX_DZ[m_UpDown] - 3 * B_RPC_LTS;
198 }
199 else
200 {
201 if ( m_Layer != 1 ) // not layer NO. 2
202 m_L = B_RPC_LTN;
203 else m_L = B_RPC_LTS;
204 }
205 }
206 else // top segment
207 {
208 if ( m_ID < 2 ) // first two RPCs
209 {
210 if ( m_Layer == 0 ) // the first layer
211 m_L = B_TOPRPC_LTS[1];
212 else m_L = B_TOPRPC_LTS[m_Layer % 2];
213 }
214 else if ( ( m_UpDown == SL_UP && m_ID == 4 ) || ( m_UpDown == SL_DOWN && m_ID == 2 ) )
215 {
216 if ( m_Layer == 0 ) // the first layer
217 m_L = B_BOX_LT - B_TOPRPC_LTS[1] - 2 * ( B_BOX_DZ[m_UpDown] + B_TOPRPC_LTN );
218 else
219 m_L =
220 B_BOX_LT - B_TOPRPC_LTS[m_Layer % 2] - 2 * ( B_BOX_DZ[m_UpDown] + B_TOPRPC_LTN );
221 }
222 else m_L = B_TOPRPC_LTN;
223 } // end top segment
224
225 m_L -= OVERLAP_WIDTH * 2.0; // cut rpc chamber death edge
226
227 } // end barrel
228 else m_L = RPC_TH;
229}
230
232 if ( m_Part == BRID ) m_Wu = m_W;
233 else
234 {
235 if ( m_UpDown == SL_UP )
236 {
237 if ( m_ID == 0 ) m_Wu = VALUE * m_Rin - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
238 else if ( m_ID == 1 ) m_Wu = VALUE * m_Rin * 2.0;
239 else m_Wu = VALUE * m_Rin - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
240 }
241 else
242 {
243 if ( m_ID == 0 ) m_Wu = VALUE * m_Rin - E_GP_DX - E_STRPLN_DA;
244 else if ( m_ID == 1 || m_ID == 3 ) m_Wu = 0.;
245 else if ( m_ID == 2 ) m_Wu = VALUE * m_Rin * 2.0;
246 else m_Wu = VALUE * m_Rin - E_GP_DY - E_STRPLN_DA;
247 }
248
249 // cut rpc chamber death edge
250 if ( m_Wu > 0.0 ) // except for DOWN 1, 3 RPC
251 {
252 if ( m_UpDown == SL_UP )
253 {
254 if ( m_ID == 1 )
255 m_Wu += 2.0 * OVERLAP_WIDTH * ( sin( BETA ) - 1 ) / cos( BETA ); // center rpc
256 else m_Wu -= ( 1 + 1.0 / cos( BETA ) ) * OVERLAP_WIDTH;
257 }
258 else m_Wu -= 1.5 * OVERLAP_WIDTH;
259 }
260 }
261}
262
264 if ( m_Part == BRID ) m_Wd = m_W;
265 else
266 {
267 if ( m_UpDown == SL_UP )
268 {
269 if ( m_ID == 0 ) m_Wd = VALUE * m_Rout - E_GP_DX - E_STRPLN_DA - RPC_SL_OFFSET;
270 else if ( m_ID == 1 ) m_Wd = VALUE * m_Rout * 2.0;
271 else m_Wd = VALUE * m_Rout - E_GP_DY - E_STRPLN_DA - RPC_SL_OFFSET;
272 }
273 else
274 {
275 switch ( m_ID )
276 {
277 case 0: m_Wd = VALUE * m_Rout - E_GP_DX - E_STRPLN_DA; break;
278 case 1:
279 case 3: m_Wd = VALUE * ( m_Rout - m_Rin ); break;
280 case 2: m_Wd = 2 * VALUE * m_Rin; break;
281 case 4: m_Wd = VALUE * m_Rout - E_GP_DY - E_STRPLN_DA; break;
282 default:;
283 }
284 }
285
286 // cut rpc chamber death edge
287 if ( m_UpDown == SL_UP )
288 {
289 if ( m_ID == 1 )
290 m_Wd -= 2.0 * OVERLAP_WIDTH * ( sin( BETA ) + 1 ) / cos( BETA ); // center rpc
291 else m_Wd -= ( 1 + 1.0 / cos( BETA ) ) * OVERLAP_WIDTH;
292 }
293 else
294 {
295 if ( m_ID == 0 || m_ID == 4 )
296 // m_Wd -= 2.0*OVERLAP_WIDTH*(sin(BETA)-1)/cos(BETA);
297 m_Wd -= 1.5 * OVERLAP_WIDTH;
298 }
299 }
300}
301
303 if ( m_Part == BRID ) return 0;
304 else
305 {
306 double x, y, z;
307 x = y = z = 0.;
308
309 // -----------------set x and y -----------------
310 if ( m_UpDown == SL_UP ) // up super layer
311 {
312 if ( m_ID == 0 )
313 {
314 x = ( VALUE * m_Rc + E_GP_DX + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
315 y = m_Rc;
316 }
317 else if ( m_ID == 1 )
318 {
319 x = m_Rc * cos( m_Theta );
320 y = m_Rc * sin( m_Theta );
321 }
322 else
323 {
324 x = m_Rc;
325 y = ( VALUE * m_Rc + E_GP_DY + E_STRPLN_DA + RPC_SL_OFFSET ) / 2.0;
326 }
327 }
328 else // down super layer
329 {
330 if ( m_ID == 0 )
331 {
332 x = ( VALUE * m_Rc + E_GP_DX + E_STRPLN_DA ) / 2.0 + OVERLAP_WIDTH / 2.0;
333 y = m_Rc;
334 }
335 else if ( m_ID == 1 )
336 {
337 x = VALUE * m_Rc + sin( MUC_PI / 4.0 ) * m_Wd / 4.0;
338 // x += OVERLAP_WIDTH * ( 3 - 2*sqrt(2.0) )/4.0;
339 y = m_Rc - cos( MUC_PI / 4.0 ) * m_Wd / 4.0;
340 // y += OVERLAP_WIDTH * ( 1 + 4.0/sqrt(2.0) )/4.0;
341 }
342 else if ( m_ID == 2 )
343 {
344 x = m_Rc * cos( MUC_PI / 4.0 );
345 y = m_Rc * sin( MUC_PI / 4.0 );
346 }
347 else if ( m_ID == 3 )
348 {
349 x = m_Rc - cos( MUC_PI / 4.0 ) * m_Wd / 4.0;
350 // x += OVERLAP_WIDTH * ( 1 + 4.0/sqrt(2.0) )/4.0;
351 y = VALUE * m_Rc + sin( MUC_PI / 4.0 ) * m_Wd / 4.0;
352 // y += OVERLAP_WIDTH * ( 3 - 2*sqrt(2.0) )/4.0;
353 }
354 else
355 {
356 x = m_Rc;
357 y = ( VALUE * m_Rc + E_GP_DY + E_STRPLN_DA ) / 2.0 + OVERLAP_WIDTH / 2.0;
358 }
359 } // End down super layer
360
361 // x, y signs of coordinate different by segment
362 if ( m_Segment == 0 ) { ; }
363 else if ( m_Segment == 1 ) { x = -x; }
364 else if ( m_Segment == 2 )
365 {
366 x = -x;
367 y = -y;
368 }
369 else { y = -y; }
370
371 //-------------- set z -----------------------------
372 for ( int i = 0; i < m_Layer + 1; i++ ) z += E_AS_TH[i];
373
374 z += m_Layer * AS_GAP;
375 z += ( ( E_AS_ZMAX - E_AS_TOTAL_TH ) + AS_GAP / 2.0 );
376 z += ( 1 - 2 * m_UpDown ) * ( RPC_TH + STR_TH ) / 2.0;
377 z *= cos( m_Part * MUC_PI / 2.0 );
378
379 m_ObjOrgInBes[0] = x;
380 m_ObjOrgInBes[1] = y;
381 m_ObjOrgInBes[2] = z;
382
383 // limit cut
384 for ( int i = 0; i < 3; i++ )
385 if ( fabs( m_ObjOrgInBes[i] ) < ERR_LIMIT ) m_ObjOrgInBes[i] = 0.;
386
387 } // else, endcap
388
389 return 0;
390}
391
393 if ( m_Part != BRID ) return 0;
394 else
395 {
396 double x, y, z;
397 x = y = z = 0.;
398
399 if ( m_Segment != B_TOP ) // not top segment
400 {
401 //---------- set x--------
402 x = 0.;
403
404 //---------- set y--------
405 y = ( 1 - 2 * m_UpDown ) * ( RPC_TH + STR_TH ) / 2.0;
406
407 //---------- set z--------
408 if ( ( m_UpDown == SL_UP && m_ID == 3 ) || ( m_UpDown == SL_DOWN && m_ID == 0 ) )
409 {
410 if ( m_Layer != 1 ) // not layer NO.2
411 z = ( 2 * m_UpDown - 1 ) * 3 * B_RPC_LTN / 2.0;
412 else z = ( 2 * m_UpDown - 1 ) * 3 * B_RPC_LTS / 2.0;
413 }
414 else
415 {
416 if ( m_Layer != 1 ) // not layer NO.2
417 {
418 if ( m_UpDown == SL_UP )
419 z = B_BOX_LT / 2.0 - B_BOX_DZ[m_UpDown] - ( 1 + 2 * m_ID ) * B_RPC_LTN / 2.0;
420 else
421 z = -B_BOX_LT / 2.0 + B_BOX_DZ[m_UpDown] +
422 ( 1 + 2 * ( 3 - m_ID ) ) * B_RPC_LTN / 2.0;
423 }
424 else
425 {
426 if ( m_UpDown == SL_UP )
427 z = B_BOX_LT / 2.0 - B_BOX_DZ[m_UpDown] - ( 1 + 2 * m_ID ) * B_RPC_LTS / 2.0;
428 else
429 z = -B_BOX_LT / 2.0 + B_BOX_DZ[m_UpDown] +
430 ( 1 + 2 * ( 3 - m_ID ) ) * B_RPC_LTS / 2.0;
431 }
432 }
433 }
434 else // top segment
435 {
436 //---------- set x--------
437 if ( m_ID > 1 ) x = 0.;
438 else
439 x = ( 1 - 2 * m_ID ) * ( ( B_BOX_WT[m_Layer] + B_BOX_SLOT_WT ) / 4.0 +
440 ( B_BOX_DZ[m_UpDown] - B_BOX_DT[m_UpDown] ) / 2.0 );
441
442 //---------- set y--------
443 y = ( 1 - 2 * m_UpDown ) * ( RPC_TH + STR_TH ) / 2.0;
444
445 //---------- set z--------
446 if ( m_UpDown == SL_UP )
447 {
448 switch ( m_ID )
449 {
450 case 0:
451 case 1:
452 if ( m_Layer == 0 ) z = B_BOX_LT / 2.0 - B_BOX_DZ[m_UpDown] - B_TOPRPC_LTS[1] / 2.0;
453 else z = B_BOX_LT / 2.0 - B_BOX_DZ[m_UpDown] - B_TOPRPC_LTS[m_Layer % 2] / 2.0;
454 break;
455 case 2:
456 case 3:
457 if ( m_Layer == 0 )
458 z = B_BOX_LT / 2.0 - B_BOX_DZ[m_UpDown] - B_TOPRPC_LTS[1] +
459 ( 3 - 2 * m_ID ) * B_RPC_LTN / 2.0;
460 else
461 z = B_BOX_LT / 2.0 - B_BOX_DZ[m_UpDown] - B_TOPRPC_LTS[m_Layer % 2] +
462 ( 3 - 2 * m_ID ) * B_RPC_LTN / 2.0;
463 break;
464 case 4:
465 if ( m_Layer == 0 ) z = -B_RPC_LTN - B_TOPRPC_LTS[1] / 2.0;
466 else z = -B_RPC_LTN - B_TOPRPC_LTS[m_Layer % 2] / 2.0;
467 break;
468 default:;
469 }
470 }
471 else // down super layer
472 {
473 switch ( m_ID )
474 {
475 case 0:;
476 case 1:
477 if ( m_Layer == 0 ) z = B_BOX_LT / 2.0 - B_BOX_DZ[m_UpDown] - B_TOPRPC_LTS[1] / 2.0;
478 else z = B_BOX_LT / 2.0 - B_BOX_DZ[m_UpDown] - B_TOPRPC_LTS[m_Layer % 2] / 2.0;
479 break;
480 case 2:
481 if ( m_Layer == 0 ) z = B_RPC_LTN - B_TOPRPC_LTS[1] / 2.0;
482 else z = B_RPC_LTN - B_TOPRPC_LTS[m_Layer % 2] / 2.0;
483 break;
484 case 3:
485 case 4:
486 z = -B_BOX_LT / 2.0 + B_BOX_DZ[m_UpDown] +
487 ( 1 + 2 * ( 4 - m_ID ) ) * B_RPC_LTN / 2.0;
488 break;
489 default:;
490 }
491 } // else, down super layer
492 } // else, top segment
493
494 m_ObjOrgInLoc[0] = x;
495 m_ObjOrgInLoc[1] = y;
496 m_ObjOrgInLoc[2] = z;
497
498 // limit cut
499 for ( int i = 0; i < 3; i++ )
500 if ( fabs( m_ObjOrgInLoc[i] ) < ERR_LIMIT ) m_ObjOrgInLoc[i] = 0.;
501
502 } // else, barrel
503
504 return 0;
505}
506
507// Set local( box ) in BES CS
509 double x, y, z;
510 x = y = z = 0.;
511
512 if ( m_Part == BRID )
513 {
514 x = ( B_AS_RMIN[m_Layer] - AS_GAP / 2.0 ) * cos( m_Theta );
515 y = ( B_AS_RMIN[m_Layer] - AS_GAP / 2.0 ) * sin( m_Theta );
516 z = 0.;
517 } // barrel
518 else
519 {
520 //-------------- set x and y ----------------------
521 // segment 0 as reference
522 x = ( E_AS_RMAX - E_BOX_DR + E_GP_DX ) / 2.0;
523 y = ( E_AS_RMAX - E_BOX_DR + E_GP_DY ) / 2.0;
524
525 // x, y signs of coordinate different by segment
526 if ( m_Segment == 0 ) { ; }
527 else if ( m_Segment == 1 ) { x = -x; }
528 else if ( m_Segment == 2 )
529 {
530 x = -x;
531 y = -y;
532 }
533 else { y = -y; }
534
535 //-------------- set z -----------------------------
536 for ( int i = 0; i < m_Layer + 1; i++ ) z += E_AS_TH[i];
537
538 z += m_Layer * AS_GAP;
539 z += ( ( E_AS_ZMAX - E_AS_TOTAL_TH ) + AS_GAP / 2.0 );
540 z *= cos( m_Part * MUC_PI / 2.0 );
541 } // endcap
542
543 m_LocOrgInBes[0] = x;
544 m_LocOrgInBes[1] = y;
545 m_LocOrgInBes[2] = z;
546
547 // limit cut
548 for ( int i = 0; i < 3; i++ )
549 if ( fabs( m_LocOrgInBes[i] ) < ERR_LIMIT ) m_LocOrgInBes[i] = 0.;
550}
551
553 if ( m_Part == BRID )
554 {
556 // limit cut
557 for ( int i = 0; i < 3; i++ )
558 if ( fabs( m_ObjOrgInBes[i] ) < ERR_LIMIT ) m_ObjOrgInBes[i] = 0.;
559 }
560}
561
563 if ( m_Part != BRID )
564 {
566 // limit cut
567 for ( int i = 0; i < 3; i++ )
568 if ( fabs( m_ObjOrgInLoc[i] ) < ERR_LIMIT ) m_ObjOrgInLoc[i] = 0.;
569 }
570}
571
572/*
573void MucRpc::SetAlignment( double dx, double dy, double dz )
574{
575 if( m_Part == BRID || m_ID == -1 )
576 {
577 m_ObjOrgInLoc[0] += dx;
578 m_ObjOrgInLoc[1] += dy;
579 m_ObjOrgInLoc[2] += dz;
580 }
581}
582*/
583
584// END
int m_RpcId
Definition MucEntity.h:91
MucEntity(int part, int segment, int layer)
Definition MucEntity.cxx:17
double m_W
Definition MucEntity.h:101
MucEntity & operator=(const MucEntity &other)
Definition MucEntity.cxx:87
double m_Thin
Definition MucEntity.h:100
double m_Rin
Definition MucEntity.h:97
double m_H
Definition MucEntity.h:102
int m_Layer
Definition MucEntity.h:89
double m_ObjOrgInLoc[3]
Definition MucEntity.h:118
double m_Rout
Definition MucEntity.h:98
double m_Wd
Definition MucEntity.h:105
void TransBesToLoc(double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
int m_Segment
Definition MucEntity.h:88
double m_Theta
Definition MucEntity.h:94
int m_Part
Definition MucEntity.h:87
double m_LocOrgInBes[3]
Definition MucEntity.h:108
double m_Rc
Definition MucEntity.h:99
double m_ObjOrgInBes[3]
Definition MucEntity.h:117
int m_UpDown
Definition MucEntity.h:90
void TransLocToBes(double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
double m_Wu
Definition MucEntity.h:104
double m_L
Definition MucEntity.h:103
double GetPhi()
Definition MucRpc.cxx:72
virtual void SetWu()
Definition MucRpc.cxx:231
MucGas * GetGas()
Definition MucRpc.cxx:74
virtual void SetRout()
Definition MucRpc.cxx:114
virtual void SetThin()
Definition MucRpc.cxx:125
virtual void SetLocOrgInBes()
Definition MucRpc.cxx:508
MucRpc & operator=(const MucRpc &other)
Definition MucRpc.cxx:32
virtual ~MucRpc()
Definition MucRpc.cxx:43
virtual void SetW()
Definition MucRpc.cxx:127
void SetPhi()
Definition MucRpc.cxx:86
int SetBarrelRpcInLoc()
Definition MucRpc.cxx:392
int SetEndcapRpcInBes()
Definition MucRpc.cxx:302
virtual void SetTheta()
Definition MucRpc.cxx:91
virtual void SetRin()
Definition MucRpc.cxx:107
virtual void SetObjOrgInBes()
Definition MucRpc.cxx:552
virtual void SetRc()
Definition MucRpc.cxx:123
virtual void SetWd()
Definition MucRpc.cxx:263
MucBakelite * GetBakelite(int id)
Definition MucRpc.cxx:79
virtual void SetObjOrgInLoc()
Definition MucRpc.cxx:562
virtual void SetH()
Definition MucRpc.cxx:183
virtual void SetL()
Definition MucRpc.cxx:188
virtual void Init()
Definition MucRpc.cxx:49
MucRpc(int part, int segment, int layer, int upDown, int id)
Definition MucRpc.cxx:17