00001 //------------------------------------------------------------------------------| 00002 // [File ]: MucGas.h | 00003 // [Brief ]: Head file of MUC geometry gas class | 00004 // [Author]: Xie Yuguang, <ygxie@mail.ihep.ac.cn> | 00005 // [Date ]: May 22, 2005 | 00006 //------------------------------------------------------------------------------| 00007 00008 #ifndef MUC_GAS_H 00009 #define MUC_GAS_H 00010 00011 #include<iostream> 00012 00013 #include "MucGeoCreateAlg/MucEntity.h" 00014 #include "MucGeoCreateAlg/MucGas.h" 00015 00016 using namespace std; 00017 00018 class MucGas : public MucEntity 00019 { 00020 public: 00021 MucGas( int part, int segment, int layer, int upDown, int rpcId, int id ); 00022 MucGas( const MucGas &other ); 00023 MucGas& operator =( const MucGas &other ); 00024 ~MucGas(); 00025 00026 double GetPhi(); 00027 00028 // virtual void SetAlignment( double dx, double dy, double dz ); 00029 00030 protected: 00031 virtual void Init(); 00032 00033 virtual void SetTheta(); 00034 void SetPhi(); 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 int SetEndcapRpcInBes(); 00047 int SetBarrelRpcInBes(); 00048 00049 virtual void SetLocOrgInBes(); 00050 virtual void SetObjOrgInLoc(); 00051 virtual void SetObjOrgInBes(); 00052 00053 private: 00054 00055 double m_Phi; // the inclination angle of local x axis and BES x axis for coordinates transformation 00056 }; 00057 00058 #endif 00059