You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following is a method that calculates the X-ray windows strip width and distance from each other, using the radius, number of strips and the open aperture. This is useful as companies give these values and one doesn't have to calculate it by hand. Should be implemented in TRestAxionXrayWindow .
proccalcWindowVals(radiusWindow: MilliMeter,
numberOfStrips: int,
openApertureRatio: float): tuple[width: MilliMeter,
dist: MilliMeter] =let
totalArea = π * radiusWindow * radiusWindow
areaOfStrips = totalArea * (1.0- openApertureRatio)
#width and distance between strips per strip;#the width on both sides is a whole width#(Don't know what to do about the additional string width)#not important at high strip number but at low like CAST
dAndwPerStrip = radiusWindow *2.0/ (numberOfStrips.float+1.0)
var
lengthStrip: mm
lengthAllStrips: mm
for i in0..(numberOfStrips/2).round.int-1:
lengthStrip =sqrt(radiusWindow * radiusWindow -
(i.float* dAndwPerStrip +0.5* dAndwPerStrip) *
(i.float* dAndwPerStrip +0.5* dAndwPerStrip)
) *2.0
lengthAllStrips = lengthAllStrips + lengthStrip
echo lengthStrip
lengthAllStrips = lengthAllStrips *2.0let
widthStrips = areaOfStrips / lengthAllStrips
distStrips = dAndwPerStrip - widthStrips
echo widthStrips
echo distStrips
result= (width: widthStrips, dist: distStrips)
The text was updated successfully, but these errors were encountered:
The following is a method that calculates the X-ray windows strip width and distance from each other, using the radius, number of strips and the open aperture. This is useful as companies give these values and one doesn't have to calculate it by hand. Should be implemented in
TRestAxionXrayWindow
.The text was updated successfully, but these errors were encountered: