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