1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| #include "G4PVParameterised.hh"
G4double LightGuide_x = ej200_x*rowNb_ej200/2+gap*(rowNb_ej200+1)/2; G4double LightGuide_y = ej200_y*colNb_ej200/2+gap*(colNb_ej200+1)/2; G4double LightGuide_z = 3*mm/2; gap = 0.07*mm; G4Box* LightGuide_top_motherV = new G4Box("LightGuide_top_motherV", LightGuide_x, LightGuide_y, LightGuide_z); LightGuide_top_mother_logV = new G4LogicalVolume(LightGuide_top_motherV, ESR, "LightGuide_top_mother_logV", 0, 0, 0); LightGuide_top_mother_physV = new G4PVPlacement(0, G4ThreeVector(0, 0, (grease_pz-grease_z)-LightGuide_z), LightGuide_top_mother_logV, "LightGuide_top_mother_physV", logicAssembleNBD, false, 0);
G4double TopX[5] = {12.3*mm, 22.3*mm, 31.15*mm, 22.3*mm, 12.3*mm}; G4double TopY[5] = {12.3*mm, 22.3*mm, 31.15*mm, 22.3*mm, 12.3*mm}; G4double TopHeight = 3.0*mm;
G4int rowNb = 5; G4int colNb = 5;
G4double TopGap = gap; G4double x0, y0; x0 = -LightGuide_x; y0 = -LightGuide_y; G4Box* LightGuide_top_solidV = new G4Box("LightGuide_top_solidV", TopX[0]/2, TopY[0]/2, TopHeight/2);
LightGuide_top_logV = new G4LogicalVolume(LightGuide_top_solidV, BC800, "LightGuide_top_logV", 0, 0, 0);
G4double LightGuide_top_px = x0; G4double LightGuide_top_py = y0; G4double LightGuide_top_pz = 0*mm;
APNISLGParameterisation *lightGuide_para_top = new APNISLGParameterisation( rowNb, colNb, TopX, TopY, TopGap, TopHeight, LightGuide_top_px, LightGuide_top_py, LightGuide_top_pz, BC800, ESR);
LightGuide_top_physV = new G4PVParameterised("LightGuide_top_physV", LightGuide_top_logV, LightGuide_top_mother_logV, kUndefined, rowNb*colNb, lightGuide_para_top);
G4double LightGuide_z_ = 18*mm/2; G4Box* LightGuide_bottom_motherV = new G4Box("LightGuide_bottom_motherV", LightGuide_x, LightGuide_y, LightGuide_z_); LightGuide_bottom_mother_logV = new G4LogicalVolume(LightGuide_bottom_motherV, ESR, "LightGuide_bottom_mother_logV", 0, 0, 0); LightGuide_bottom_mother_physV = new G4PVPlacement(0, G4ThreeVector(0, 0, (grease_pz-grease_z)-LightGuide_z*2-LightGuide_z_), LightGuide_bottom_mother_logV, "LightGuide_bottom_mother_physV", logicAssembleNBD, false, 0);
G4double BottomX[3] = {12.3*mm, 75.89*mm, 12.3*mm}; G4double BottomY[3] = {12.3*mm, 75.89*mm, 12.3*mm}; G4double BottomHeight = LightGuide_z_*2;
G4int rowNb_ = 3; G4int colNb_ = 3;
G4double BottomGap = gap; G4Box* LightGuide_bottom_solidV = new G4Box("LightGuide_bottom_solidV", BottomX[0]/2, BottomY[0]/2, BottomHeight/2);
LightGuide_bottom_logV = new G4LogicalVolume(LightGuide_bottom_solidV, BC800, "LightGuide_bottom_logV", 0, 0, 0);
G4double LightGuide_bottom_px = x0; G4double LightGuide_bottom_py = y0; G4double LightGuide_bottom_pz = 0*mm;
APNISLGParameterisation *lightGuide_para_bottom = new APNISLGParameterisation( rowNb_, colNb_, BottomX, BottomY, BottomGap, BottomHeight, LightGuide_bottom_px, LightGuide_bottom_py, LightGuide_bottom_pz, BC800, ESR); LightGuide_bottom_physV = new G4PVParameterised("LightGuide_bottom_physV", LightGuide_bottom_logV, LightGuide_bottom_mother_logV, kUndefined, rowNb_*colNb_, lightGuide_para_bottom);
|