Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MucStripPlane Class Reference

#include <MucStripPlane.h>

Inheritance diagram for MucStripPlane:

MucEntity MucEntity List of all members.

Public Member Functions

double GetArea ()
double GetArea ()
double GetH ()
double GetH ()
int GetID ()
int GetID ()
double GetL ()
double GetL ()
int GetLayer ()
int GetLayer ()
double * GetLocOrgInBes ()
double GetLocOrgInBes (int i)
double * GetLocOrgInBes ()
double GetLocOrgInBes (int i)
double * GetObjOrgInBes ()
double GetObjOrgInBes (int i)
double * GetObjOrgInBes ()
double GetObjOrgInBes (int i)
double * GetObjOrgInLoc ()
double GetObjOrgInLoc (int i)
double * GetObjOrgInLoc ()
double GetObjOrgInLoc (int i)
double * GetObjRotToMot ()
double GetObjRotToMot (int i)
double * GetObjRotToMot ()
double GetObjRotToMot (int i)
int GetPart ()
int GetPart ()
double GetRc ()
double GetRc ()
double GetRin ()
double GetRin ()
double GetRout ()
double GetRout ()
int GetRpcId ()
int GetRpcId ()
int GetSegment ()
int GetSegment ()
MucStripGetStrip (int id)
MucStripGetStrip (int id)
double GetTheta ()
double GetTheta ()
double GetThin ()
double GetThin ()
int GetUpDown ()
int GetUpDown ()
double GetW ()
double GetW ()
double GetWd ()
double GetWd ()
double GetWu ()
double GetWu ()
 MucStripPlane (const MucStripPlane &other)
 MucStripPlane (int part, int segment, int layer, int id)
 MucStripPlane (const MucStripPlane &other)
 MucStripPlane (int part, int segment, int layer, int id)
MucStripPlaneoperator= (const MucStripPlane &other)
MucStripPlaneoperator= (const MucStripPlane &other)
virtual void SetAlignment (double dx, double dy, double dz)
virtual void SetAlignment (double dx, double dy, double dz)
void TransBesToLoc (double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
void TransBesToLoc (double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
void TransLocToBes (double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
void TransLocToBes (double LocCoord[], double BesCoord[], double LocOrgInBes[], double Rot_z)
virtual ~MucStripPlane ()
virtual ~MucStripPlane ()

Protected Member Functions

virtual void Init ()
virtual void Init ()
virtual void SetArea ()
virtual void SetArea ()
virtual void SetH ()
virtual void SetH ()
virtual void SetL ()
virtual void SetL ()
virtual void SetLocOrgInBes ()
virtual void SetLocOrgInBes ()
virtual void SetObjOrgInBes ()
virtual void SetObjOrgInBes ()
virtual void SetObjOrgInLoc ()
virtual void SetObjOrgInLoc ()
virtual void SetObjRotToMot ()
virtual void SetObjRotToMot ()
virtual void SetRc ()
virtual void SetRc ()
virtual void SetRin ()
virtual void SetRin ()
virtual void SetRout ()
virtual void SetRout ()
virtual void SetTheta ()
virtual void SetTheta ()
virtual void SetThin ()
virtual void SetThin ()
virtual void SetW ()
virtual void SetW ()
virtual void SetWd ()
virtual void SetWd ()
virtual void SetWu ()
virtual void SetWu ()

Protected Attributes

double m_Area
double m_H
int m_ID
double m_L
int m_Layer
double m_LocOrgInBes [3]
double m_ObjOrgInBes [3]
double m_ObjOrgInLoc [3]
double m_ObjRotToMot [3]
int m_Part
double m_Rc
double m_Rin
double m_Rout
int m_RpcId
int m_Segment
double m_Theta
double m_Thin
int m_UpDown
double m_W
double m_Wd
double m_Wu

Private Attributes

MucStripm_MucStrip
MucStripm_MucStrip

Constructor & Destructor Documentation

MucStripPlane::MucStripPlane int  part,
int  segment,
int  layer,
int  id
 

00017                                                                        : MucEntity( part, segment, layer, id )
00018 {
00019         MucStripPlane::Init();
00020         m_MucStrip = NULL;
00021 }

MucStripPlane::MucStripPlane const MucStripPlane other  ) 
 

00024                                                          : MucEntity( other )
00025 {
00026         m_MucStrip      = other.m_MucStrip;
00027 }

MucStripPlane::~MucStripPlane  )  [virtual]
 

00044 {       
00045         delete m_MucStrip;
00046 }

MucStripPlane::MucStripPlane int  part,
int  segment,
int  layer,
int  id
 

MucStripPlane::MucStripPlane const MucStripPlane other  ) 
 

virtual MucStripPlane::~MucStripPlane  )  [virtual]
 


Member Function Documentation

double MucEntity::GetArea  )  [inherited]
 

double MucEntity::GetArea  )  [inherited]
 

00150 { return m_Area;        }

double MucEntity::GetH  )  [inherited]
 

double MucEntity::GetH  )  [inherited]
 

00146 { return m_H;           }

int MucEntity::GetID  )  [inherited]
 

int MucEntity::GetID  )  [inherited]
 

00139 { return m_ID;          }

double MucEntity::GetL  )  [inherited]
 

double MucEntity::GetL  )  [inherited]
 

00147 { return m_L;           }

int MucEntity::GetLayer  )  [inherited]
 

int MucEntity::GetLayer  )  [inherited]
 

00136 { return m_Layer;       }

double* MucEntity::GetLocOrgInBes  )  [inherited]
 

double MucEntity::GetLocOrgInBes int  i  )  [inherited]
 

double * MucEntity::GetLocOrgInBes  )  [inherited]
 

00176 { return &m_LocOrgInBes[0]; }

double MucEntity::GetLocOrgInBes int  i  )  [inherited]
 

00153 {
00154         if( i<1 || i>3 ) i=1;
00155         return m_LocOrgInBes[i-1];
00156 }

double* MucEntity::GetObjOrgInBes  )  [inherited]
 

double MucEntity::GetObjOrgInBes int  i  )  [inherited]
 

double * MucEntity::GetObjOrgInBes  )  [inherited]
 

00178 { return &m_ObjOrgInBes[0]; }

double MucEntity::GetObjOrgInBes int  i  )  [inherited]
 

00165 {
00166         if( i<1 || i>3 ) i=1;
00167         return m_ObjOrgInBes[i-1];
00168 }

double* MucEntity::GetObjOrgInLoc  )  [inherited]
 

double MucEntity::GetObjOrgInLoc int  i  )  [inherited]
 

double * MucEntity::GetObjOrgInLoc  )  [inherited]
 

00179 { return &m_ObjOrgInLoc[0]; }

double MucEntity::GetObjOrgInLoc int  i  )  [inherited]
 

00171 {
00172         if( i<1 || i>3 ) i=1;
00173         return m_ObjOrgInLoc[i-1];
00174 }

double* MucEntity::GetObjRotToMot  )  [inherited]
 

double MucEntity::GetObjRotToMot int  i  )  [inherited]
 

double * MucEntity::GetObjRotToMot  )  [inherited]
 

00177 { return &m_ObjRotToMot[0]; }

double MucEntity::GetObjRotToMot int  i  )  [inherited]
 

00159 {
00160         if( i<1 || i>3 ) i=1;
00161         return m_ObjRotToMot[i-1];
00162 }

int MucEntity::GetPart  )  [inherited]
 

int MucEntity::GetPart  )  [inherited]
 

00134 { return m_Part;        }

double MucEntity::GetRc  )  [inherited]
 

double MucEntity::GetRc  )  [inherited]
 

00143 { return m_Rc;          }

double MucEntity::GetRin  )  [inherited]
 

double MucEntity::GetRin  )  [inherited]
 

00141 { return m_Rin;         }

double MucEntity::GetRout  )  [inherited]
 

double MucEntity::GetRout  )  [inherited]
 

00142 { return m_Rout;        }

int MucEntity::GetRpcId  )  [inherited]
 

int MucEntity::GetRpcId  )  [inherited]
 

00138 { return m_RpcId;       }

int MucEntity::GetSegment  )  [inherited]
 

int MucEntity::GetSegment  )  [inherited]
 

00135 { return m_Segment;     }

MucStrip* MucStripPlane::GetStrip int  id  ) 
 

MucStrip * MucStripPlane::GetStrip int  id  ) 
 

00071 {
00072         if( m_MucStrip != NULL ) delete m_MucStrip;
00073 
00074         return ( m_MucStrip = new MucStrip( m_Part, m_Segment, m_Layer, id ) );
00075 }

double MucEntity::GetTheta  )  [inherited]
 

double MucEntity::GetTheta  )  [inherited]
 

00140 { return m_Theta;       }

double MucEntity::GetThin  )  [inherited]
 

double MucEntity::GetThin  )  [inherited]
 

00144 { return m_Thin;        } 

int MucEntity::GetUpDown  )  [inherited]
 

int MucEntity::GetUpDown  )  [inherited]
 

00137 { return m_UpDown;      }

double MucEntity::GetW  )  [inherited]
 

double MucEntity::GetW  )  [inherited]
 

00145 { return m_W;           }

double MucEntity::GetWd  )  [inherited]
 

double MucEntity::GetWd  )  [inherited]
 

00149 { return m_Wd;          }

double MucEntity::GetWu  )  [inherited]
 

double MucEntity::GetWu  )  [inherited]
 

00148 { return m_Wu;          }

virtual void MucStripPlane::Init  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::Init  )  [protected, virtual]
 

Reimplemented from MucEntity.

00050 {
00051         SetTheta();
00052         SetRin();
00053         SetRout();
00054         SetRc();
00055 
00056         SetThin();
00057         SetW();
00058         SetWu();
00059         SetWd();
00060         SetH();
00061         SetL();
00062 
00063         SetLocOrgInBes();
00064         SetObjOrgInBes();
00065         SetObjOrgInLoc();
00066 }

MucStripPlane& MucStripPlane::operator= const MucStripPlane other  ) 
 

MucStripPlane & MucStripPlane::operator= const MucStripPlane other  ) 
 

00031 {
00032         if( this == &other)
00033                 return *this;
00034 
00035         MucEntity::operator =(other);
00036 
00037         m_MucStrip      = other.m_MucStrip;
00038 
00039         return *this;   
00040 }

virtual void MucStripPlane::SetAlignment double  dx,
double  dy,
double  dz
[virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetAlignment double  dx,
double  dy,
double  dz
[virtual]
 

Reimplemented from MucEntity.

00378 {
00379         
00380         if( m_Part == BRID || m_ID == -1 )
00381         {
00382                 m_ObjOrgInLoc[0] += dx;
00383                 m_ObjOrgInLoc[1] += dy;
00384                 m_ObjOrgInLoc[2] += dz;
00385         }
00386 }

virtual void MucEntity::SetArea  )  [protected, virtual, inherited]
 

Reimplemented in MucBox, MucStrip, MucBox, and MucStrip.

void MucEntity::SetArea  )  [protected, virtual, inherited]
 

Reimplemented in MucBox, MucStrip, MucBox, and MucStrip.

00212 { m_Area        = 0.;   }

virtual void MucStripPlane::SetH  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetH  )  [protected, virtual]
 

Reimplemented from MucEntity.

00158 {
00159         if( m_Part == BRID )
00160                 m_H = STR_TH;
00161         else
00162         {
00163                 if( m_ID == -1 ) // temparory strip plane
00164                         m_H = E_AS_RMAX - E_BOX_DR - E_GP_DY - (E_STRPLN_DA + E_STRPLN_DB[(m_Layer==0)?0:1]);
00165                 else
00166                 {
00167                         m_H = E_AS_RMAX - E_BOX_DR - E_GP_RMIN[m_Layer] - E_STRPLN_DR - E_STRPLN_DB[(m_Layer==0)?0:1];
00168                         if(m_ID==1) m_H += (E_STR_DST+5.0)/sqrt(2.0);
00169 
00170                         m_H += 4*OVERLAP_WIDTH;
00171                 }
00172         }
00173 }

virtual void MucStripPlane::SetL  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetL  )  [protected, virtual]
 

Reimplemented from MucEntity.

00176 {
00177         if( m_Part == BRID )
00178         {
00179            if( m_Segment == B_TOP )
00180            {
00181                 // 0,1,2,3,7: CUT = 1; 2,4,6,8: CUT = 0;   
00182                 if( m_ID == -1) m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN];
00183                 else if( m_ID == 2 ) m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN] - B_ZSTR_CUT[(m_Layer==0)?1:(m_Layer%2)];
00184                 else            m_L = B_ZSTR_CUT[(m_Layer==0)?1:(m_Layer%2)];
00185            }
00186            else    
00187                 m_L = B_BOX_LT - 2*B_BOX_DZ[SL_DOWN];
00188         }       
00189         else
00190                 m_L = STR_TH;
00191 }

virtual void MucStripPlane::SetLocOrgInBes  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetLocOrgInBes  )  [protected, virtual]
 

Reimplemented from MucEntity.

00245 {
00246         double x, y, z=0;
00247 
00248         if( m_Part == BRID )
00249         {
00250                 x = m_Rc*cos( m_Theta );
00251                 y = m_Rc*sin( m_Theta );
00252                 z = 0.;
00253         } // barrel
00254         else
00255         {
00256                 //-------------- set x and y ----------------------
00257                 // segment 0 as reference
00258                 if( m_ID == -1 )
00259                 {       
00260                         x = (E_AS_RMAX - E_BOX_DR + E_GP_DX) / 2.0;
00261                         y = (E_AS_RMAX - E_BOX_DR + E_GP_DY) / 2.0;                     
00262                 }
00263                 else
00264                 {
00265                         x = (E_AS_RMAX+E_GP_DX+E_STRPLN_DA -E_BOX_DR-E_STRPLN_DB[(m_Layer==0)?0:1])/2.0;
00266                         y = (E_AS_RMAX+E_GP_DY+E_STRPLN_DA -E_BOX_DR-E_STRPLN_DB[(m_Layer==0)?0:1])/2.0;
00267                 }
00268         
00269                 // x, y signs of coordinate different by segment 
00270                 if( m_Segment == 0 )       {    ;               }
00271                 else if ( m_Segment == 1 ) {    x = -x;         }
00272                 else if ( m_Segment == 2 ) {    x = -x; y = -y; }
00273                 else                       {    y = -y;         }
00274 
00275                 //-------------- set z -----------------------------
00276                 for( int i=0; i<m_Layer+1; i++ ) z += E_AS_TH[i];
00277 
00278                 z += m_Layer * AS_GAP;
00279                 z += (E_AS_ZMAX - E_AS_TOTAL_TH + z) + AS_GAP/2.0;
00280                 z *= cos( m_Part*MUC_PI/2.0 );
00281 
00282         }// endcap
00283 
00284         m_LocOrgInBes[0] = x;
00285         m_LocOrgInBes[1] = y;
00286         m_LocOrgInBes[2] = z;
00287 
00288         // limit cut
00289         for(int i=0;i<3;i++) {
00290                 if( fabs(m_LocOrgInBes[i]) < ERR_LIMIT ) m_LocOrgInBes[i] = 0.;
00291         }
00292 }

virtual void MucStripPlane::SetObjOrgInBes  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetObjOrgInBes  )  [protected, virtual]
 

Reimplemented from MucEntity.

00295 {
00296         if( m_Part == BRID )
00297         {
00298                 for( int i=0; i<3; i++ )
00299                         m_ObjOrgInBes[i] = m_LocOrgInBes[i];
00300         }
00301         else // endcap
00302         {
00303                 //------------- set x and y --------------------
00304                 // segment 0 as reference 
00305                 double x, y;
00306                 if( m_ID == -1 )
00307                 {
00308                         x = E_GP_DX + E_STRPLN_DA + m_W/2.0;
00309                         y = E_GP_DY + E_STRPLN_DA + m_H/2.0;
00310                 }
00311                 else if( m_ID == 0 )
00312                 {
00313                         x = m_Rc;
00314                         y = ( m_Rc * tan( m_Theta ) + E_GP_DY + E_STRPLN_DA ) / 2.0;
00315                 }
00316                 else if ( m_ID ==1 )
00317                 {
00318                         x = m_Rc * cos( m_Theta );
00319                         y = m_Rc * sin( m_Theta );
00320                 }
00321                 else // m_ID == 2
00322                 {
00323                         x = ( m_Rc / tan( m_Theta ) + E_GP_DX + E_STRPLN_DA ) / 2.0;
00324                         y = m_Rc;
00325                 }
00326 
00327                 // x, y signs of coordinate different by segment 
00328                 if( m_Segment == 0 )       {    ;               }
00329                 else if ( m_Segment == 1 ) {    x = -x;         }
00330                 else if ( m_Segment == 2 ) {    x = -x; y = -y; }
00331                 else                       {    y = -y;         }
00332 
00333                 m_ObjOrgInBes[0] = x;   
00334                 m_ObjOrgInBes[1] = y;
00335 
00336                 // limit cut
00337                 for( int i=0; i<2; i++ ) {
00338                         if( fabs(m_ObjOrgInBes[i]) < ERR_LIMIT ) m_ObjOrgInBes[i] = 0.;
00339                 }
00340 
00341                 // ---------------- set z ----------------------
00342                 m_ObjOrgInBes[2] = m_LocOrgInBes[2];
00343 
00344         } // else, endcap
00345 }

virtual void MucStripPlane::SetObjOrgInLoc  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetObjOrgInLoc  )  [protected, virtual]
 

Reimplemented from MucEntity.

00348 {
00349         double x, y, z;
00350         if( m_Part == BRID )
00351         {
00352                 if( m_Segment == B_TOP && m_ID !=-1 )
00353                 {
00354                         // x
00355                         if(m_ID == 2)      x = 0.0;
00356                         else if(m_ID == 0) x = (B_PHISTR_CUT + m_W)/2.0;
00357                         else               x = -(B_PHISTR_CUT + m_W)/2.0;
00358 
00359                         // y
00360                         y = 0.0;
00361 
00362                         // z
00363                         if(m_ID == 2)      z =  - B_ZSTR_CUT[(m_Layer==0)?1:(m_Layer%2)]/2.0;
00364                         else               z =  B_BOX_LT/2.0 - B_BOX_DZ[SL_DOWN] - B_ZSTR_CUT[(m_Layer==0)?1:(m_Layer%2)]/2;
00365 
00366                         m_ObjOrgInLoc[0] = x;
00367                         m_ObjOrgInLoc[1] = y;
00368                         m_ObjOrgInLoc[2] = z;
00369                 }
00370                 else    
00371                 {       for(int i=0; i<3; i++) m_ObjOrgInLoc[i] = 0.;  }
00372         }       
00373         else
00374                 for(int i=0; i<3; i++) m_ObjOrgInLoc[i] = m_ObjOrgInBes[i] - m_LocOrgInBes[i];
00375 }

virtual void MucEntity::SetObjRotToMot  )  [protected, virtual, inherited]
 

Reimplemented in MucAbsorber, MucBox, MucGap, MucAbsorber, MucBox, and MucGap.

void MucEntity::SetObjRotToMot  )  [protected, virtual, inherited]
 

Reimplemented in MucAbsorber, MucBox, MucGap, MucAbsorber, MucBox, and MucGap.

00215 { for( int i=0; i<3; i++) m_ObjRotToMot[i] = 0.; }

virtual void MucStripPlane::SetRc  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetRc  )  [protected, virtual]
 

Reimplemented from MucEntity.

00113 {
00114         if( m_Part == BRID )
00115                 m_Rc = B_AS_RMIN[m_Layer] - AS_GAP/2.0;
00116         else
00117         {
00118                 if( m_ID == -1 )
00119                         m_Rc = sqrt(2.0) * ( E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(m_Layer==0)?0:1] ) / 2.0;
00120                 else
00121                         m_Rc = (m_Rin + m_Rout)/2.0;
00122         }
00123 }

virtual void MucStripPlane::SetRin  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetRin  )  [protected, virtual]
 

Reimplemented from MucEntity.

00092 {
00093         if( m_Part == BRID )
00094                 m_Rin = B_AS_RMIN[m_Layer] - ( AS_GAP + STR_TH ) / 2.0;
00095         else
00096         {
00097                 if( m_ID == -1 )
00098                         m_Rin = 0.;
00099                 else
00100                         m_Rin = E_GP_RMIN[m_Layer] + E_STRPLN_DR;
00101         }
00102 }

virtual void MucStripPlane::SetRout  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetRout  )  [protected, virtual]
 

Reimplemented from MucEntity.

00105 {
00106         if( m_Part == BRID )
00107                 m_Rout = B_AS_RMIN[m_Layer] - ( AS_GAP - STR_TH ) / 2.0;
00108         else
00109                 m_Rout = E_AS_RMAX - E_BOX_DR - E_STRPLN_DB[(m_Layer==0)?0:1];
00110 }

virtual void MucStripPlane::SetTheta  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetTheta  )  [protected, virtual]
 

Reimplemented from MucEntity.

00079 {
00080         if( m_Part == BRID )
00081                 m_Theta = m_Segment * ( MUC_PI/4.0 );
00082         else
00083         {
00084                 if( m_ID == -1 )
00085                         m_Theta = ( 2*m_Segment + 1 ) * ( MUC_PI/4.0 );
00086                 else
00087                         m_Theta = ( MUC_PI/4.0 ) + ( m_ID - 1) * MUC_PI / 8.0 ;
00088         }
00089 }

virtual void MucStripPlane::SetThin  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetThin  )  [protected, virtual]
 

Reimplemented from MucEntity.

00126 {
00127         m_Thin = STR_TH;
00128 }

virtual void MucStripPlane::SetW  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetW  )  [protected, virtual]
 

Reimplemented from MucEntity.

00131 {
00132         double offset = 0;
00133         if( (m_Layer+1)%2 == 0 ) offset = 2*B_BOX_DZ[1]; // even layers
00134         else                     offset = 2*B_BOX_DT[1]; // odd layers
00135 
00136         if( m_Part == BRID)
00137         {       
00138            if( m_Segment == B_TOP ) 
00139            {               
00140                 if(m_ID == -1 || m_ID == 2)
00141                         m_W = B_BOX_WT[m_Layer] - offset;
00142                 else
00143                         m_W = (B_BOX_WT[m_Layer] - offset - B_PHISTR_CUT)/2.0;  
00144            }       
00145            else
00146                  m_W = B_BOX_WT[m_Layer] - offset;
00147         }       
00148         else
00149         {
00150                 if( m_ID == -1 ) // temparory strip plane  
00151                         m_W = E_AS_RMAX - E_BOX_DR - E_GP_DX - (E_STRPLN_DA + E_STRPLN_DB[(m_Layer==0)?0:1]);
00152                 else
00153                         m_W = 0.;
00154         }
00155 }

virtual void MucStripPlane::SetWd  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetWd  )  [protected, virtual]
 

Reimplemented from MucEntity.

00217 {
00218          if( m_Part == BRID )
00219                 m_Wd = m_W;
00220         else
00221         {       
00222                 if( m_ID == -1 )     // temparory strip plane
00223                         m_Wd = m_W;
00224                 else if( m_ID == 1 ) // center panel 
00225                 {       
00226                         m_Wd = 2 * VALUE * m_Rout;
00227                         // zoom in with a small dimension for covering strips 
00228                         m_Wd += VALUE*(E_STR_DST+5.0)/sqrt(2.0);
00229                 }       
00230                 else if( m_ID == 0 )
00231                         m_Wd = VALUE * m_Rout - E_GP_DY - E_STRPLN_DA;
00232                 else
00233                         m_Wd = VALUE * m_Rout - E_GP_DX - E_STRPLN_DA;
00234 
00235                 // for "AND" operation of panels
00236                 //m_Wd += (VALUE + 1.0)*OVERLAP_WIDTH;
00237                 m_Wd += 4*OVERLAP_WIDTH;
00238         }
00239 }

virtual void MucStripPlane::SetWu  )  [protected, virtual]
 

Reimplemented from MucEntity.

void MucStripPlane::SetWu  )  [protected, virtual]
 

Reimplemented from MucEntity.

00194 {
00195         if( m_Part == BRID )
00196                 m_Wu = m_W;
00197         else
00198         {       
00199                 if( m_ID == -1 )     //  temparory strip plane 
00200                         m_Wu = m_W;
00201                 else if( m_ID == 1 ) // center panel
00202                 {       
00203                         m_Wu = 2 * VALUE * m_Rin ;
00204                         m_Wu -= VALUE*(E_STR_DST+5.0)/sqrt(2.0);
00205                 }       
00206                 else if( m_ID == 0 )
00207                         m_Wu = VALUE * m_Rin - E_GP_DY - E_STRPLN_DA;
00208                 else
00209                         m_Wu = VALUE * m_Rin - E_GP_DX - E_STRPLN_DA;
00210 
00211                 //m_Wu += (1-VALUE)*OVERLAP_WIDTH;
00212                 //m_Wu += 2*OVERLAP_WIDTH;
00213         }
00214 }

void MucEntity::TransBesToLoc double  LocCoord[],
double  BesCoord[],
double  LocOrgInBes[],
double  Rot_z
[inherited]
 

void MucEntity::TransBesToLoc double  LocCoord[],
double  BesCoord[],
double  LocOrgInBes[],
double  Rot_z
[inherited]
 

00224 {
00225        LocCoord[0] = (BesCoord[0] - LocOrgInBes[0])*cos(Rot_z) + (BesCoord[1] - LocOrgInBes[1])*sin(Rot_z);
00226        LocCoord[1] = -(BesCoord[0] - LocOrgInBes[0])*sin(Rot_z) + (BesCoord[1] - LocOrgInBes[1])*cos(Rot_z);
00227        LocCoord[2] = BesCoord[2] - LocOrgInBes[2];
00228 }

void MucEntity::TransLocToBes double  LocCoord[],
double  BesCoord[],
double  LocOrgInBes[],
double  Rot_z
[inherited]
 

void MucEntity::TransLocToBes double  LocCoord[],
double  BesCoord[],
double  LocOrgInBes[],
double  Rot_z
[inherited]
 

00233 {
00234         BesCoord[0] = LocCoord[0]*cos(Rot_z) - LocCoord[1]*sin(Rot_z) + LocOrgInBes[0];
00235         BesCoord[1] = LocCoord[0]*sin(Rot_z) + LocCoord[1]*cos(Rot_z) + LocOrgInBes[1];
00236         BesCoord[2] = LocCoord[2] + LocOrgInBes[2];
00237 }


Member Data Documentation

double MucEntity::m_Area [protected, inherited]
 

double MucEntity::m_H [protected, inherited]
 

int MucEntity::m_ID [protected, inherited]
 

double MucEntity::m_L [protected, inherited]
 

int MucEntity::m_Layer [protected, inherited]
 

double MucEntity::m_LocOrgInBes [protected, inherited]
 

MucStrip* MucStripPlane::m_MucStrip [private]
 

MucStrip* MucStripPlane::m_MucStrip [private]
 

double MucEntity::m_ObjOrgInBes [protected, inherited]
 

double MucEntity::m_ObjOrgInLoc [protected, inherited]
 

double MucEntity::m_ObjRotToMot [protected, inherited]
 

int MucEntity::m_Part [protected, inherited]
 

double MucEntity::m_Rc [protected, inherited]
 

double MucEntity::m_Rin [protected, inherited]
 

double MucEntity::m_Rout [protected, inherited]
 

int MucEntity::m_RpcId [protected, inherited]
 

int MucEntity::m_Segment [protected, inherited]
 

double MucEntity::m_Theta [protected, inherited]
 

double MucEntity::m_Thin [protected, inherited]
 

int MucEntity::m_UpDown [protected, inherited]
 

double MucEntity::m_W [protected, inherited]
 

double MucEntity::m_Wd [protected, inherited]
 

double MucEntity::m_Wu [protected, inherited]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:37:15 2011 for BOSS6.5.5 by  doxygen 1.3.9.1