45 if flags.TestBeam.Eta !=
'NONE' and (flags.TestBeam.Theta !=
'NONE' or flags.TestBeam.Z !=
'NONE'):
46 raise ValueError(
'THE ETA PARAMETER CAN NOT BE SET TOGETHER WITH THETA AND Z')
47 elif (flags.TestBeam.Theta ==
'NONE' or flags.TestBeam.Z ==
'NONE')
and flags.TestBeam.Eta ==
'NONE':
48 raise ValueError(
'THETA AND Z ARE NOT SET')
50 from AthenaCommon
import PhysicalConstants
51 if flags.TestBeam.Eta !=
'NONE':
53 eta=flags.TestBeam.Eta
54 ThetaY=-(PhysicalConstants.pi*0.5)+2*math.atan(math.exp(-eta))
56 elif not (flags.TestBeam.Theta ==
'NONE' or flags.TestBeam.Z ==
'NONE'):
57 theta=flags.TestBeam.Theta
60 if abs(theta) < 70.01:
65 ThetaY=math.radians(theta)
66 DeltaF=(2290.0*math.tan(-ThetaY)-z)
67 elif abs(abs(theta)-90.0) < 0.01:
73 ThetaY=sign*math.radians(90.0)
76 print (
'Tile table rotation: ERROR unknown rotation mode')
77 raise ValueError(
'UNKNOWN MODE - NEITHER ETA NOR THETA AND Z ARE SET')
81 if (math.fabs(ThetaY)<1.57):
82 z=r*math.tan(-ThetaY)-DeltaF
84 z=r/math.tan(2*math.atan(math.exp(-eta)))
89 kwargs.setdefault(
"OffsetX", r)
90 kwargs.setdefault(
"OffsetY", 0.0)
91 kwargs.setdefault(
"OffsetZ", z)