@@ -41,7 +41,12 @@ def HepDetector(siBarrel=True, siEndcaps=True, ecalBarrel=True, solenoid=True):
4141 for i in range (4 ):
4242 zOffset = 0.5 * siBarrelLength * 1.02 + (i * endcapLayerSeparation )
4343 pyg4ometry .geant4 .PhysicalVolume (
44- [0 , 0 , 0 ], [0 , 0 , zOffset ], endcapLV , "endcap_" + str (i ) + "_left_pv" , worldLV , reg
44+ [0 , 0 , 0 ],
45+ [0 , 0 , zOffset ],
46+ endcapLV ,
47+ "endcap_" + str (i ) + "_left_pv" ,
48+ worldLV ,
49+ reg ,
4550 )
4651 pyg4ometry .geant4 .PhysicalVolume (
4752 [0 , 0 , 0 ],
@@ -113,7 +118,12 @@ def SiBarrelTracker(reg=None):
113118 name = "barrelAv1" , moduleAv = siTrackerModuleAv , radius = 0.15 , nAzimuth = 15 , reg = reg
114119 )
115120 siTrackerLayer1Pv = pyg4ometry .geant4 .PhysicalVolume (
116- [_np .pi / 2.0 , 0 , 0 ], [0 , 0 , 0 ], siTrackerLayer1Av , "siTrackerLayer1Pv" , siTrackerLv , reg
121+ [_np .pi / 2.0 , 0 , 0 ],
122+ [0 , 0 , 0 ],
123+ siTrackerLayer1Av ,
124+ "siTrackerLayer1Pv" ,
125+ siTrackerLv ,
126+ reg ,
117127 )
118128
119129 siTrackerLayer2Av = SiTrackerBarrelLayer (
@@ -124,7 +134,12 @@ def SiBarrelTracker(reg=None):
124134 reg = reg ,
125135 )
126136 siTrackerLayer2Pv = pyg4ometry .geant4 .PhysicalVolume (
127- [_np .pi / 2.0 , 0 , 0 ], [0 , 0 , 0 ], siTrackerLayer2Av , "siTrackerLayer2Pv" , siTrackerLv , reg
137+ [_np .pi / 2.0 , 0 , 0 ],
138+ [0 , 0 , 0 ],
139+ siTrackerLayer2Av ,
140+ "siTrackerLayer2Pv" ,
141+ siTrackerLv ,
142+ reg ,
128143 )
129144
130145 siTrackerLayer3Av = SiTrackerBarrelLayer (
@@ -135,7 +150,12 @@ def SiBarrelTracker(reg=None):
135150 reg = reg ,
136151 )
137152 siTrackerLayer3Pv = pyg4ometry .geant4 .PhysicalVolume (
138- [_np .pi / 2.0 , 0 , 0 ], [0 , 0 , 0 ], siTrackerLayer3Av , "siTrackerLayer3Pv" , siTrackerLv , reg
153+ [_np .pi / 2.0 , 0 , 0 ],
154+ [0 , 0 , 0 ],
155+ siTrackerLayer3Av ,
156+ "siTrackerLayer3Pv" ,
157+ siTrackerLv ,
158+ reg ,
139159 )
140160
141161 return siTrackerLv
@@ -180,7 +200,12 @@ def SiTrackerBarrelLayer(
180200
181201
182202def SiTrackerBarrelModule (
183- sensorSize = 0.08 , sensorGap = 3e-3 , pcbLength = 0.015 , pcbGap = 0.005 , tiltAngleDeg = 5 , reg = None
203+ sensorSize = 0.08 ,
204+ sensorGap = 3e-3 ,
205+ pcbLength = 0.015 ,
206+ pcbGap = 0.005 ,
207+ tiltAngleDeg = 5 ,
208+ reg = None ,
184209):
185210 reg = pyg4ometry .geant4 .Registry () if reg is None else reg
186211
@@ -272,7 +297,15 @@ def SiTrackerEndcapLayer(
272297 dAzimuth = 2 * _np .pi / nAzimuth
273298
274299 siTrackerECTubs = pyg4ometry .geant4 .solid .Tubs (
275- name + "_siTrackerECTubs" , innerRadius , outerRadius , 0.025 , 0 , 2 * _np .pi , reg , "m" , "rad"
300+ name + "_siTrackerECTubs" ,
301+ innerRadius ,
302+ outerRadius ,
303+ 0.025 ,
304+ 0 ,
305+ 2 * _np .pi ,
306+ reg ,
307+ "m" ,
308+ "rad" ,
276309 )
277310 siTrackerECLv = pyg4ometry .geant4 .LogicalVolume (
278311 siTrackerECTubs , "G4_Galactic" , "siTrackerECLv" , reg
@@ -310,10 +343,20 @@ def SiTrackerEndcapModule(
310343 )
311344
312345 sensorPv1 = pyg4ometry .geant4 .PhysicalVolume (
313- [0 , 0 , 0 ], [0 , sensorGap / 2 , 0 , "m" ], sensorLv , "sensorEndcapPv1" , moduleAv , reg
346+ [0 , 0 , 0 ],
347+ [0 , sensorGap / 2 , 0 , "m" ],
348+ sensorLv ,
349+ "sensorEndcapPv1" ,
350+ moduleAv ,
351+ reg ,
314352 )
315353 sensorPv2 = pyg4ometry .geant4 .PhysicalVolume (
316- [0 , 0 , 0 ], [0 , - sensorGap / 2 , 0 , "m" ], sensorLv , "sensorEndcapPv2" , moduleAv , reg
354+ [0 , 0 , 0 ],
355+ [0 , - sensorGap / 2 , 0 , "m" ],
356+ sensorLv ,
357+ "sensorEndcapPv2" ,
358+ moduleAv ,
359+ reg ,
317360 )
318361
319362 return moduleAv
@@ -346,7 +389,13 @@ def Solenoid(innerRadius, thickness, length, constants, reg=None):
346389 """
347390 reg = pyg4ometry .geant4 .Registry () if reg is None else reg
348391 solenoidSolid = pyg4ometry .geant4 .solid .Tubs (
349- "solenoid_solid" , innerRadius , innerRadius + thickness , length , 0 , constants ["twopi" ], reg
392+ "solenoid_solid" ,
393+ innerRadius ,
394+ innerRadius + thickness ,
395+ length ,
396+ 0 ,
397+ constants ["twopi" ],
398+ reg ,
350399 )
351400 aluminium = pyg4ometry .geant4 .MaterialPredefined ("G4_Al" )
352401 solenoidLV = pyg4ometry .geant4 .LogicalVolume (solenoidSolid , aluminium , "solenoid_lv" , reg )
@@ -358,7 +407,13 @@ def Solenoid(innerRadius, thickness, length, constants, reg=None):
358407 nCoils = int (length .eval () / (2 * coilLengthZ .eval ()))
359408 nCoilsEven = nCoils if (nCoils % 2 == 0 ) else nCoils - 1
360409 coilSolid = pyg4ometry .geant4 .solid .Tubs (
361- "coil_solid" , coilInnerRadius , coilOuterRadius , coilLengthZ , 0 , constants ["twopi" ], reg
410+ "coil_solid" ,
411+ coilInnerRadius ,
412+ coilOuterRadius ,
413+ coilLengthZ ,
414+ 0 ,
415+ constants ["twopi" ],
416+ reg ,
362417 )
363418 nbti = pyg4ometry .geant4 .MaterialCompound ("nbti" , 5.7 , 2 , reg )
364419 nbti .set_state ("solid" )
@@ -377,11 +432,21 @@ def Solenoid(innerRadius, thickness, length, constants, reg=None):
377432 zOffset = i * 2 * coilLengthZ
378433 iCoil += 1
379434 pyg4ometry .geant4 .PhysicalVolume (
380- [0 , 0 , 0 ], [0 , 0 , zOffset ], coilLV , "coil_" + str (iCoil ) + "_pv" , solenoidLV , reg
435+ [0 , 0 , 0 ],
436+ [0 , 0 , zOffset ],
437+ coilLV ,
438+ "coil_" + str (iCoil ) + "_pv" ,
439+ solenoidLV ,
440+ reg ,
381441 )
382442 iCoil += 1
383443 pyg4ometry .geant4 .PhysicalVolume (
384- [0 , 0 , 0 ], [0 , 0 , - zOffset ], coilLV , "coil_" + str (iCoil ) + "_pv" , solenoidLV , reg
444+ [0 , 0 , 0 ],
445+ [0 , 0 , - zOffset ],
446+ coilLV ,
447+ "coil_" + str (iCoil ) + "_pv" ,
448+ solenoidLV ,
449+ reg ,
385450 )
386451
387452 return solenoidLV
@@ -390,7 +455,13 @@ def Solenoid(innerRadius, thickness, length, constants, reg=None):
390455def ECALBarrel (innerRadius , outerRadius , length , nModulesPhi , nModulesZ , constants , reg ):
391456 # container LV
392457 ecalBarrelSolid = pyg4ometry .geant4 .solid .Tubs (
393- "ecal_barrel_solid" , innerRadius , outerRadius , length , 0 , constants ["twopi" ], reg
458+ "ecal_barrel_solid" ,
459+ innerRadius ,
460+ outerRadius ,
461+ length ,
462+ 0 ,
463+ constants ["twopi" ],
464+ reg ,
394465 )
395466 air = pyg4ometry .geant4 .MaterialPredefined ("G4_AIR" )
396467 ecalBarrelLV = pyg4ometry .geant4 .LogicalVolume (ecalBarrelSolid , air , "ecal_barrel_lv" , reg )
@@ -439,21 +510,37 @@ def ECALBarrel(innerRadius, outerRadius, length, nModulesPhi, nModulesZ, constan
439510 for i in range (nModulesZ ):
440511 iModuleName = "ecal_mod_" + str (i )
441512 iModule = pyg4ometry .geant4 .solid .Tubs (
442- iModuleName + "_solid" , innerR2 , outerR2 , 0.95 * dz , startAngle , sweepAngle , reg
513+ iModuleName + "_solid" ,
514+ innerR2 ,
515+ outerR2 ,
516+ 0.95 * dz ,
517+ startAngle ,
518+ sweepAngle ,
519+ reg ,
443520 )
444521 iModuleLV = pyg4ometry .geant4 .LogicalVolume (
445522 iModule , leadTungstate , iModuleName + "_lv" , reg
446523 )
447524 pyg4ometry .geant4 .PhysicalVolume (
448- [0 , 0 , 0 ], [0 , 0 , iz + 0.5 * dz ], iModuleLV , iModuleName + "_pv" , segmentLV , reg
525+ [0 , 0 , 0 ],
526+ [0 , 0 , iz + 0.5 * dz ],
527+ iModuleLV ,
528+ iModuleName + "_pv" ,
529+ segmentLV ,
530+ reg ,
449531 )
450532 iz += dz
451533
452534 # nModulesPhi = 1
453535 for i in range (nModulesPhi ):
454536 angle = i * segmentAngle
455537 pyg4ometry .geant4 .PhysicalVolume (
456- [0 , 0 , angle ], [0 , 0 , 0 ], segmentLV , "ecal_segment_" + str (i ) + "_pv" , ecalBarrelLV , reg
538+ [0 , 0 , angle ],
539+ [0 , 0 , 0 ],
540+ segmentLV ,
541+ "ecal_segment_" + str (i ) + "_pv" ,
542+ ecalBarrelLV ,
543+ reg ,
457544 )
458545 return ecalBarrelLV
459546
0 commit comments