BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
MucStrip.cxx
Go to the documentation of this file.
1//------------------------------------------------------------------------------|
2// [File ]: MucStrip.cxx |
3// [Brief ]: Class MucStrip for MUC calibration |
4// [Author]: Xie Yuguang, <[email protected]> |
5// [Date ]: Apil 6, 2005 |
6//------------------------------------------------------------------------------|
7
8#include<iostream>
9#include<fstream>
10#include<cmath>
11
12using namespace std;
13
16
17// Constructor
18MucStrip::MucStrip( int part, int segment, int layer, int id ) : MucEntity( part, segment, layer, id )
19{
21 // m_MucPadChain = NULL;
22}
23
24// Copy constructor
25MucStrip::MucStrip( const MucStrip& other ) : MucEntity( other )
26{
27 m_Type = other.m_Type;
28 m_CenterLine = other.m_CenterLine;
29 m_Head = other.m_Head;
30 m_Tail = other.m_Tail;
31 m_Phi = other.m_Phi;
32
33 // m_MucPadChain = other.m_MucPadChain;
34}
35
36// Operator =
38{
39 if( this == &other) return *this;
40
42
43 m_Type = other.m_Type;
44 m_CenterLine = other.m_CenterLine;
45 m_Head = other.m_Head;
46 m_Tail = other.m_Tail;
47 m_Phi = other.m_Phi;
48
49 // m_MucPadChain = other.m_MucPadChain;
50
51 return *this;
52}
53
54// Destructor
56{
57 // delete m_MucPadChain;
58}
59
60// Initialize
62{
63 SetType();
64 SetW();
65 SetWu();
66 SetWd();
67 SetCenterLine(); // use strip width
68 SetHead();
69 SetTail();
70 SetPhi();
71
72 SetThin();
73 SetH();
74 SetL();
76
79
82
85}
86
87// ---------------------------------Get methods ------------------------
88int MucStrip::GetType() { return m_Type; }
89double MucStrip::GetCenterLine() { return m_CenterLine; }
90double MucStrip::GetHead() { return m_Head; }
91double MucStrip::GetTail() { return m_Tail; }
92double MucStrip::GetPhi() { return m_Phi; }
93int MucStrip::GetPadNumber() { return m_PadNumber; }
94
95/*
96MucPadChain* MucStrip::GetPadChain( )
97{
98 if( m_MucPadChain != NULL )
99 return m_MucPadChain;
100 else
101 return ( m_MucPadChain = new MucPadChain( m_Part, m_Segment, m_Layer, m_PadNumber ) );
102}
103
104*/
105
106//-----------------------------------Set methods-------------------------
107// Set strip type(readout direction)
109{
110 if( m_Part == BRID ) {
111 if( (m_Layer+1)%2 == 1 ) m_Type = ZSTR;
112 else m_Type = PHISTR;
113 }
114 else {
115 if( (m_Layer+1)%2 == 1 ) m_Type = XSTR;
116 else m_Type = YSTR;
117 }
118}
119
120// Set x or y of endcap strip certerline in BES coordinate system
122{
123 // Base on strips width and structure correlations
124 // Endcap only
125
126 int segFlag = 0;
127
128 if( (m_Layer+1)%2 == 1 ) // 1,3,5,7
129 {
130 if( m_Segment < 2 ) segFlag = 1;
131 else segFlag = -1;
132
133 if( m_ID == 0 ) m_CenterLine = segFlag * (E_GP_DY+E_STRPLN_DA+m_W/2.0); // NO.0
134 else if( m_ID != E_STR_NUM-1 ) // NO.1~62
135 m_CenterLine = segFlag * ( E_XSTR_OFFSET + m_ID*E_STR_DST );
136 else // NO.63 end strip
137 m_CenterLine = segFlag * ( E_XSTR_OFFSET + (E_STR_NUM-2)*E_STR_DST + (E_STR_DST + m_W + STR_GAP)/2);
138 }
139 else // 2,4,6,8
140 {
141 if( m_Segment%3 == 0 ) segFlag = 1;
142 else segFlag = -1;
143
144 if( m_ID == 0 ) m_CenterLine = segFlag * (E_GP_DX+E_STRPLN_DA+m_W/2.0); // NO.0
145 else if(m_ID != E_STR_NUM-1) // NO.1~62
146 m_CenterLine = segFlag * ( E_YSTR_OFFSET + m_ID*E_STR_DST );
147 else // NO.63 end strip
148 m_CenterLine = segFlag * ( E_YSTR_OFFSET + (E_STR_NUM-2)*E_STR_DST + (E_STR_DST + m_W + STR_GAP)/2);
149 }
150}
151
152// Set x and y of the head of endcap strip in BES coordinate system
154{
155 int segFlag = 0;
156
157 // base on strips width and correlations
158 if( m_ID+1 < HEAD_TURN_STR_NUM[m_Layer][0] )
159 m_Head = FIRST_TURN_HEAD[m_Layer][0];
160 else if( m_ID+1 == HEAD_TURN_STR_NUM[m_Layer][0] )
161 m_Head = FIRST_TURN_HEAD[m_Layer][1];
162 else if( (m_ID+1 > HEAD_TURN_STR_NUM[m_Layer][0]) && (m_ID+1 < HEAD_TURN_STR_NUM[m_Layer][1]) )
163 m_Head = FIRST_TURN_HEAD[m_Layer][1] - ( m_ID + 1 - HEAD_TURN_STR_NUM[m_Layer][0] )*E_STR_DST;
164 else if( m_ID+1 >= HEAD_TURN_STR_NUM[m_Layer][1] )
165 m_Head = SECOND_TURN_HEAD[m_Layer%2];
166
167
168 if( (m_Layer+1)%2 == 1 ) // 1,3,5,7
169 {
170 if( m_Segment%3 ==0 ) segFlag = 1;
171 else segFlag = -1;
172 }
173 else // 2,4,6,8
174 {
175 if( m_Segment < 2 ) segFlag = 1;
176 else segFlag = -1;
177 }
178
179 m_Head *= segFlag;
180}
181
182// Set x and y of the tail of endcap strip in BES coordinate system
184{
185 int segFlag = 0;
186
187 if( (m_Layer+1)%2 == 1 ) // 1,3,5,7
188 {
189 if( m_Segment%3 ==0 ) segFlag = 1;
190 else segFlag = -1;
191
192 if( m_ID+1 < TAIL_TURN_STR_NUM[0] )
193 m_Tail = ODD_TURN_POINT_TAIL[(m_Layer==0)?0:1][0];
194 else if( m_ID+1 == TAIL_TURN_STR_NUM[0] )
195 m_Tail = ODD_TURN_POINT_TAIL[(m_Layer==0)?0:1][1];
196 else if( m_ID+1 > TAIL_TURN_STR_NUM[0] )
197 m_Tail = ODD_TURN_POINT_TAIL[(m_Layer==0)?0:1][1]-( m_ID + 1 - TAIL_TURN_STR_NUM[0] )* E_STR_DST;
198 if( m_ID == E_STR_NUM - 1 )
199 m_Tail = ODD_TURN_POINT_TAIL[(m_Layer==0)?0:1][1]-( m_ID -TAIL_TURN_STR_NUM[0] ) * E_STR_DST - ( E_STR_DST + m_W + STR_GAP )/2;
200 }
201 else // 2,4,6,8
202 {
203 if( m_Segment < 2 ) segFlag = 1;
204 else segFlag = -1;
205
206 if( m_ID+1 < TAIL_TURN_STR_NUM[1] )
207 m_Tail = EVEN_TURN_POINT_TAIL[0];
208 if( m_ID+1 == TAIL_TURN_STR_NUM[1] )
209 m_Tail = EVEN_TURN_POINT_TAIL[1];
210 if( m_ID+1 > TAIL_TURN_STR_NUM[1] )
211 m_Tail = EVEN_TURN_POINT_TAIL[1] - ( m_ID + 1 - TAIL_TURN_STR_NUM[1] ) * E_STR_DST;
212 if( m_ID == E_STR_NUM - 1 )
213 m_Tail = EVEN_TURN_POINT_TAIL[1]-(m_ID - TAIL_TURN_STR_NUM[1]) * E_STR_DST - ( E_STR_DST + m_W + STR_GAP )/2;
214 }
215
216 m_Tail *= segFlag;
217}
218
219// Set inclination angle of local coordinate x axis and global coordinate x axis
221{
222 if ( m_Part == BRID ) // barrel
223 m_Phi = B_PHI[m_Segment] * (MUC_PI/4.0);
224 else // endcap , all phi is zer
225 m_Phi = 0.;
226}
227
228// set strip thickness
230{
231 m_Thin = STR_TH;
232}
233
234// Set strip width
236{
237 if( m_Part == BRID )
238 {
239 // Set maximum strip
240 int maxStrip;
241 if( (m_Layer+1)%2 == 1 )
242 maxStrip = B_ZSTR_NUM; // odd layer
243 else if( m_Segment != B_TOP )
244 maxStrip = B_PHISTR_NUM; // even layer not top segment
245 else
246 maxStrip = B_TOPSTR_NUM; // even layer top segment
247
248 if( (m_Layer+1)%2 == 1 ) // odd layer, z
249 {
250 if( m_ID > 0 && m_ID < (maxStrip-1)) // not marginal strip
251 m_W = B_STR_DST[m_Layer] - STR_GAP;
252 else // marginal strip
253 m_W = (B_BOX_WT[m_Layer] - 2*B_BOX_DT[SL_DOWN] - (maxStrip-2)*B_STR_DST[m_Layer] - STR_GAP)/2;
254 }
255 else // even layer, phi
256 {
257 if( m_ID >0 && m_ID < (maxStrip-1) ) // not marginal strip
258 m_W = B_STR_DST[m_Layer] - STR_GAP;
259 else // marginal strip
260 m_W = B_BOX_LT/2 - B_BOX_DZ[SL_DOWN] - B_STR_DST[m_Layer]*(B_PHISTR_NUM-2)/2;
261
262 if( (maxStrip == B_TOPSTR_NUM) && (m_ID == (B_PHISTR_NUM - 1)) ) // special marginal strip
263 m_W = B_BOX_LT/2 - B_BOX_DZ[SL_DOWN] - B_STR_DST[m_Layer]*(B_PHISTR_NUM-2)/2;
264 }
265 } // End barrel
266 else
267 {
268 // Strip0:48;
269 // Strip1~62: 33;
270 // Strip63: L0: 34; L2/4/6: 43; L1/3/5/7: 53
271 if(m_ID ==0 ) m_W = E_FIRST_STR_WT;
272 else if(m_ID != E_STR_NUM-1) m_W = E_STR_WT; // NO.1~62
273 else // NO.63, end strip
274 {
275 if((m_Layer+1)%2!=0) // 0,2,4,6
276 {
277 if(m_Layer==0) m_W = 31;
278 else m_W = 43;
279 }
280 else m_W = 53; // 1,3,5,7
281 }
282 }
283}
284
285// Set strip Wu, no use
287{
288 m_Wu = m_W;
289}
290
291// Set strip Wd, no use
293{
294 m_Wd = m_W;
295}
296
297// Set strip height
299{
300 m_H = STR_TH;
301}
302
303// Set strip length
305{
306 if( m_Part==BRID ) // barrel
307 {
308 int ZCUT_HEAD_NUM = B_ZSTR_NUM/2 - B_ZSTR_CUT_NUM[m_Layer] - 1;
309 int ZCUT_TAIL_NUM = B_ZSTR_NUM/2 + B_ZSTR_CUT_NUM[m_Layer];
310
311 if( m_Segment != B_TOP ) // not top segment
312 {
313 if( (m_Layer+1)%2 == 1) // odd layer, Z
314 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN];
315 else // even layer, phi
316 m_L = B_BOX_WT[m_Layer] - 2*B_BOX_DZ[SL_DOWN];
317 }
318 else // top segment
319 {
320 if((m_Layer+1)%2 == 1) // odd layer, z
321 {
322 if( m_ID > ZCUT_HEAD_NUM && m_ID < ZCUT_TAIL_NUM ) // be cut
323 {
324 if( m_Layer == 0 )
325 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN] - B_ZSTR_CUT[1];
326 else
327 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN] - B_ZSTR_CUT[0];
328 }
329 else // no cut
330 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN];
331 }
332 else // even layer, phi
333 {
334 if( m_ID < B_PHISTR_CUT_NUM ) // no cut
335 m_L = B_BOX_WT[m_Layer] - 2*B_BOX_DZ[SL_DOWN];
336 else // be cut
337 m_L = (B_BOX_WT[m_Layer] - 2*B_BOX_DZ[SL_DOWN] - B_PHISTR_CUT)/2;
338 }
339 } // End top segment
340 }
341 else // endcap
342 m_L = fabs( m_Head - m_Tail );
343}
344
345// Set area cm^2
347{
348 m_Area = m_W*m_L/100;
349}
350
351// Set Pad number of strip
353{
354 int n = 0;
355 double fn = 0;
356
357 if(m_W == 0) {
358 cout<<"Error, strip width = 0!"<<endl;
359 m_PadNumber = 0;
360 }
361 else
362 {
363 fn = (m_L/m_W);
364 n = (int)fn;
365
366 if( (fn - n) > 0.3 ) m_PadNumber = n + 1;
367 else m_PadNumber = n;
368 }
369}
370
371
372// Set local or temporary local(MucStripPlane) origin coordinates in BES
374{
375 double x, y, z = 0 ;
376
377 if( m_Part == BRID )
378 {
379 x = ( B_AS_RMIN[m_Layer] - AS_GAP/2.0 ) * cos( m_Segment * ( MUC_PI/4.0 ) );
380 y = ( B_AS_RMIN[m_Layer] - AS_GAP/2.0 ) * sin( m_Segment * ( MUC_PI/4.0 ) );
381 z = 0.;
382 } // barrel
383 else
384 {
385 //------------- set x and y --------------------
386 // segment 0 as reference
387 x = (E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(m_Layer==0)?0:1] + E_GP_DX + E_STRPLN_DA) / 2.0;
388 y = (E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(m_Layer==0)?0:1] + E_GP_DY + E_STRPLN_DA) / 2.0;
389
390 // x, y signs of coordinate different by segment
391 if ( m_Segment == 0 ) { ; }
392 else if ( m_Segment == 1 ) { x = -x; }
393 else if ( m_Segment == 2 ) { x = -x; y = -y; }
394 else { y = -y; }
395
396 //-------------- set z --------------------------
397 for( int i=0; i<m_Layer+1; i++ ) z += E_AS_TH[i];
398
399 z += m_Layer * AS_GAP;
400 z += (E_AS_ZMAX - E_AS_TOTAL_TH) + AS_GAP/2.0;
401 z *= cos( m_Part*MUC_PI/2.0 );
402 } // else, endcap
403
404 m_LocOrgInBes[0] = x;
405 m_LocOrgInBes[1] = y;
406 m_LocOrgInBes[2] = z;
407
408 // limit cut
409 for( int i=0; i<3; i++ )
410 if( fabs(m_LocOrgInBes[i]) < ERR_LIMIT ) m_LocOrgInBes[i] = 0;
411}
412
413/*
414void MucStrip::SetObjRotToMot()
415{
416 // The x, y and z of strip coordinate system is always parallele with those of strip plane
417 for( int i=0; i<3; i++ )
418 m_ObjRotToMot[i] = 0.0;
419}
420*/
421
422// Set endcap strip origin coordinates in global
424{
425 double x, y, z;
426
427 // Set x
428 if( (m_Layer+1)%2 == 0 ) // even layer
429 x = m_CenterLine;
430 else // odd layer
431 x = ( m_Head + m_Tail )/2;
432
433 // Set y
434 if( (m_Layer+1)%2 == 0 ) // even layer
435 y = ( m_Head + m_Tail )/2;
436 else // odd layer
437 y = m_CenterLine;
438
439 // Set z
440 z = 0.;
441 for(int i=0; i<m_Layer+1; i++) z += E_AS_TH[i];
442
443 z += m_Layer * AS_GAP;
444 z = ( (E_AS_ZMAX - E_AS_TOTAL_TH + z) + AS_GAP/2.0 ) * cos( m_Part*MUC_PI/2.0 );
445
446 m_ObjOrgInBes[0] = x;
447 m_ObjOrgInBes[1] = y;
448 m_ObjOrgInBes[2] = z;
449
450 // limit cut
451 for( int i=0; i<3; i++ )
452 if( fabs(m_ObjOrgInBes[i]) < ERR_LIMIT ) m_ObjOrgInBes[i] = 0.;
453}
454
455// Set x, y and z of barrel strip origin in local or temparory local(MucStripPlane) coordinate
457{
458 int j = m_Layer;
459 int n = m_ID;
460
461 int maxStrip = 0;
462 double x, y, z = 0;
463
464 if( m_Type == ZSTR ) maxStrip = B_ZSTR_NUM; // odd layer
465 else if( m_Segment != B_TOP ) maxStrip = B_PHISTR_NUM; // even layer not top segment
466 else maxStrip = B_TOPSTR_NUM; // even layer top segment
467
468 if( m_Segment != B_TOP ) // not top segment
469 {
470 if( m_Type == ZSTR ) // odd layer, ZSTR
471 {
472 // Set x
473 if( n == 0 )
474 x = ( B_BOX_WT[j] - 2*B_BOX_DT[SL_DOWN] + (maxStrip-2)*B_STR_DST[j] + STR_GAP )/4.0;
475 else if( n == (maxStrip-1) )
476 x = ( 2*B_BOX_DT[SL_DOWN] - B_BOX_WT[j] - (maxStrip-2)*B_STR_DST[j] - STR_GAP )/4.0;
477 else
478 x =( ((maxStrip-1) - 2*n) * B_STR_DST[j] )/2.0;
479
480 // Set y
481 y = 0.;
482
483 // Set z
484 z = 0.;
485 }
486 else // even layer, phi
487 {
488 // Set x
489 x = 0.;
490
491 // Set y
492 y = 0.;
493
494 // Set Z
495 if( n == 0 )
496 z = -B_BOX_LT/4.0 + B_BOX_DZ[SL_DOWN]/2.0 - B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
497 else if( n == (B_PHISTR_NUM - 1) )
498 z = B_BOX_LT/4.0 - B_BOX_DZ[SL_DOWN]/2.0 + B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
499 else
500 z = ( 2*n - B_PHISTR_NUM + 1 ) * B_STR_DST[j] / 2.0;
501 }
502 } // end not top segment
503 else // top segment
504 {
505 if( m_Type == ZSTR ) // odd layer, z
506 {
507 // Set x
508 if( n == 0 )
509 x = B_BOX_WT[j]/4.0 - B_BOX_DT[SL_DOWN]/2.0 + (maxStrip-2)*B_STR_DST[j]/4.0 + STR_GAP/4.0;
510 else if( n == (maxStrip-1) )
511 x = -B_BOX_WT[j]/4.0 + B_BOX_DT[SL_DOWN]/2.0 - (maxStrip-2)*B_STR_DST[j]/4.0 - STR_GAP/4.0;
512 else
513 x = ( (maxStrip-1) - 2*n ) * B_STR_DST[j] / 2.0;
514
515 // Set y
516 y = 0.;
517
518 // Set z
519 if( (n > (B_ZSTR_NUM/2 - 1 - B_ZSTR_CUT_NUM[j])) && (n < (B_ZSTR_NUM/2 + B_ZSTR_CUT_NUM[j])) ) // be cut
520 z = -( (j==0) ? B_ZSTR_CUT[1] : B_ZSTR_CUT[0] )/2;
521 else // no cut
522 z = 0.;
523 }
524 else // even layer, phi
525 {
526 // Set x
527 if( n < B_PHISTR_CUT_NUM ) // no cut
528 x = 0.;
529 else // be cut
530 {
531 if( n < B_PHISTR_NUM )
532 x = -B_BOX_WT[j]/4.0 - B_PHISTR_CUT/4.0 + B_BOX_DZ[SL_DOWN]/2.0;
533 else
534 x = B_BOX_WT[j]/4.0 + B_PHISTR_CUT/4.0 - B_BOX_DZ[SL_DOWN]/2.0;
535 }
536
537 // Set y
538 y = 0.;
539
540 // Set z
541 if( n < B_PHISTR_NUM )
542 {
543 if( n == 0 )
544 z = -B_BOX_LT/4.0 + B_BOX_DZ[SL_DOWN]/2.0 - B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
545 else if( n == (B_PHISTR_NUM - 1) )
546 z = B_BOX_LT/4.0 - B_BOX_DZ[SL_DOWN]/2.0 + B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
547 else
548 z = ( 2*n - B_PHISTR_NUM + 1 ) * B_STR_DST[j] / 2.0;
549 }
550 else
551 {
552 if( n == (B_TOPSTR_NUM-1) )
553 z = B_BOX_LT/4.0 - B_BOX_DZ[SL_DOWN]/2.0 + B_STR_DST[j]*(B_PHISTR_NUM-2)/4.0;
554 else
555 z = ( 2*n - 3*B_PHISTR_NUM + 2*B_PHISTR_CUT_NUM + 1 ) * B_STR_DST[j]/2.0;
556 }
557 } // end even
558 } // end top segment
559
560 m_ObjOrgInLoc[0] = x;
561 m_ObjOrgInLoc[1] = y;
562 m_ObjOrgInLoc[2] = z;
563
564 // limit cut
565 for( int i=0; i<3; i++ ) {
566 if( fabs(m_ObjOrgInLoc[i]) < ERR_LIMIT )
567 m_ObjOrgInLoc[i] = 0.;
568 }
569}
570
571// Set strip origin in global coordinates
573{
574 if( m_Part == BRID )
575 {
577 // limit cut
578 for( int i=0; i<3; i++ )
579 if( fabs(m_ObjOrgInBes[i]) < ERR_LIMIT ) m_ObjOrgInBes[i] = 0.0;
580 }
581}
582
583// Set strip local and global coordinates
585{
586 if( m_Part != BRID )
587 {
589 // limit cut
590 for( int i=0; i<3; i++ )
591 if( fabs(m_ObjOrgInLoc[i]) < ERR_LIMIT ) m_ObjOrgInLoc[i] = 0.;
592 }
593}
594
595// END
596
double sin(const BesAngle a)
Definition BesAngle.h:210
double cos(const BesAngle a)
Definition BesAngle.h:213
const Int_t n
Double_t x[10]
const double SECOND_TURN_HEAD[2]
Definition MucStrip.h:24
const double EVEN_TURN_POINT_TAIL[2]
Definition MucStrip.h:27
const int HEAD_TURN_STR_NUM[8][2]
Definition MucStrip.h:21
const double ODD_TURN_POINT_TAIL[2][2]
Definition MucStrip.h:26
const int TAIL_TURN_STR_NUM[2]
Definition MucStrip.h:25
const double FIRST_TURN_HEAD[8][2]
Definition MucStrip.h:22
const double E_FIRST_STR_WT
Definition MucStrip.h:28
virtual void SetObjRotToMot()
double m_W
Definition MucEntity.h:101
double m_Area
Definition MucEntity.h:106
MucEntity & operator=(const MucEntity &other)
Definition MucEntity.cxx:92
double m_Thin
Definition MucEntity.h:100
double m_H
Definition MucEntity.h:102
int m_Layer
Definition MucEntity.h:89
double m_ObjOrgInLoc[3]
Definition MucEntity.h:118
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
int m_Part
Definition MucEntity.h:87
double m_LocOrgInBes[3]
Definition MucEntity.h:108
double m_ObjOrgInBes[3]
Definition MucEntity.h:117
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 GetTail()
Definition MucStrip.cxx:91
virtual void SetWu()
Definition MucStrip.cxx:286
virtual void SetLocOrgInBes()
Definition MucStrip.cxx:373
int GetType()
Definition MucStrip.cxx:88
MucStrip(int part, int segment, int layer, int id)
Definition MucStrip.cxx:18
double GetHead()
Definition MucStrip.cxx:90
virtual void SetL()
Definition MucStrip.cxx:304
void SetPadNumber()
Definition MucStrip.cxx:352
virtual void SetWd()
Definition MucStrip.cxx:292
virtual void SetThin()
Definition MucStrip.cxx:229
virtual void SetH()
Definition MucStrip.cxx:298
void SetEndcapStripInBes()
Definition MucStrip.cxx:423
double GetPhi()
Definition MucStrip.cxx:92
void SetCenterLine()
Definition MucStrip.cxx:121
void SetType()
Definition MucStrip.cxx:108
virtual void Init()
Definition MucStrip.cxx:61
void SetBarrelStripInLoc()
Definition MucStrip.cxx:456
int GetPadNumber()
Definition MucStrip.cxx:93
virtual void SetObjOrgInBes()
Definition MucStrip.cxx:572
virtual ~MucStrip()
Definition MucStrip.cxx:55
virtual void SetArea()
Definition MucStrip.cxx:346
virtual void SetW()
Definition MucStrip.cxx:235
MucStrip & operator=(const MucStrip &other)
Definition MucStrip.cxx:37
double GetCenterLine()
Definition MucStrip.cxx:89
void SetPhi()
Definition MucStrip.cxx:220
void SetTail()
Definition MucStrip.cxx:183
void SetHead()
Definition MucStrip.cxx:153
virtual void SetObjOrgInLoc()
Definition MucStrip.cxx:584
double y[1000]