11#include "MucGeoCreateAlg/MucGeoConst.h"
12#include "MucGeoCreateAlg/MucBox.h"
21 m_MucStripPlane = NULL;
29 m_MucStripPlane = other.m_MucStripPlane;
30 m_MucRpc = other.m_MucRpc;
31 m_MucBoxCover = other.m_MucBoxCover;
42 m_MucRpc = other.m_MucRpc;
43 m_MucBoxCover = other.m_MucBoxCover;
44 m_MucStripPlane = other.m_MucStripPlane;
52 delete m_MucStripPlane;
83 if( m_MucStripPlane != NULL )
84 return m_MucStripPlane;
91 if( m_MucRpc != NULL )
99 if( m_MucBoxCover != NULL )
100 delete m_MucBoxCover;
116 m_Theta = ( MUC_PI/4.0 ) + (
m_ID - 1) * MUC_PI / 8.0 ;
138 m_Rout = E_AS_RMAX - E_BOX_DR;
148 m_Rc = sqrt(2.0) * ( E_AS_RMAX - E_BOX_DR ) / 2.0;
170 m_W = ( B_BOX_WT[
m_Layer] - B_BOX_SLOT_WT )/2.0;
176 m_W = E_AS_RMAX - E_BOX_DR - E_GP_DX;
189 m_H = E_AS_RMAX - E_BOX_DR - E_GP_DY;
192 m_H = E_AS_RMAX - E_BOX_DR - E_GP_RMIN[
m_Layer] + OVERLAP_WIDTH;
195 m_H = E_AS_RMAX - E_BOX_DR - E_GP_RMIN[
m_Layer];
228 m_Wu -= 2*VALUE*(2.0/2);
229 m_Wu += OVERLAP_WIDTH;
236 if(
m_ID != -1 )
m_Wu+=OVERLAP_WIDTH;
251 m_Wd += 2*VALUE*(2.0/2);
252 m_Wd += OVERLAP_WIDTH;
259 if(
m_ID != -1 )
m_Wd+=OVERLAP_WIDTH;
292 x = (E_AS_RMAX + E_GP_DX) / 2.0;
293 y = (E_AS_RMAX + E_GP_DY) / 2.0;
297 x = (E_AS_RMAX - E_BOX_DR + E_GP_DX) / 2.0;
298 y = (E_AS_RMAX - E_BOX_DR + E_GP_DY) / 2.0;
308 for(
int i=0; i<
m_Layer+1; i++ ) z += E_AS_TH[i];
311 z += (E_AS_ZMAX - E_AS_TOTAL_TH) + AS_GAP/2.0;
321 for(
int i=0;i<3;i++) {
357 if(
m_ID == 2 )
x = 0.;
358 else x = (1-2*
m_ID) * ( B_BOX_WT[
m_Layer] + B_BOX_SLOT_WT )/4.0;
363 else z = ( B_BOX_LT - B_TOPRPC_LTS[(
m_Layer==0)?1:(
m_Layer%2)] )/2.0;
372 for(
int i=0; i<3; i++ ) {
384 x = (E_AS_RMAX - E_BOX_DR + E_GP_DX) / 2.0;
385 y = (E_AS_RMAX - E_BOX_DR + E_GP_DY) / 2.0;
413 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)