21 m_MucStripPlane =
NULL;
29 m_MucStripPlane = other.m_MucStripPlane;
30 m_MucRpc = other.m_MucRpc;
31 m_MucBoxCover = other.m_MucBoxCover;
37 if(
this == &other)
return *
this;
40 m_MucRpc = other.m_MucRpc;
41 m_MucBoxCover = other.m_MucBoxCover;
42 m_MucStripPlane = other.m_MucStripPlane;
50 delete m_MucStripPlane;
80 if( m_MucStripPlane !=
NULL )
81 return m_MucStripPlane;
88 if( m_MucRpc !=
NULL )
delete m_MucRpc;
94 if( m_MucBoxCover !=
NULL )
delete m_MucBoxCover;
105 else m_Theta = ( MUC_PI/4.0 ) + (
m_ID - 1) * MUC_PI / 8.0 ;
121 else m_Rout = E_AS_RMAX - E_BOX_DR;
128 if(
m_ID == -1 )
m_Rc = sqrt(2.0) * ( E_AS_RMAX - E_BOX_DR ) / 2.0;
149 m_W = ( B_BOX_WT[
m_Layer] - B_BOX_SLOT_WT )/2.0;
155 m_W = E_AS_RMAX - E_BOX_DR - E_GP_DX;
168 m_H = E_AS_RMAX - E_BOX_DR - E_GP_DY;
170 m_H = E_AS_RMAX - E_BOX_DR - E_GP_RMIN[
m_Layer] + OVERLAP_WIDTH;
172 m_H = E_AS_RMAX - E_BOX_DR - E_GP_RMIN[
m_Layer];
205 m_Wu -= 2*VALUE*(2.0/2);
206 m_Wu += OVERLAP_WIDTH;
213 if(
m_ID != -1 )
m_Wu+=OVERLAP_WIDTH;
228 m_Wd += 2*VALUE*(2.0/2);
229 m_Wd += OVERLAP_WIDTH;
236 if(
m_ID != -1 )
m_Wd+=OVERLAP_WIDTH;
264 x = (E_AS_RMAX + E_GP_DX) / 2.0;
265 y = (E_AS_RMAX + E_GP_DY) / 2.0;
269 x = (E_AS_RMAX - E_BOX_DR + E_GP_DX) / 2.0;
270 y = (E_AS_RMAX - E_BOX_DR + E_GP_DY) / 2.0;
280 for(
int i=0; i<
m_Layer+1; i++ ) z += E_AS_TH[i];
283 z += (E_AS_ZMAX - E_AS_TOTAL_TH) + AS_GAP/2.0;
293 for(
int i=0;i<3;i++) {
327 if(
m_ID == 2 )
x = 0.;
328 else x = (1-2*
m_ID) * ( B_BOX_WT[
m_Layer] + B_BOX_SLOT_WT )/4.0;
332 else z = ( B_BOX_LT - B_TOPRPC_LTS[(
m_Layer==0)?1:(
m_Layer%2)] )/2.0;
341 for(
int i=0; i<3; i++ )
350 x = (E_AS_RMAX - E_BOX_DR + E_GP_DX) / 2.0;
351 y = (E_AS_RMAX - E_BOX_DR + E_GP_DY) / 2.0;
353 else if(
m_ID == 0 ) {
357 else if (
m_ID ==1 ) {
376 for(
int i=0; i<2; i++ )
double tan(const BesAngle a)
double sin(const BesAngle a)
double cos(const BesAngle a)
virtual void SetAlignment(double dx, double dy, double dz)
MucBox(int part, int segment, int layer, int id)
virtual void SetObjOrgInLoc()
virtual void SetObjOrgInBes()
MucRpc * GetRpc(int upDown, int id)
MucBoxCover * GetBoxCover(int upDown, int id)
virtual void SetLocOrgInBes()
virtual void SetObjRotToMot()
MucStripPlane * GetStripPlane()
MucBox & operator=(const MucBox &other)
MucEntity & operator=(const MucEntity &other)