# Slit:x_set - set slit position [mm] # Slit:x - read back slit position [mm] # Slit:fc_signal - Faraday Cup (FC) signal [C] import sys import math import types import time import random from xal.ca import ChannelFactory from xal.ca import Monitor from xal.ca import Channel from xal.ca import IEventSinkValue channelFactory = ChannelFactory.newServerFactory() class GaussDistrubution: def __init__(self, N, center, sigma, rel_base): """ g(x) = (N/(sigma*sqrt(2*pi)))*exp(-(x-center)**2/(2*sigma**2)) """ self.N = N self.center = center self.sigma = sigma self.base = rel_base * N / (sigma * math.sqrt(2 * math.pi)) self.distance_to_slit_edge = 32.0 # mm self.beam_pipe_radius = 15 # mm self.step = sigma / 100