/* * DO NOT MANUALLY UPDATE THIS FILE. * If needed: make cpp_headers * * fortran2c.py - automatic conversion * srapho.inc -> srapho.h */ #ifndef __SRAPHO__ #define __SRAPHO__ #include "types.h" #ifdef __cplusplus extern "C" { #endif // //=== Srapho ===========================================================* // //----------------------------------------------------------------------* // * // Synchroton RAdiation PHOton stack. * // * // ESRA(i) = Energy of synchrotron radiation (SR) photon (GeV). * // EKPSRA(i) = Kinetic energy of parent particle (GeV). * // WSRA(i) = Weight of SR photon. * // ASRA(i) = Age of the SR photon. * // {X,Y,Z}SRA(i) = Position where SR photon was generated. * // C{X,Y,Z}SRA(i) = Cosine directors of produced SR photon. * // C{X,Y,Z}PSRA(i) = Polarisation of produced SR photon. * // CMPSRA(i) = Cumulative curved path of SR photon. * // ESRMIN(j) = Lower energy bound of SR photon spectrum in the * // j-th region. * // IRGSRA(i) = Region number. * // ILTSRA(i) = Lattice cell number. * // IHSSRA(i) = History pointer. * // LTRSRA(i) = Generation number. * // NSRAPH = Number of SR photons in the stack. * // LSRAPH = Global flag to toggle SR photon emission. * // * //----------------------------------------------------------------------* // const int NSRAMX = 10000)METER(ESRMID=1.0E-9; extern struct { double esra[NSRAMX]; double ekpsra[NSRAMX]; double wsra[NSRAMX]; double asra[NSRAMX]; double xsra[NSRAMX]; double ysra[NSRAMX]; double zsra[NSRAMX]; double cxsra[NSRAMX]; double cysra[NSRAMX]; double czsra[NSRAMX]; double cxpsra[NSRAMX]; double cypsra[NSRAMX]; double czpsra[NSRAMX]; double cmpsra[NSRAMX]; double esrmin[MXXRGN]; int irgsra[NSRAMX]; long long iltsra[NSRAMX]; int ihssra[NSRAMX]; int ltrsra[NSRAMX]; int nsraph; logical lsraph[MXXRGN]; } srapho_; #ifdef __cplusplus } #endif #endif