00001 //------------------------------------------------------------------------------| 00002 // [File ]: MucStripPlane.h | 00003 // [Brief ]: Head file of MUC geometry of StripPlane class | 00004 // [Author]: Xie Yuguang, <ygxie@mail.ihep.ac.cn> | 00005 // [Date ]: May 22, 2005 | 00006 //------------------------------------------------------------------------------| 00007 00008 #ifndef MUC_STRIP_PLANE_H 00009 #define MUC_STRIP_PLANE_H 00010 00011 #include<iostream> 00012 00013 #include "MucGeoCreateAlg/MucEntity.h" 00014 #include "MucGeoCreateAlg/MucStripPlane.h" 00015 #include "MucGeoCreateAlg/MucStrip.h" 00016 00017 using namespace std; 00018 00019 class MucStripPlane : public MucEntity 00020 { 00021 public: 00022 MucStripPlane( int part, int segment, int layer, int id ); 00023 MucStripPlane( const MucStripPlane &other ); 00024 MucStripPlane& operator =( const MucStripPlane &other ); 00025 virtual ~MucStripPlane(); 00026 00027 virtual void SetAlignment( double dx, double dy, double dz ); 00028 00029 MucStrip* GetStrip( int id ); 00030 00031 protected: 00032 virtual void Init(); 00033 00034 virtual void SetTheta(); 00035 virtual void SetRc(); 00036 virtual void SetRin(); 00037 virtual void SetRout(); 00038 00039 virtual void SetThin(); 00040 virtual void SetW(); 00041 virtual void SetH(); 00042 virtual void SetL(); 00043 virtual void SetWu(); 00044 virtual void SetWd(); 00045 00046 virtual void SetLocOrgInBes(); 00047 virtual void SetObjOrgInBes(); 00048 virtual void SetObjOrgInLoc(); 00049 00050 private: 00051 00052 MucStrip* m_MucStrip; 00053 00054 }; 00055 00056 #endif 00057