/* * DO NOT MANUALLY UPDATE THIS FILE. * If needed: make cpp_headers * * fortran2c.py - automatic conversion * vxlgcm.inc -> vxlgcm.h */ #ifndef __VXLGCM__ #define __VXLGCM__ #include "types.h" #ifdef __cplusplus extern "C" { #endif // //=== Vxlgcm ===========================================================* // //----------------------------------------------------------------------* // * // Copyright (C) 2003-2019: CERN & INFN * // All Rights Reserved. * // * // Include file: VoXeL Geometry CoMmon * // * // Created on 16 April 1996 by Alfredo Ferrari & Paola Sala * // Infn - Milan * // * // Never used in practice before March 2001 * // * // Vvxroi(i) = volume (cm**3) of the i_th ROI * // X,Y,Z0vxlg = starting point of the voxel geometry * // DX,Y,Zvxlg = step in x,y and z directions * // NX,Y,Zvxlg = number of voxels in x,y and z directions * // Dstvxl = current "Dist0" value * // Nrvxlg = number of voxel regions * // Mxrvxl = maximum index of voxel regions * // Nr0vxl = "mother" region of voxel geometry * // Nbvxlg = "running" body of voxel geometry * // Nb0vxl = "mother" body of voxel geometry * // Jvobgn = start of voxel-to-organ I*2 storage in blank * // common (for I*2 zero address) * // Jvrbgn = start of voxel I*2 organ-to-region correspon- * // dence storage in blank common * // (for I*2 zero address) * // Kvrbgn = start of voxel I*4 body-to-index correspondence * // storage in blank common. There are twice Nrvxlg * // fields which contain the current voxel indeces * // for the two running bodies of each region * // (for I*4 zero address) * // Kvvbgn = start of voxel I*4 organ volume (in unit of elem-* // entary cells) storage in blank common * // (for I*4 zero address) * // Jvcbgn = start of ROI combination I*2 array * // Jvibgn = start of the voxel-to-ROI I*2 array * // Lvxlgm = if true a "voxel" geometry is present * // Lvxovl = if true organ volumes are computed (in units of * // the elementary cell) * // Lvxcrd = if true the voxel file contains extra input card * // infos * // Lvxchk = if true various consistency checks are performed * // Lvxdbg = if true hard debugging is performed at every step* // Linvxl = if true the last step was actually in a voxel * // (possibly entering/exiting), the one with index * // icrvxl, entering/exiting from face ifcvxl (- for * // entering, + for exiting) * // Irtvxl = index of a possible rototranslation to be asso- * // ciated with the voxel phantom * // Nvxroi = number of Region Of Interest * // Nvxcmb = number of ROI combinations * // Mxvxcm = maximum length of a combination * // Nvxrpl = number of ROI planar structures * // Iabroi(i) = index of the cellular line radiobiological info * // to be associated to the i_th ROI * // * //----------------------------------------------------------------------* // // Maximum number of Regions of Interest const int MXVXRO = 400; extern struct { double vvxroi[MXVXRO]; double xexroi[MXVXRO][3][2]; double x0vxlg; double y0vxlg; double z0vxlg; double dxvxlg; double dyvxlg; double dzvxlg; double dstvxl; int nxvxlg; int nyvxlg; int nzvxlg; int nrvxlg; int mxrvxl; int nr0vxl; int nbvxlg; int nb0vxl; int jvobgn; int jvrbgn; int jvcbgn; int jvibgn; int kvrbgn; int kvvbgn; logical lvxlgm; logical lvxovl; logical lvxcrd; logical lvxchk; logical lvxdbg; logical linvxl; int icrvxl; int ifcvxl; int irtvxl; int nvxroi; int nvxcmb; int mxvxcm; int nvxrpl; int iabroi[MXVXRO]; } vxlgcm_; extern struct { char tivxlg[80]; char filvxl[80]; char tvxroi[MXVXRO][64]; } chvxlg_; #ifdef __cplusplus } #endif #endif