SND@LHC Software
Loading...
Searching...
No Matches
ShipGeo.py
Go to the documentation of this file.
1from __future__ import print_function
2import shipunit as u
3import ROOT
4fDesign = 2
5class ShipGeo():
6 def __init__(self,z=0):
7 self.z = z
8
10 main = sys.modules['__main__']
11 if hasattr(main,'ShipGeo'):
12 for x in ShipGeo:
13 if hasattr(eval('ShipGeo.'+x),'z'): print(x,'z=',eval('ShipGeo.'+x+'.z'))
14
15vetoStation = ShipGeo(-2390.*u.cm)
16TrackStation1 = ShipGeo(1510.*u.cm)
17TrackStation2 = ShipGeo(1710.*u.cm)
18TrackStation3 = ShipGeo(2150.*u.cm)
19TrackStation4 = ShipGeo(2370.*u.cm)
20
21z = TrackStation2.z + 0.5 * (TrackStation3.z - TrackStation2.z)
22Bfield = ShipGeo(z)
23Bfield.max = 1.5*u.kilogauss # was 1.15 in EOI
24
25# target absorber muon shield setup
26decayVolume = ShipGeo(0*u.cm)
27decayVolume.length = 50*u.m
28
29muShield = ShipGeo(0*u.cm)
30muShield.dZ1 = 2.5*u.m
31muShield.dZ2 = 3.5*u.m
32muShield.dZ3 = 3.0*u.m
33muShield.dZ4 = 3.0*u.m
34muShield.dZ5 = 2.5*u.m
35muShield.dZ6 = 2.5*u.m
36muShield.LE = 5*u.m
37# for passive design, fDesign==1
38if fDesign == 1: muShield.length = 70*u.m
39# for active design, fDesign==2
40if fDesign == 2: muShield.length = 2*(muShield.dZ1+muShield.dZ2+muShield.dZ3+muShield.dZ4+muShield.dZ5+muShield.dZ6) + muShield.LE # leave some space for nu-tau detector
41muShield.z = -decayVolume.length/2.-muShield.length/2.
42
43hadronAbsorber = ShipGeo(0*u.cm)
44hadronAbsorber.length= 3.0*u.m
45hadronAbsorber.z = muShield.z - muShield.length/2. - hadronAbsorber.length/2.
46
47target = ShipGeo(0*u.cm)
48target.length = 50*u.cm
49target.z = hadronAbsorber.z - hadronAbsorber.length/2. - target.length/2.
50
51# interaction point, start of target
52target.z0 = target.z - target.length/2.
53
54# straws of tracking stations
55straw = ShipGeo(0*u.cm)
56straw.length = 250.*u.cm
57straw.resol = 0.01*u.cm
58straw.pitch = 1.*u.cm
59straw.stereoAngle = 5./180.*ROOT.TMath.Pi()
60
__init__(self, z=0)
Definition ShipGeo.py:6
zPositions()
Definition ShipGeo.py:9