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