00001 #ifndef PartProduce_h 00002 #define PartProduce_h 1 00003 00004 #include "G4LogicalVolume.hh" 00005 #include "G4Material.hh" 00006 #include "G4AssemblyVolume.hh" 00007 #include "BesTofGeoParameter.hh" 00008 00009 using namespace std; 00010 00011 class PartProduce 00012 { 00013 public: 00014 PartProduce(); 00015 ~PartProduce(); 00016 00017 void IniParam(); 00018 00019 G4VSolid* sd_containerOut(double smallL=0, string name=""); 00020 G4VSolid* sd_containerIn(double smallL=0, string name=""); 00021 G4LogicalVolume* lg_containerFrame(string name=""); 00022 00023 G4VSolid* sd_upCover(double smallL=0, string name=""); 00024 G4VSolid* sd_lowCover1(double smallL=0, string name=""); 00025 G4VSolid* sd_lowCover2(double smallL=0, string name=""); 00026 G4LogicalVolume* lg_upCover(string name=""); 00027 G4LogicalVolume* lg_lowCover1(string name=""); 00028 G4LogicalVolume* lg_lowCover2(string name=""); 00029 00030 G4VSolid* sd_upFEE(double smallL=0, string name=""); 00031 G4LogicalVolume* lg_upFEE_pcb(string name=""); 00032 G4LogicalVolume* lg_upFEE(string name=""); 00033 G4VSolid* sd_sideFEE(double smallL=0, string name=""); 00034 G4LogicalVolume* lg_sideFEE_pcb(string name=""); 00035 G4LogicalVolume* lg_sideFEE(string name=""); 00036 00037 G4VSolid* sd_castingDie_outline(double smallL=0, string name=""); 00038 G4LogicalVolume* lg_castingDie(string name=""); 00039 00040 G4LogicalVolume* lg_container(int flag, string name=""); 00041 00042 G4LogicalVolume* lg_gasContainer(string name=""); 00043 G4LogicalVolume* lg_bareChamber(string name=""); 00044 G4LogicalVolume* lg_honeyComb(string name=""); 00045 G4LogicalVolume* lg_tape_mrpc(string name=""); 00046 G4LogicalVolume* lg_pcbBoard(G4int flag, string name=""); 00047 G4AssemblyVolume* lg_strip(string name=""); 00048 G4LogicalVolume* lg_mylar(string name=""); 00049 G4LogicalVolume* lg_glass(G4int flag, string name=""); 00050 G4LogicalVolume* lg_gasLayer(string name=""); 00051 G4LogicalVolume* lg_bracket(string name=""); 00052 G4LogicalVolume* lg_upStopBlock(string name=""); 00053 G4LogicalVolume* lg_sideStopBlock(string name=""); 00054 00055 00056 private: 00057 BesTofGeoParameter* tofPara; 00058 00059 G4double containerOut_xdown; 00060 G4double containerOut_xup; 00061 G4double containerOut_y; 00062 G4double containerOut_z; 00063 G4double container_thickness; 00064 G4double container_lowBorder; 00065 00066 G4double containerIn_xdown; 00067 G4double containerIn_xup; 00068 G4double containerIn_y; 00069 G4double containerIn_z; 00070 00071 G4double upCover_xdown; 00072 G4double upCover_xup; 00073 G4double upCover_y; 00074 G4double upCover_z; 00075 G4double upCover_posz; 00076 00077 G4double lowCover1_xdown; 00078 G4double lowCover1_xup; 00079 G4double lowCover1_y; 00080 G4double lowCover1_z; 00081 G4double lowCover1_addx; 00082 G4double lowCover1_addz; 00083 G4double lowCover1_posz; 00084 00085 G4double lowCover2_xdown; 00086 G4double lowCover2_xup; 00087 G4double lowCover2_y; 00088 G4double lowCover2_z; 00089 G4double lowCover2_posz; 00090 00091 G4double upFEE_xdown; 00092 G4double upFEE_xup; 00093 G4double upFEE_y; 00094 G4double upFEE_z; 00095 G4double FEE_thickness; 00096 G4double upFEE_posz; 00097 00098 G4double upFEE_pcb_xdown; 00099 G4double upFEE_pcb_xup; 00100 G4double upFEE_pcb_y; 00101 G4double upFEE_pcb_z; 00102 00103 G4double sideFEE_x; 00104 G4double sideFEE_y; 00105 G4double sideFEE_z; 00106 G4double sideFEE_posl; 00107 00108 G4double sideFEE_pcb_x; 00109 G4double sideFEE_pcb_y; 00110 G4double sideFEE_pcb_z; 00111 00112 G4double castingDie_x; 00113 G4double castingDie_y; 00114 G4double castingDie_z; 00115 G4double castingDie_addr; 00116 G4double castingDie_subtractx; 00117 G4double castingDie_subtract_posz; 00118 G4double castingDie_posz1; 00119 G4double castingDie_posz2; 00120 00121 00122 G4double chamber_in_posy; 00123 G4double chamber_out_posy; 00124 00125 G4double bracket_x; 00126 G4double bracket_y; 00127 G4double bracket_z; 00128 G4double bracket_r; 00129 G4double bracket_posx; 00130 00131 G4double upStopBlock_x; 00132 G4double upStopBlock_y; 00133 G4double upStopBlock_z; 00134 G4double upStopBlock_subtractr; 00135 G4double upStopBlock_subtractposz; 00136 00137 G4double sideStopBlock_x; 00138 G4double sideStopBlock_y; 00139 G4double sideStopBlock_z; 00140 G4double sideStopBlock_thickness; 00141 G4double sideStopBlock_posz0; 00142 G4double sideStopBlock_posz1; 00143 00144 G4double honeyComb_xdown; 00145 G4double honeyComb_xup; 00146 G4double honeyComb_y; 00147 G4double honeyComb_z; 00148 G4double honeyComb_surface_y; 00149 G4double honeyComb_posz; 00150 00151 G4double tape_mrpc_xdown; 00152 G4double tape_mrpc_xup; 00153 G4double tape_mrpc_y; 00154 G4double tape_mrpc_z; 00155 G4double tape_mrpc_posz; 00156 00157 G4double pcbBoard_xdown; 00158 G4double pcbBoard_xup; 00159 G4double pcbBoard_y0; 00160 G4double pcbBoard_y1; 00161 G4double pcbBoard_z; 00162 00163 G4double strip_x[12]; 00164 G4double strip_y; 00165 G4double strip_z; 00166 G4double strip_gap; 00167 G4double strip_posz; 00168 00169 G4double mylar_xdown; 00170 G4double mylar_xup; 00171 G4double mylar_y; 00172 G4double mylar_z; 00173 G4double mylar_posz; 00174 00175 G4double glass0_xdown; 00176 G4double glass0_xup; 00177 G4double glass0_y; 00178 G4double glass0_z; 00179 G4double glass0_posz; 00180 00181 G4double glass1_xdown; 00182 G4double glass1_xup; 00183 G4double glass1_y; 00184 G4double glass1_z; 00185 G4double glass1_posz; 00186 00187 G4double gasLayer_xdown; 00188 G4double gasLayer_xup; 00189 G4double gasLayer_y; 00190 G4double gasLayer_z; 00191 G4double gasLayer_posz; 00192 00193 G4double endcap_r; 00194 G4double endcap_length; 00195 G4double layer_posz; 00196 G4double startAngle_east; 00197 G4double startAngle_west; 00198 }; 00199 00200 #endif