27 m_MucStrip = other.m_MucStrip;
33 if(
this == &other)
return *
this;
35 m_MucStrip = other.m_MucStrip;
70 if( m_MucStrip !=
NULL )
delete m_MucStrip;
80 else m_Theta = ( MUC_PI/4.0 ) + (
m_ID - 1) * MUC_PI / 8.0 ;
96 else m_Rout = E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(
m_Layer==0)?0:1];
103 if(
m_ID == -1 )
m_Rc = sqrt(2.0) * ( E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(
m_Layer==0)?0:1] ) / 2.0;
116 if( (
m_Layer+1)%2 == 0 ) offset = 2*B_BOX_DZ[1];
117 else offset = 2*B_BOX_DT[1];
126 m_W = (B_BOX_WT[
m_Layer] - offset - B_PHISTR_CUT)/2.0;
134 m_W = E_AS_RMAX - E_BOX_DR - E_GP_DX - (E_STRPLN_DA + E_STRPLN_DB[(
m_Layer==0)?0:1]);
146 m_H = E_AS_RMAX - E_BOX_DR - E_GP_DY - (E_STRPLN_DA + E_STRPLN_DB[(
m_Layer==0)?0:1]);
149 m_H = E_AS_RMAX - E_BOX_DR - E_GP_RMIN[
m_Layer] - E_STRPLN_DR - E_STRPLN_DB[(
m_Layer==0)?0:1];
150 if(
m_ID==1)
m_H += (E_STR_DST+5.0)/sqrt(2.0);
151 m_H += 4*OVERLAP_WIDTH;
163 if(
m_ID == -1)
m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN];
168 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN];
184 m_Wu -= VALUE*(E_STR_DST+5.0)/sqrt(2.0);
187 m_Wu = VALUE *
m_Rin - E_GP_DY - E_STRPLN_DA;
189 m_Wu = VALUE *
m_Rin - E_GP_DX - E_STRPLN_DA;
207 m_Wd += VALUE*(E_STR_DST+5.0)/sqrt(2.0);
210 m_Wd = VALUE *
m_Rout - E_GP_DY - E_STRPLN_DA;
212 m_Wd = VALUE *
m_Rout - E_GP_DX - E_STRPLN_DA;
216 m_Wd += 4*OVERLAP_WIDTH;
235 x = (E_AS_RMAX - E_BOX_DR + E_GP_DX) / 2.0;
236 y = (E_AS_RMAX - E_BOX_DR + E_GP_DY) / 2.0;
239 x = (E_AS_RMAX+E_GP_DX+E_STRPLN_DA -E_BOX_DR-E_STRPLN_DB[(
m_Layer==0)?0:1])/2.0;
240 y = (E_AS_RMAX+E_GP_DY+E_STRPLN_DA -E_BOX_DR-E_STRPLN_DB[(
m_Layer==0)?0:1])/2.0;
250 for(
int i=0; i<
m_Layer+1; i++ ) z += E_AS_TH[i];
253 z += (E_AS_ZMAX - E_AS_TOTAL_TH + z) + AS_GAP/2.0;
278 x = E_GP_DX + E_STRPLN_DA +
m_W/2.0;
279 y = E_GP_DY + E_STRPLN_DA +
m_H/2.0;
281 else if(
m_ID == 0 ) {
285 else if (
m_ID ==1 ) {
304 for(
int i=0; i<2; i++ )
321 if(
m_ID == 2)
x = 0.0;
322 else if(
m_ID == 0)
x = (B_PHISTR_CUT +
m_W)/2.0;
323 else x = -(B_PHISTR_CUT +
m_W)/2.0;
double tan(const BesAngle a)
double sin(const BesAngle a)
double cos(const BesAngle a)
const double B_ZSTR_CUT[2]
MucEntity & operator=(const MucEntity &other)
MucStripPlane(int part, int segment, int layer, int id)
MucStrip * GetStrip(int id)
virtual void SetObjOrgInLoc()
virtual void SetObjOrgInBes()
virtual void SetLocOrgInBes()
MucStripPlane & operator=(const MucStripPlane &other)
virtual void SetAlignment(double dx, double dy, double dz)