00001 //---------------------------------------------------------------------------// 00002 //Description: Messenger class 00003 //Author: Wu Chen(wuchen@mail.ihep.ac.cn) 00004 //Created: 17 Oct, 2012 00005 //Modified: 11, Jan, 2013 00006 // Support G4Hype, G4TwistedTube 00007 //Comment: 00008 //---------------------------------------------------------------------------// 00009 00010 #ifndef SimpleGeometryParameterMessenger_h 00011 #define SimpleGeometryParameterMessenger_h 1 00012 00013 #include "myglobals.hh" 00014 #include "G4UImessenger.hh" 00015 00016 #include "MyVGeometryParameterMessenger.hh" 00017 00018 class SimpleGeometryParameter; 00019 class MyVGeometryParameter; 00020 class G4UIdirectory; 00021 class G4UIcmdWithAString; 00022 00023 class SimpleGeometryParameterMessenger : public MyVGeometryParameterMessenger 00024 { 00025 public: 00026 SimpleGeometryParameterMessenger(MyVGeometryParameter*, G4String); 00027 virtual ~SimpleGeometryParameterMessenger(); 00028 00029 virtual void SetNewValue(G4UIcommand*, G4String); 00030 00031 //=> Special functions 00032 int MySetNewValue(G4UIcommand*, G4String); 00033 00034 //=> Access 00035 SimpleGeometryParameter* get_GeometryParameter(){ return m_GeometryParameter; } 00036 00037 //=> Modify 00038 void set_GeometryParameter( SimpleGeometryParameter* val ){ m_GeometryParameter = val; } 00039 00040 private: 00041 00042 SimpleGeometryParameter* m_GeometryParameter; 00043 00044 G4String m_SubDirName; 00045 G4UIdirectory* SubDir; 00046 00047 //General info for volume 00048 G4UIcmdWithAString* set_PosX_cmd; 00049 G4UIcmdWithAString* set_PosY_cmd; 00050 G4UIcmdWithAString* set_PosZ_cmd; 00051 G4UIcmdWithAString* set_name_cmd; 00052 G4UIcmdWithAString* set_SDName_cmd; 00053 G4UIcmdWithAString* set_MotherName_cmd; 00054 G4UIcmdWithAString* set_material_cmd; 00055 G4UIcmdWithAString* set_SRepNo_cmd; 00056 G4UIcmdWithAString* set_RepNo_cmd; 00057 G4UIcmdWithAString* set_Ephi_cmd; 00058 G4UIcmdWithAString* set_Etheta_cmd; 00059 G4UIcmdWithAString* set_Epsi_cmd; 00060 00061 //Box info 00062 G4UIcmdWithAString* set_Box_X_cmd; 00063 G4UIcmdWithAString* set_Box_Y_cmd; 00064 G4UIcmdWithAString* set_Box_Z_cmd; 00065 00066 //Tubs info 00067 G4UIcmdWithAString* set_Tubs_RMax_cmd; 00068 G4UIcmdWithAString* set_Tubs_RMin_cmd; 00069 G4UIcmdWithAString* set_Tubs_Length_cmd; 00070 G4UIcmdWithAString* set_Tubs_StartAng_cmd; 00071 G4UIcmdWithAString* set_Tubs_SpanAng_cmd; 00072 00073 //Torus info 00074 G4UIcmdWithAString* set_Torus_RMax_cmd; 00075 G4UIcmdWithAString* set_Torus_RMin_cmd; 00076 G4UIcmdWithAString* set_Torus_Rtor_cmd; 00077 G4UIcmdWithAString* set_Torus_StartAng_cmd; 00078 G4UIcmdWithAString* set_Torus_SpanAng_cmd; 00079 00080 //Sphere info 00081 G4UIcmdWithAString* set_Sphere_RMax_cmd; 00082 G4UIcmdWithAString* set_Sphere_RMin_cmd; 00083 G4UIcmdWithAString* set_Sphere_StartPhi_cmd; 00084 G4UIcmdWithAString* set_Sphere_SpanPhi_cmd; 00085 G4UIcmdWithAString* set_Sphere_StartTheta_cmd; 00086 G4UIcmdWithAString* set_Sphere_SpanTheta_cmd; 00087 00088 //Hype info 00089 G4UIcmdWithAString* set_Hype_innerRadius_cmd; 00090 G4UIcmdWithAString* set_Hype_outerRadius_cmd; 00091 G4UIcmdWithAString* set_Hype_innerStereo_cmd; 00092 G4UIcmdWithAString* set_Hype_outerStereo_cmd; 00093 G4UIcmdWithAString* set_Hype_Length_cmd; 00094 00095 //TwistedTubs info 00096 G4UIcmdWithAString* set_TwistedTubs_twistedangle_cmd; 00097 G4UIcmdWithAString* set_TwistedTubs_endinnerrad_cmd; 00098 G4UIcmdWithAString* set_TwistedTubs_endouterrad_cmd; 00099 G4UIcmdWithAString* set_TwistedTubs_Length_cmd; 00100 G4UIcmdWithAString* set_TwistedTubs_dphi_cmd; 00101 00102 //Cons info 00103 G4UIcmdWithAString* set_Cons_RMax1_cmd; 00104 G4UIcmdWithAString* set_Cons_RMin1_cmd; 00105 G4UIcmdWithAString* set_Cons_RMax2_cmd; 00106 G4UIcmdWithAString* set_Cons_RMin2_cmd; 00107 G4UIcmdWithAString* set_Cons_Length_cmd; 00108 G4UIcmdWithAString* set_Cons_StartAng_cmd; 00109 G4UIcmdWithAString* set_Cons_SpanAng_cmd; 00110 00111 //Polycone info 00112 G4UIcmdWithAString* set_Polycone_numZ_cmd; 00113 G4UIcmdWithAString* set_Polycone_RMax_cmd; 00114 G4UIcmdWithAString* set_Polycone_RMin_cmd; 00115 G4UIcmdWithAString* set_Polycone_Z_cmd; 00116 G4UIcmdWithAString* set_Polycone_StartAng_cmd; 00117 G4UIcmdWithAString* set_Polycone_SpanAng_cmd; 00118 00119 //other settings 00120 G4UIcmdWithAString* set_vis_cmd; 00121 G4UIcmdWithAString* set_r_cmd; 00122 G4UIcmdWithAString* set_g_cmd; 00123 G4UIcmdWithAString* set_b_cmd; 00124 00125 }; 00126 00127 #endif 00128