def __init__(self, FILE_SCR_EXT=init_file_name()):
     self.I_ABS = 0
     self.I_SLIT = 1
     self.I_STOP = 1
     self.FILE_SCR_EXT = FILE_SCR_EXT
     self.THICK = 0.0
     self.FILE_ABS = init_file_name()
예제 #2
0
 def __init__(self, FILE_SCR_EXT=init_file_name()):
     self.I_ABS = 0  # HAS ABSORPTION NO (0), YES (1)
     self.I_SLIT = 1  # IS APERTURE/STOP NO (0), YES (1)
     self.I_STOP = 0  # IS APERTURE (0), STOP (1)
     self.FILE_SCR_EXT = FILE_SCR_EXT
     self.THICK = 0.0
     self.FILE_ABS = init_file_name()
예제 #3
0
 def __init__(self,
              F_REFLEC=0,
              F_REFL=0,
              FILE_REFL=init_file_name(),
              ALFA=0.0,
              GAMMA=0.0,
              F_THICK=0.0):
     Shadow3MirrorParameters.__init__(self, F_REFLEC, F_REFL, FILE_REFL,
                                      ALFA, GAMMA, F_THICK)
예제 #4
0
    def __init__(self,
                 F_REFLEC=0,
                 F_REFL=0,
                 FILE_REFL=init_file_name(),
                 ALFA=0.0,
                 GAMMA=0.0,
                 F_THICK=0.0):

        self.F_REFLEC = F_REFLEC
        self.F_REFL = F_REFL
        self.FILE_REFL = FILE_REFL
        self.ALFA = ALFA
        self.GAMMA = GAMMA
        self.F_THICK = F_THICK
예제 #5
0
 def __init__(self,
              F_REFLEC=0,
              F_REFL=0,
              FILE_REFL=init_file_name(),
              ALFA=0.0,
              GAMMA=0.0,
              F_THICK=0.0,
              F_EXT=1,
              F_DEFAULT=0,
              SSOUR=0.0,
              SIMAG=0.0,
              THETA=0.0,
              RMIRR=0.0):
     Shadow3CurvedMirrorParameters.__init__(self, F_REFLEC, F_REFL,
                                            FILE_REFL, ALFA, GAMMA, F_THICK,
                                            F_EXT, F_DEFAULT, SSOUR, SIMAG,
                                            THETA)
     self.RMIRR = RMIRR
예제 #6
0
 def __init__(self,
              F_REFLEC=0,
              F_REFL=0,
              FILE_REFL=init_file_name(),
              ALFA=0.0,
              GAMMA=0.0,
              F_THICK=0.0,
              F_EXT=1,
              F_DEFAULT=0,
              SSOUR=0.0,
              SIMAG=0.0,
              THETA=0.0):
     Shadow3MirrorParameters.__init__(self, F_REFLEC, F_REFL, FILE_REFL,
                                      ALFA, GAMMA, F_THICK)
     self.F_EXT = F_EXT
     self.F_DEFAULT = F_DEFAULT
     self.SSOUR = SSOUR
     self.SIMAG = SIMAG
     self.THETA = THETA
예제 #7
0
    def _build_shadow3_source(self, additional_parameters):
        shadow3_source = Source()

        shadow3_source.FSOURCE_DEPTH = 4
        shadow3_source.F_COLOR = 3
        shadow3_source.F_PHOT = 0
        shadow3_source.F_POLAR = 1
        shadow3_source.NCOL = 0
        shadow3_source.N_COLOR = 0
        shadow3_source.POL_DEG = 0.0
        shadow3_source.SIGDIX = 0.0
        shadow3_source.SIGDIZ = 0.0
        shadow3_source.SIGMAY = 0.0
        shadow3_source.WXSOU = 0.0
        shadow3_source.WYSOU = 0.0
        shadow3_source.WZSOU = 0.0
        shadow3_source.OE_NUMBER = 0
        shadow3_source.FILE_TRAJ = init_file_name()
        shadow3_source.FILE_SOURCE = init_file_name()
        shadow3_source.F_OPD = 1
        shadow3_source.F_SR_TYPE = 0
        shadow3_source.F_WIGGLER = 0

        # FROM SYNED #############################################
        #
        sigma_x, sigma_xp, sigma_z, sigma_zp = self._electron_beam.get_sigmas_all(
        )

        shadow3_source.DUMMY = 100
        shadow3_source.SIGMAX = sigma_x
        shadow3_source.SIGMAZ = sigma_z
        shadow3_source.EPSI_X = sigma_x * sigma_xp
        shadow3_source.EPSI_Z = sigma_z * sigma_zp
        shadow3_source.BENER = self._electron_beam._energy_in_GeV

        if self._magnetic_structure._radius > 0:
            shadow3_source.R_MAGNET = self._magnetic_structure._radius
        elif self._magnetic_structure._magnetic_field > 0:
            shadow3_source.R_MAGNET = self._magnetic_structure.get_magnetic_radius(
                self._electron_beam._energy_in_GeV)

        shadow3_source.R_ALADDIN = shadow3_source.R_MAGNET * 100

        ########################################################

        shadow3_source.NPOINT = additional_parameters.NPOINT
        shadow3_source.ISTAR1 = additional_parameters.ISTAR1
        shadow3_source.PH1 = additional_parameters.PH1
        shadow3_source.PH2 = additional_parameters.PH2
        shadow3_source.F_POL = additional_parameters.F_POL
        shadow3_source.EPSI_DX = additional_parameters.EPSI_DX
        shadow3_source.EPSI_DZ = additional_parameters.EPSI_DZ
        shadow3_source.HDIV1 = additional_parameters.HDIV1
        shadow3_source.HDIV2 = additional_parameters.HDIV2
        shadow3_source.VDIV1 = additional_parameters.VDIV1
        shadow3_source.VDIV2 = additional_parameters.VDIV2
        shadow3_source.FDISTR = additional_parameters.FDISTR
        shadow3_source.F_BOUND_SOUR = additional_parameters.F_BOUND_SOUR
        shadow3_source.FILE_BOUND = check_file_name(
            additional_parameters.FILE_BOUND)
        shadow3_source.NTOTALPOINT = additional_parameters.NTOTALPOINT

        return shadow3_source