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 "MucCalibAlg/MucEntityCal.h"
00015
00016 using namespace std;
00017
00018 const int TURN_STR_ID[8][2] = { {11,29},{11,30},{12,30},{12,32},{12,33},{12,34},{13,36},{14,38} };
00019 const double FIRST_TURN_HEAD[8][2] = { {1092,1092}, {1126,1120}, {1158,1158}, {1193,1179},
00020 {1228,1220}, {1267,1267}, {1327,1327}, {1388,1385} };
00021 const double SECOND_TURN_HEAD[2] = {56,66};
00022 const int TURN_POINT_NUM = 26;
00023 const double ODD_TURN_POINT_TAIL[2][2] = { {2317,2304},{2329,2321} };
00024 const double EVEN_TURN_POINT_TAIL[2] = {2329,2329};
00025
00026
00027 class MucStripCal : public MucEntityCal
00028 {
00029 public:
00030
00031 MucStripCal( int part, int segment, int layer,int id );
00032 MucStripCal( const MucStripCal &other );
00033 MucStripCal& operator =( const MucStripCal &other );
00034 virtual ~MucStripCal();
00035
00036 int GetType();
00037 double GetCenterLine();
00038 double GetHead();
00039 double GetTail();
00040 double GetPhi();
00041 int GetPadNumber();
00042
00043 protected:
00044
00045 virtual void Init();
00046
00047 void SetType();
00048 void SetCenterLine();
00049 void SetHead();
00050 void SetTail();
00051 void SetPhi();
00052
00053 virtual void SetThin();
00054 virtual void SetW();
00055 virtual void SetWu();
00056 virtual void SetWd();
00057 virtual void SetH();
00058 virtual void SetL();
00059 virtual void SetArea();
00060
00061 void SetPadNumber();
00062
00063 private:
00064
00065
00066 int m_Type;
00067 double m_CenterLine;
00068 double m_Head;
00069 double m_Tail;
00070 double m_Phi;
00071 int m_PadNumber;
00072 };
00073
00074 #endif