00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef MUC_STRIP_H
00010 #define MUC_STRIP_H
00011
00012 #include<iostream>
00013
00014 #include "MucGeoCreateAlg/MucEntity.h"
00015
00016
00017 using namespace std;
00018
00019
00020
00021
00022 const int HEAD_TURN_STR_NUM[8][2] = { {12,30},{12,31},{12,32},{13,33},{13,34},{14,35},{14,37},{15,39} };
00023 const double FIRST_TURN_HEAD[8][2] = { {1092.5,1062.5}, {1126,1120}, {1156,1158.5}, {1193,1179.5},
00024 {1228.5,1220}, {1267,1249}, {1327.5,1325}, {1388,1385} };
00025 const double SECOND_TURN_HEAD[2] = {56,66};
00026 const int TAIL_TURN_STR_NUM[2] = {26,27};
00027 const double ODD_TURN_POINT_TAIL[2][2] = { {2317,2304},{2328,2321} };
00028 const double EVEN_TURN_POINT_TAIL[2] = {2329,2296};
00029 const double E_FIRST_STR_WT = 48.0;
00030
00031
00032 class MucStrip : public MucEntity
00033 {
00034 public:
00035
00036 MucStrip( int part, int segment, int layer,int id );
00037 MucStrip( const MucStrip &other );
00038 MucStrip& operator =( const MucStrip &other );
00039 virtual ~MucStrip();
00040
00041 int GetType();
00042 double GetCenterLine();
00043 double GetHead();
00044 double GetTail();
00045 double GetPhi();
00046 int GetPadNumber();
00047
00048
00049
00050 protected:
00051
00052 virtual void Init();
00053
00054 void SetType();
00055 void SetCenterLine();
00056 void SetHead();
00057 void SetTail();
00058 void SetPhi();
00059
00060 virtual void SetThin();
00061 virtual void SetW();
00062 virtual void SetWu();
00063 virtual void SetWd();
00064 virtual void SetH();
00065 virtual void SetL();
00066 virtual void SetArea();
00067 void SetPadNumber();
00068
00069 void SetEndcapStripInBes();
00070 void SetBarrelStripInLoc();
00071
00072 virtual void SetLocOrgInBes();
00073
00074 virtual void SetObjOrgInBes();
00075 virtual void SetObjOrgInLoc();
00076
00077 private:
00078
00079
00080 int m_Type;
00081 double m_CenterLine;
00082 double m_Head;
00083 double m_Tail;
00084 double m_Phi;
00085 int m_PadNumber;
00086
00087
00088
00089
00090 };
00091
00092 #endif