3from ShipGeoConfig
import AttrDict, ConfigRegistry
6with ConfigRegistry.register_config(
"basic")
as c:
13 c.EmulsionDet.PassiveOption = 1
17 c.EmulsionDet.target = 1
18 c.EmulsionDet.n_plates = 59
19 c.EmulsionDet.EmTh = 0.0070 * u.cm
20 c.EmulsionDet.EmX = 19.2 * u.cm
21 c.EmulsionDet.EmY = 19.2 * u.cm
22 c.EmulsionDet.PBTh = 0.0175 * u.cm
23 c.EmulsionDet.PassiveTh = 0.1 * u.cm
24 c.EmulsionDet.EPlW = 2* c.EmulsionDet.EmTh + c.EmulsionDet.PBTh
25 c.EmulsionDet.AllPW = c.EmulsionDet.PassiveTh + c.EmulsionDet.EPlW
27 c.EmulsionDet.BrPackZ = 0.*u.cm
28 c.EmulsionDet.BrPackX = 2*0.05*u.cm
29 c.EmulsionDet.BrPackY = 2*0.05*u.cm
31 c.EmulsionDet.BrX = c.EmulsionDet.EmX + c.EmulsionDet.BrPackX
32 c.EmulsionDet.BrY = c.EmulsionDet.EmY + c.EmulsionDet.BrPackY
33 c.EmulsionDet.BrZ = c.EmulsionDet.n_plates * c.EmulsionDet.AllPW + c.EmulsionDet.EPlW + c.EmulsionDet.BrPackZ
35 c.EmulsionDet.xdim = 42.2 *u.cm
36 c.EmulsionDet.ydim = 42.2 *u.cm
37 c.EmulsionDet.TotalWallZDim = 10.0 *u.cm
38 c.EmulsionDet.WallXDim = 38.6 *u.cm
39 c.EmulsionDet.WallYDim = 38.6 *u.cm
40 c.EmulsionDet.WallZDim = 8.15 *u.cm
41 c.EmulsionDet.WallZBorder_offset = 4.75 * u.mm
42 c.EmulsionDet.TTz = 3.0*u.cm
43 c.EmulsionDet.zdim = c.EmulsionDet.wall* c.EmulsionDet.TotalWallZDim + c.EmulsionDet.wall*c.EmulsionDet.TTz
44 c.EmulsionDet.ShiftX = -8.0*u.cm - c.EmulsionDet.xdim/2.
45 c.EmulsionDet.ShiftY = 15.5*u.cm + c.EmulsionDet.ydim/2.
47 c.EmulsionDet.startpos = -25.4750 * u.cm + c.EmulsionDet.z
48 c.EmulsionDet.zC = c.EmulsionDet.startpos + c.EmulsionDet.zdim/2.
51 c.EmulsionDet.Xpos0,c.EmulsionDet.Ypos0,c.EmulsionDet.Zpos0 = 5.74*u.cm, 288.89*u.cm, 16.63*u.cm
52 c.EmulsionDet.Xpos1,c.EmulsionDet.Ypos1,c.EmulsionDet.Zpos1 = 5.74*u.cm, 301.89*u.cm, 16.63*u.cm
53 c.EmulsionDet.Xpos2,c.EmulsionDet.Ypos2,c.EmulsionDet.Zpos2 = 5.74*u.cm, 314.89*u.cm, 16.63*u.cm
54 c.EmulsionDet.Xpos3,c.EmulsionDet.Ypos3,c.EmulsionDet.Zpos3 = 5.74*u.cm, 327.89*u.cm, 16.63*u.cm
55 c.EmulsionDet.Xpos4,c.EmulsionDet.Ypos4,c.EmulsionDet.Zpos4 = 5.74*u.cm, 340.89*u.cm, 16.63*u.cm
59 c.Scifi.xdim = 39.0 * u.cm
60 c.Scifi.ydim = 39.0 * u.cm
61 c.Scifi.zdim = c.EmulsionDet.TTz
62 c.Scifi.DZ = c.EmulsionDet.BrZ
67 c.Scifi.channel_width = 0.25 *u.mm
68 c.Scifi.sipm_edge = 0.17*u.mm
69 c.Scifi.charr_gap = 0.2 *u.mm
70 c.Scifi.charr_width = 64 * c.Scifi.channel_width
71 c.Scifi.sipm_diegap = 0.06*u.mm
72 c.Scifi.SiPMarray_width = c.Scifi.sipm_edge+c.Scifi.charr_width+c.Scifi.charr_gap+c.Scifi.charr_width+c.Scifi.sipm_edge
73 c.Scifi.nsipm_channels = 128
75 c.Scifi.nsipms = c.Scifi.nsipm_mat * c.Scifi.nmats
76 c.Scifi.sipmarr_width = c.Scifi.charr_gap + 2.*c.Scifi.charr_width
77 c.Scifi.firstChannelX = -19.528*u.cm
79 c.Scifi.nfibers_shortrow = 471
80 c.Scifi.nfibers_longrow = 472
84 c.Scifi.scifimat_width = (c.Scifi.SiPMarray_width+c.Scifi.sipm_diegap)*c.Scifi.nsipm_mat -0.5*u.mm
85 c.Scifi.scifimat_length = c.Scifi.ydim
86 c.Scifi.scifimat_z = 0.135 *u.cm
87 c.Scifi.epoxymat_z = 0.17 *u.cm
88 c.Scifi.scifimat_gap = 0.05 *u.cm
90 c.Scifi.fiber_length = c.Scifi.scifimat_length
91 c.Scifi.scintcore_rmax = 0.011 *u.cm
92 c.Scifi.clad1_rmax = 0.01175 *u.cm
93 c.Scifi.clad2_rmax = 0.0125 *u.cm
95 c.Scifi.horizontal_pitch = 0.0275 *u.cm
96 c.Scifi.vertical_pitch = 0.021 *u.cm
97 c.Scifi.rowlong_offset = 0.035 *u.cm
98 c.Scifi.rowshort_offset = 0.0215 *u.cm
100 c.Scifi.carbonfiber_z = 0.02 *u.cm
101 c.Scifi.honeycomb_z = 0.5 *u.cm
103 c.Scifi.plastbar_x = 1.5 *u.cm
104 c.Scifi.plastbar_y = c.Scifi.ydim
105 c.Scifi.plastbar_z = 0.195 *u.cm
107 c.Scifi.scifi_separation = c.Scifi.zdim + c.EmulsionDet.BrZ
108 c.Scifi.offset_z = - c.EmulsionDet.zdim/2 + c.EmulsionDet.BrZ
110 c.Scifi.timeResol = 150.*u.picosecond
113 c.Scifi.Xpos0,c.Scifi.Ypos0,c.Scifi.Zpos0 = 4.34*u.cm, 298.94*u.cm, 15.22*u.cm
114 c.Scifi.Xpos1,c.Scifi.Ypos1,c.Scifi.Zpos1 = 4.34*u.cm, 311.94*u.cm, 15.22*u.cm
115 c.Scifi.Xpos2,c.Scifi.Ypos2,c.Scifi.Zpos2 = 4.34*u.cm, 324.94*u.cm, 15.22*u.cm
116 c.Scifi.Xpos3,c.Scifi.Ypos3,c.Scifi.Zpos3 = 4.34*u.cm, 337.94*u.cm, 15.22*u.cm
117 c.Scifi.Xpos4,c.Scifi.Ypos4,c.Scifi.Zpos4 = 4.34*u.cm, 350.94*u.cm, 15.22*u.cm
120 c.Scifi.EdgeAX, c.Scifi.EdgeAY, c.Scifi.EdgeAZ = 225*u.mm, 225*u.mm, 0*u.mm
122 c.Scifi.FirstChannelVX,c.Scifi.FirstChannelVY,c.Scifi.FirstChannelVZ = -195.28*u.mm, -200.0*u.mm, -12.92*u.mm
124 c.Scifi.FirstChannelHX,c.Scifi.FirstChannelHY,c.Scifi.FirstChannelHZ = -200.0*u.mm, -195.28*u.mm, -7.07*u.mm
127 c.Scifi.LfirstChannelVX,c.Scifi.LfirstChannelVY,c.Scifi.LfirstChannelVZ = -195.135*u.mm, 195.0*u.mm, 11.85*u.mm
130 c.Scifi.LfirstChannelHX,c.Scifi.LfirstChannelHY,c.Scifi.LfirstChannelHZ = -195.0*u.mm, 195.178*u.mm, 6.25*u.mm
133 c.Scifi.LocM100,c.Scifi.LocM101,c.Scifi.LocM102 = 0.0*u.um, 0.0*u.um, 0.0*u.um
134 c.Scifi.LocM110,c.Scifi.LocM111,c.Scifi.LocM112= 0.0*u.um, 0.0*u.um, 0.0*u.um
135 c.Scifi.LocM200,c.Scifi.LocM201,c.Scifi.LocM202= 0.0*u.um, 0.0*u.um, 0.0*u.um
136 c.Scifi.LocM210,c.Scifi.LocM211,c.Scifi.LocM212 = 0.0*u.um, 0.0*u.um, 0.0*u.um
137 c.Scifi.LocM300,c.Scifi.LocM301,c.Scifi.LocM302= 0.0*u.um, 0.0*u.um, 0.0*u.um
138 c.Scifi.LocM310,c.Scifi.LocM311,c.Scifi.LocM312= 0.0*u.um, 0.0*u.um, 0.0*u.um
139 c.Scifi.LocM400,c.Scifi.LocM401,c.Scifi.LocM402 = 0.0*u.um, 0.0*u.um, 0.0*u.um
140 c.Scifi.LocM410,c.Scifi.LocM411,c.Scifi.LocM412= 0.0*u.um, 0.0*u.um, 0.0*u.um
141 c.Scifi.LocM500,c.Scifi.LocM501,c.Scifi.LocM502= 0.0*u.um, 0.0*u.um, 0.0*u.um
142 c.Scifi.LocM510,c.Scifi.LocM511,c.Scifi.LocM512= 0.0*u.um, 0.0*u.um, 0.0*u.um
146 c.MuFilter.Veto1Dx,c.MuFilter.Veto1Dy,c.MuFilter.Veto1Dz = 44.5*u.mm, 2798*u.mm, 185.9*u.mm
147 c.MuFilter.Veto2Dx,c.MuFilter.Veto2Dy,c.MuFilter.Veto2Dz = 44.5*u.mm, 2839*u.mm, 165.9*u.mm
148 c.MuFilter.Iron1Dx, c.MuFilter.Iron1Dy, c.MuFilter.Iron1Dz = -24.2*u.mm, 3579.6*u.mm, 146.6*u.mm
150 c.MuFilter.Muon1Dx,c.MuFilter.Muon1Dy,c.MuFilter.Muon1Dz = -47.1*u.mm, 3760.2*u.mm, 146.6*u.mm
151 c.MuFilter.Iron2Dx, c.MuFilter.Iron2Dy, c.MuFilter.Iron2Dz = -24.2*u.mm, 3804.6*u.mm, 136.6*u.mm
153 c.MuFilter.Muon2Dx,c.MuFilter.Muon2Dy,c.MuFilter.Muon2Dz = -47.1*u.mm, 3985.2*u.mm, 136.6*u.mm
154 c.MuFilter.Iron3Dx, c.MuFilter.Iron3Dy, c.MuFilter.Iron3Dz = -24.2*u.mm, 4029.6*u.mm, 126.6*u.mm
156 c.MuFilter.Muon3Dx,c.MuFilter.Muon3Dy,c.MuFilter.Muon3Dz = -47.1*u.mm, 4210.2*u.mm, 126.6*u.mm
157 c.MuFilter.Iron4Dx, c.MuFilter.Iron4Dy, c.MuFilter.Iron4Dz = -24.2*u.mm, 4254.6*u.mm, 116.7*u.mm
159 c.MuFilter.Muon4Dx,c.MuFilter.Muon4Dy,c.MuFilter.Muon4Dz = -47.1*u.mm, 4435.2*u.mm, 116.7*u.mm
160 c.MuFilter.Iron5Dx, c.MuFilter.Iron5Dy, c.MuFilter.Iron5Dz = -24.2*u.mm, 4479.6*u.mm, 127.7*u.mm
162 c.MuFilter.Muon5Dx,c.MuFilter.Muon5Dy,c.MuFilter.Muon5Dz = -47.1*u.mm, 4660.2*u.mm, 127.7*u.mm
163 c.MuFilter.Iron6Dx, c.MuFilter.Iron6Dy, c.MuFilter.Iron6Dz = -24.2*u.mm, 4704.6*u.mm,127.7*u.mm
165 c.MuFilter.Muon6Dx,c.MuFilter.Muon6Dy,c.MuFilter.Muon6Dz = -47.1*u.mm, 4884.9*u.mm, 127.7*u.mm
166 c.MuFilter.Iron7Dx, c.MuFilter.Iron7Dy, c.MuFilter.Iron7Dz = -24.2*u.mm, 4943.6*u.mm, 127.7*u.mm
168 c.MuFilter.Muon7Dx,c.MuFilter.Muon7Dy,c.MuFilter.Muon7Dz = -47.1*u.mm, 5123.9*u.mm, 127.7*u.mm
169 c.MuFilter.Iron8Dx, c.MuFilter.Iron8Dy, c.MuFilter.Iron8Dz = -24.2*u.mm, 5183.9*u.mm, 127.7*u.mm
171 c.MuFilter.Muon8Dx,c.MuFilter.Muon8Dy,c.MuFilter.Muon8Dz = -4.7*u.mm, 5383.7*u.mm, 127.7*u.mm
173 c.MuFilter.DS4ZGap = 8.82*u.cm
175 c.MuFilter.Muon9Dx,c.MuFilter.Muon9Dy,c.MuFilter.Muon9Dz = -4.7*u.mm, 5383.7*u.mm + c.MuFilter.DS4ZGap, 127.7*u.mm
176 c.MuFilter.Iron9Dx, c.MuFilter.Iron9Dy, c.MuFilter.Iron9Dz = 175.8*u.mm, 5529.7*u.mm, 127.7*u.mm
179 c.MuFilter.VETOLocX,c.MuFilter.VETOLocY,c.MuFilter.VETOLocZ = 20.0*u.mm,20.0*u.mm,46.7*u.mm
182 c.MuFilter.DSHLocX,c.MuFilter.DSHLocY,c.MuFilter.DSHLocZ = 10.5*u.mm, 32.0*u.mm, 11.1*u.mm
184 c.MuFilter.DSVLocX,c.MuFilter.DSVLocY,c.MuFilter.DSVLocZ = 623.0*u.mm, 47.0*u.mm, 641.3*u.mm
187 c.MuFilter.USOffZ1 = 4.35*u.mm
188 c.MuFilter.USOffZ2 = 5.0*u.mm
189 c.MuFilter.USOffZ3 = 4.2*u.mm
190 c.MuFilter.USOffZ4 = 5.21*u.mm
191 c.MuFilter.USOffZ5 = 4.74*u.mm
194 c.MuFilter.VetonSiPMs = 8
195 c.MuFilter.VetonSides = 2
196 c.MuFilter.NVetoPlanes = 2
197 c.MuFilter.NVetoBars = 7
199 c.MuFilter.VetoBarX,c.MuFilter.VetoBarY,c.MuFilter.VetoBarZ = 42 *u.cm, 6 * u.cm, 1 * u.cm
200 c.MuFilter.VetoBarGap = 2*30*u.um
202 c.MuFilter.FeX,c.MuFilter.FeY,c.MuFilter.FeZ = 80*u.cm, 60*u.cm, 20*u.cm
203 c.MuFilter.FeEndX,c.MuFilter.FeEndY,c.MuFilter.FeEndZ = 40*u.cm, 40*u.cm, 20*u.cm
204 c.MuFilter.FeBotX,c.MuFilter.FeBotY,c.MuFilter.FeBotZ = 80*u.cm, 9*u.cm, 40*u.cm
206 c.MuFilter.UpstreamDetZ = 2.6*u.cm
207 c.MuFilter.UpstreamnSiPMs = 8
208 c.MuFilter.UpstreamnSides = 2
209 c.MuFilter.NUpstreamPlanes = 5
210 c.MuFilter.DownstreamDetZ = 3.9*u.cm
211 c.MuFilter.DownstreamnSiPMs = 1
212 c.MuFilter.DownstreamnSides = 2
213 c.MuFilter.NDownstreamPlanes = 4
215 c.MuFilter.NUpstreamBars = 10
216 c.MuFilter.UpstreamBarX,c.MuFilter.UpstreamBarY,c.MuFilter.UpstreamBarZ = 82.525*u.cm, 6.0*u.cm, 1.0*u.cm
217 c.MuFilter.UpstreamBarGap = 0.1*u.mm
220 c.MuFilter.NDownstreamBars = 60
221 c.MuFilter.DownstreamBarX,c.MuFilter.DownstreamBarY,c.MuFilter.DownstreamBarZ = 82.525*u.cm, 1*u.cm, 1*u.cm
222 c.MuFilter.DownstreamBarGap = 0.1*u.mm
223 c.MuFilter.DownstreamBarX_ver,c.MuFilter.DownstreamBarY_ver,c.MuFilter.DownstreamBarZ_ver = 1*u.cm, 63.525*u.cm, 1*u.cm
226 c.MuFilter.SupportBoxD = 0.5*u.mm
227 c.MuFilter.SupportBoxW = 2*u.mm
228 c.MuFilter.DSBoxX1 = c.MuFilter.DSHLocX - c.MuFilter.SupportBoxD
229 c.MuFilter.DSBoxX2 = c.MuFilter.DSHLocX + c.MuFilter.DownstreamBarX + c.MuFilter.SupportBoxD
230 c.MuFilter.DSBoxZ1 = c.MuFilter.DSHLocZ - c.MuFilter.DownstreamBarY/2 - c.MuFilter.SupportBoxD
231 c.MuFilter.DSBoxZ2 = c.MuFilter.DSVLocZ + c.MuFilter.SupportBoxD
232 c.MuFilter.DSBoxY1 = c.MuFilter.DSHLocY - c.MuFilter.DownstreamBarZ/2 - c.MuFilter.SupportBoxD
233 c.MuFilter.DSBoxY2 = c.MuFilter.DSVLocY + c.MuFilter.DownstreamBarZ/2 + c.MuFilter.SupportBoxD
235 c.MuFilter.USBoxY1 = c.MuFilter.DSHLocY - c.MuFilter.DownstreamBarZ/2 - c.MuFilter.SupportBoxD
236 c.MuFilter.USBoxY2 = c.MuFilter.DSHLocY + c.MuFilter.DownstreamBarZ/2 + c.MuFilter.SupportBoxD
239 c.MuFilter.SupportBoxVW = 4*u.mm
240 c.MuFilter.VETOBoxX1 = c.MuFilter.VETOLocX - c.MuFilter.SupportBoxD
241 c.MuFilter.VETOBoxX2 = c.MuFilter.VETOLocX + c.MuFilter.VetoBarX + c.MuFilter.SupportBoxD
242 c.MuFilter.VETOBoxZ1 = c.MuFilter.VETOLocZ - c.MuFilter.VetoBarY/2 - c.MuFilter.SupportBoxD
243 c.MuFilter.VETOBoxZ2 = c.MuFilter.VETOLocZ + (c.MuFilter.NVetoBars-1)*(c.MuFilter.VetoBarY+c.MuFilter.VetoBarGap) + c.MuFilter.VetoBarY/2 + c.MuFilter.SupportBoxD
244 c.MuFilter.VETOBoxY1 = c.MuFilter.VETOLocY - c.MuFilter.VetoBarZ/2 - c.MuFilter.SupportBoxD
245 c.MuFilter.VETOBoxY2 = c.MuFilter.VETOLocY + c.MuFilter.VetoBarZ/2 + c.MuFilter.SupportBoxD
248 c.MuFilter.DsAttenuationLength = 350 * u.cm
249 c.MuFilter.DsTAttenuationLength = 700 * u.cm
250 c.MuFilter.VandUpAttenuationLength = 999 * u.cm
251 c.MuFilter.VandUpSiPMcalibrationL = 25.*1000.
252 c.MuFilter.VandUpSiPMcalibrationS = 25.*1000.
253 c.MuFilter.DsSiPMcalibration = 25.*1000.
254 c.MuFilter.timeResol = 150.*u.picosecond
255 c.MuFilter.VandUpPropSpeed = 12.5*u.cm/u.nanosecond
256 c.MuFilter.DsPropSpeed = 14.3*u.cm/u.nanosecond
259 c.Floor.DX = 1.0*u.cm
260 c.Floor.DY = -4.5*u.cm
267 c.MuFilter.Iron9Dy = 0*u.mm
270 c.MuFilter.ShiftX = 4.5*u.cm
271 c.MuFilter.ShiftY = -15.5*u.cm
272 c.MuFilter.ShiftZ = -275.0*u.cm
274 c.MuFilter.VetoShiftZ = 70*u.cm + c.MuFilter.ShiftZ
275 c.MuFilter.VetoShiftX = -13.5*u.cm
276 c.MuFilter.VetoShiftY = -17.7*u.cm
278 c.MuFilter.Muon8Dx = -4.7*u.mm - 4*u.cm
279 c.MuFilter.Muon7Dx = -47.1*u.mm + 0.74*u.cm
280 c.MuFilter.Muon1Dz = 146.6*u.mm - 2.3*u.cm
281 c.MuFilter.Muon2Dz = 136.6*u.mm - 1.5*u.cm
282 c.MuFilter.Muon5Dz = 127.7*u.mm + 0.25*u.cm
283 c.MuFilter.Muon7Dz = 127.7*u.mm + 0.25*u.cm
284 c.MuFilter.Muon8Dz = 127.7*u.mm + 0.56*u.cm
286 c.Scifi.Zpos0+= 537.00 *u.um
287 c.Scifi.Xpos0+= -1177.09 *u.um
288 c.Scifi.Zpos1+= 113.00 *u.um
289 c.Scifi.Xpos1+= -810.00 *u.um
290 c.Scifi.Zpos2+= 22.00 *u.um
291 c.Scifi.Xpos2+= 1602.8 *u.um
292 c.Scifi.Zpos3+= 162.62 *u.um
293 c.Scifi.Xpos3+= -322.53 *u.um
294 c.Scifi.Zpos4+= 229.08 *u.um
295 c.Scifi.Xpos4+= -122.04 *u.um
297 c.Scifi.LocM100,c.Scifi.LocM101,c.Scifi.LocM102 = 0.0*u.um, 0.0*u.um, 0.0*u.um
298 c.Scifi.LocM110,c.Scifi.LocM111,c.Scifi.LocM112= 14.91*u.um, -29.82*u.um, 14.91*u.um
299 c.Scifi.LocM200,c.Scifi.LocM201,c.Scifi.LocM202= 0.0*u.um, 0.0*u.um, 0.0*u.um
300 c.Scifi.LocM210,c.Scifi.LocM211,c.Scifi.LocM212 = 0.0*u.um, 0.0*u.um, 0.0*u.um
301 c.Scifi.LocM300,c.Scifi.LocM301,c.Scifi.LocM302= 0.0*u.um, 0.0*u.um, 0.0*u.um
302 c.Scifi.LocM310,c.Scifi.LocM311,c.Scifi.LocM312= 30.80*u.um, -61.61*u.um, 30.80*u.um
303 c.Scifi.LocM400,c.Scifi.LocM401,c.Scifi.LocM402 = -65.64*u.um, -37.62*u.um, 103.25*u.um
304 c.Scifi.LocM410,c.Scifi.LocM411,c.Scifi.LocM412= -1.49*u.um, 24.0*u.um, -22.52*u.um
305 c.Scifi.LocM500,c.Scifi.LocM501,c.Scifi.LocM502= -0.08*u.um, -46.78*u.um, 46.86*u.um
306 c.Scifi.LocM510,c.Scifi.LocM511,c.Scifi.LocM512= -230.92*u.um, 292.28*u.um, -61.36*u.um