87 #ifndef EGS_INTERFACE1_
88 #define EGS_INTERFACE1_
90 #include "egs_config1.h"
94 #include "array_sizes.h"
112 EGS_Float
x[MXSTACK];
114 EGS_Float
y[MXSTACK];
116 EGS_Float
z[MXSTACK];
118 EGS_Float
u[MXSTACK];
120 EGS_Float
v[MXSTACK];
122 EGS_Float
w[MXSTACK];
126 EGS_Float
wt[MXSTACK];
554 EGS_I32 mcdf_pe_xsections;
618 char file_extensions[20][10];
619 EGS_I32 file_units[20];
621 char input_file[256];
622 char output_file[256];
628 EGS_I32 n_parallel, i_parallel, first_parallel, n_max_parallel,
629 n_chunk, n_files, i_input, i_log, i_incoh, i_nist_data,
630 i_mscat, i_photo_cs, i_photo_relax, xsec_out, is_batch,
631 is_uniform_run, is_pegsless;
641 EGS_Float
ExIN, EyIN, EzIN, EMLMTIN,
642 BxIN, ByIN, BzIN, Bx, By, Bz, Bx_new, By_new, Bz_new;
712 extern __extc__
void egsInit(
int argc,
char **argv);
715 #define egsFinish F77_OBJ_(egs_finish,EGS_FINISH)
728 #define egsAddMedium F77_OBJ_(egs_add_medium,EGS_ADD_MEDIUM)
740 extern __extc__ EGS_I32
egsAddMedium(
const char *medname, EGS_I32 length);
745 #define egsHatch F77_OBJ_(egs_hatch,EGS_HATCH)
756 extern __extc__
void egsHatch(
void);
761 #define egsShower F77_OBJ_(egs_shower,EGS_SHOWER)
779 #define egsRandomDefaultInit F77_OBJ_(egs_init_default_rng,EGS_INIT_DEFAULT_RNG)
792 #define egsRandomInit F77_OBJ_(egs_init_rng,EGS_INIT_RNG)
807 #define egsRandomGet F77_OBJ_(egs_get_rndm,EGS_GET_RNDM)
821 #define egsFillRandomArray F77_OBJ_(egs_fill_rndm_array,EGS_GET_RNDM_ARRAY)
838 #define egsElapsedTime F77_OBJ_(egs_tot_time,EGS_TOT_TIME)
847 #define egsCpuTime F77_OBJ_(egs_etime,EGS_ETIME)
856 #define egsGetTransportParameter F77_OBJ_(get_transport_parameter,GET_TRANSPORT_PARAMETER)
873 #define egsHowfar F77_OBJ_(egs_howfar,EGS_HOWFAR)
906 #define egsHownear F77_OBJ_(egs_hownear,EGS_HOWNEAR)
919 extern __extc__
void egsHownear(EGS_Float *tperp);
922 #define egsAusgab F77_OBJ_(egs_ausgab,EGS_AUSGAB)
932 extern __extc__
void egsAusgab(EGS_I32 *iarg);
935 #define egsStartParticle F77_OBJ_(egs_start_particle,EGS_START_PARTICLE)
__extc__ struct EGS_VarianceReduction * the_egsvr
The address of the mortran egs_vr common block as a pointer to a C-structure of type EGS_VarianceRedu...
__extc__ struct EGS_Useful * the_useful
The address of the mortran USEFUL common block as a pointer to a C-structure of type EGS_Useful.
__extc__ struct EGS_Bounds * the_bounds
The address of the morrtan BOUNDS common block as a pointer to a C-structure of type EGS_Bounds.
__extc__ struct EGS_Epcont * the_epcont
The address of the mortran EPCONT common block as a pointer to a C-structure of type EGS_Epcont.
#define egsHatch
Initialize cross section data from a PEGS4 data file.
__extc__ struct EGS_emfInputs * the_emf
The address of the mortran EMF-INPUTS common block as a pointer to a C-structure of type EGS_emfInput...
#define egsHowfar
Calculate distance to the next boundary along the current direction of motion.
#define egsShower
Transport the particles currently on the particle stack.
__extc__ struct EGS_EtControl * the_etcontrol
The address of the mortran Et_Control common block as a pointer to a C-structure of type EGS_EtContro...
__extc__ struct EGS_XOptions * the_xoptions
The address of the mortran cross section options common block as a pointer to a C-structure of type E...
__extc__ void egsInit(int argc, char **argv)
Initializes the EGSnrc mortran back-end.
#define egsStartParticle
Start the transport of a new particle.
#define egsGetTransportParameter
#define egsFillRandomArray
#define egsFinish
Finish a simulation.
__extc__ struct EGS_Rayleigh * the_rayleigh
The address of the mortran rayleigh_inputs common block as a pointer to a C-structure of type EGS_Ray...
__extc__ struct EGS_Stack * the_stack
The address of the mortran STACK common block as a pointer to a C-structure of type EGS_Stack.
__extc__ struct EGS_Media * the_media
The address of the mortran MEDIA common block as a pointer to a C-structure of type EGS_Media
#define egsRandomDefaultInit
Initialize the EGSnrc RNG using default values.
__extc__ struct EGS_IO * the_egsio
The address of the mortran egs_io common block as a pointer to a C-structure of type EGS_IO.
__extc__ struct EGS_Thresh * the_thresh
The address of the mortran THRESH common block as a pointer to a C-structure of type EGS_Thresh.
#define egsCpuTime
Get the CPU time used since the process started.
A structure corresponding to the EGSnrc transport threshold energies common block BOUNDS.
A structure corresponding to the EPCONT common block.
A structure corresponding to the ET_control common block.
EGS_Float skindepth_for_bca
EGS_I32 transport_algorithm
A structure corresponding to the egs_io common block.
A structure corresponding to the rayleigh_inputs common block.
A structure corresponding to the EGSnrc particle stack common block STACK.
A structure corresponding to the particle production threshold energies common block THRESH.
A structure corresponding to the USEFUL common block.
double prm
Precise electron rest energy in MeV.
EGS_Float rhor
Mass density ratio.
double pzero
Precise zero.
EGS_I32 medium
Current medium.
EGS_Float rm
Electron rest energy.
EGS_Float rhor_new
Mass density ratio in the new region.
EGS_I32 medium_new
Medium in the new region.
EGS_I32 medold
Old medium.
A structure corresponding to the egs_vr common block.
A structure corresponding to the xsection_options common block.