This structure defines the problem settings (domain, filenames, session) More...
#include <mmc_utils.h>
Public Attributes | |
size_t | nphoton |
int | nblocksize |
int | nthread |
int | seed |
int | e0 |
float3 | srcpos |
float4 | srcdir |
int | srctype |
float4 | srcparam1 |
float4 | srcparam2 |
float * | srcpattern |
int | voidtime |
float4 | bary0 |
float | tstart |
float | tstep |
float | tend |
float3 | steps |
uint3 | dim |
uint4 | crop0 |
uint4 | crop1 |
int | medianum |
int | srcnum |
int | detnum |
float | detradius |
float | sradius |
medium * | prop |
float4 * | detpos |
float4 | detparam1 |
float4 | detparam2 |
float * | detpattern |
float | minstep |
int | maxgate |
int | respin |
int | printnum |
int | replaydet |
unsigned char * | vol |
char | session [MAX_SESSION_LENGTH] |
char | meshtag [MAX_SESSION_LENGTH] |
char | isrowmajor |
char | isreflect |
char | isref3 |
char | isnormalized |
char | issavedet |
char | ismomentum |
char | issaveexit |
char | issave2pt |
char | isgpuinfo |
char | isspecular |
char | issaveseed |
char | issaveref |
char | isatomic |
char | method |
int | implicit |
char | basisorder |
char | outputtype |
char | outputformat |
int | mcmethod |
float | roulettesize |
float | minenergy |
float | nout |
int | isextdet |
FILE * | flog |
char | rootpath [MAX_PATH_LENGTH] |
unsigned int | debuglevel |
int | debugphoton |
float | unitinmm |
history | his |
unsigned int | checkpt [MAX_CHECKPOINT] |
void * | photonseed |
float * | replayweight |
float * | replaytime |
char | seedfile [MAX_PATH_LENGTH] |
char | deviceid [MAX_DEVICE] |
float | workload [MAX_DEVICE] |
char | compileropt [MAX_PATH_LENGTH] |
char | kernelfile [MAX_SESSION_LENGTH] |
char * | clsource |
int | parentid |
int | optlevel |
unsigned int | maxdetphoton |
double * | exportfield |
unsigned char * | exportseed |
float * | exportdetected |
double | energytot |
double | energyabs |
double | energyesc |
unsigned int | detectedcount |
unsigned int | runtime |
char | autopilot |
float | normalizer |
unsigned int | nbuffer |
unsigned int | gpuid |
int | compute |
char | isdumpjson |
int | zipid |
unsigned int | savedetflag |
uint | mediabyte |
char * | shapedata |
char | jsonfile [MAX_PATH_LENGTH] |
This structure defines the problem settings (domain, filenames, session)
char MMC_config::autopilot |
1 optimal setting for dedicated card, 2, for non dedicated card
float4 MMC_config::bary0 |
initial bary centric coordinates of the source
char MMC_config::basisorder |
0 to use piece-wise-constant basis for fluence, 1, linear
unsigned int MMC_config::checkpt[MAX_CHECKPOINT] |
a list of photon numbers at which a snapshot of the weights will be saved
uint4 MMC_config::crop0 |
sub-volume for cache
uint4 MMC_config::crop1 |
the other end of the caching box
unsigned int MMC_config::debuglevel |
a flag to control the printing of the debug information
int MMC_config::debugphoton |
if negative, print debug info for all photons, otherwise, only print for the selected one
unsigned int MMC_config::detectedcount |
total number of detected photons
int MMC_config::detnum |
total detector numbers
float4 MMC_config::detparam1 |
parameters set 1 for wide-field detector
float4 MMC_config::detparam2 |
parameters set 2 for wide-feild detector
float* MMC_config::detpattern |
detector pattern
float4* MMC_config::detpos |
detector positions and radius, overwrite detradius
float MMC_config::detradius |
detector radius
uint3 MMC_config::dim |
dim.x is the initial element number in MMC, dim.y is faceid
int MMC_config::e0 |
initial element id
FILE* MMC_config::flog |
stream handle to print log information
history MMC_config::his |
header info of the history file
int MMC_config::implicit |
1 for edge- or node-based implicit MMC, 2 for face-based implicit MMC
char MMC_config::isatomic |
1 use atomic operations for weight accumulation, 0 do not use
char MMC_config::isdumpjson |
1 to save json
int MMC_config::isextdet |
if 1, there is external wide-field detector (marked by -2 in the mesh)
char MMC_config::isgpuinfo |
1 to print gpu info when attach, 0 do not print
char MMC_config::ismomentum |
1 to save momentum transfer for detected photons, implies issavedet=1
char MMC_config::isnormalized |
1 to normalize the fluence, 0 for raw fluence
char MMC_config::isref3 |
1 considering maximum 3 ref. interfaces; 0 max 2 ref
char MMC_config::isreflect |
1 for reflecting photons at boundary,0 for exiting
char MMC_config::isrowmajor |
1 for C-styled array in vol, 0 for matlab-styled array
char MMC_config::issave2pt |
1 to save the 2-point distribution, 0 do not save
char MMC_config::issavedet |
1 to count all photons hits the detectors
char MMC_config::issaveexit |
1 to save the exit position and vector of a detected photon, implies issavedet=1 2 to save accumulated photon weight in frames of images
char MMC_config::issaveref |
1 to save diffuse reflectance on surface, 0 no save
char MMC_config::issaveseed |
1 save the seed for a detected photon, 0 do not save
char MMC_config::isspecular |
1 calculate the initial specular ref if outside the mesh, 0 do not calculate
char MMC_config::jsonfile[MAX_PATH_LENGTH] |
if the seed is specified as a file (mch), mcx will replay the photons
int MMC_config::maxgate |
simultaneous recording gates
int MMC_config::mcmethod |
0 use MCX-styled MC (micro-Beer-Lambert law), 1 use MCML-styled MC (Albedo-Weight)
int MMC_config::medianum |
total types of media
char MMC_config::meshtag[MAX_SESSION_LENGTH] |
a string to tag all input mesh files
char MMC_config::method |
0-Plucker 1-Havel, 2-Badouel, 3-branchless Badouel
float MMC_config::minenergy |
minimum energy to propagate photon
float MMC_config::minstep |
accumulation step size
int MMC_config::nblocksize |
thread block size
unsigned int MMC_config::nbuffer |
2^nbuffer is the number of buffers for accummulation
float MMC_config::normalizer |
normalization factor
float MMC_config::nout |
refractive index for the domain outside the mesh
size_t MMC_config::nphoton |
total simulated photon number, max: 2^64-1
int MMC_config::nthread |
num of total threads, multiple of 128
char MMC_config::outputformat |
'ascii' output is text, 'bin': binary, 'json': regular json, 'ubjson': universal binary json
char MMC_config::outputtype |
'X' output is flux, 'F' output is fluence, 'E' energy deposit
void* MMC_config::photonseed |
pointer to the seeds of the replayed photon
int MMC_config::printnum |
number of printed threads (for debugging)
medium* MMC_config::prop |
optical property mapping table
int MMC_config::replaydet |
the detector id for which to replay the detected photons, start from 1 0 for wide-field detection pattern
float* MMC_config::replaytime |
pointer to the detected photon time-of-fly array
float* MMC_config::replayweight |
pointer to the detected photon weight array
int MMC_config::respin |
number of repeatitions
char MMC_config::rootpath[MAX_PATH_LENGTH] |
a string to specify the root folder of the simulation
float MMC_config::roulettesize |
number of roulette for termination
unsigned int MMC_config::savedetflag |
a flag to control the output fields of detected photon data
int MMC_config::seed |
random number generator seed
char MMC_config::seedfile[MAX_PATH_LENGTH] |
if the seed is specified as a file (mch), mcx will replay the photons
char MMC_config::session[MAX_SESSION_LENGTH] |
session id, a string
char* MMC_config::shapedata |
a pointer points to a string defining the JSON-formatted shape data
float MMC_config::sradius |
source region radius: if set to non-zero, accumulation \ will not perform for dist<sradius; this can reduce \ normalization error when using non-atomic write
float4 MMC_config::srcdir |
src normal direction
int MMC_config::srcnum |
total number of sources, could be larger than 1 only with pattern illumination
float4 MMC_config::srcparam1 |
source parameters set 1
float4 MMC_config::srcparam2 |
source parameters set 2
float* MMC_config::srcpattern |
source pattern
float3 MMC_config::srcpos |
src position in mm
int MMC_config::srctype |
src type: 0 - pencil beam, 1 - isotropic ...
float3 MMC_config::steps |
voxel sizes along x/y/z in mm
float MMC_config::tend |
end time in second
float MMC_config::tstart |
start time in second
float MMC_config::tstep |
time step in second
float MMC_config::unitinmm |
define the length unit in mm
unsigned char* MMC_config::vol |
pointer to the volume
int MMC_config::zipid |
data zip method "zlib","gzip","base64","lzip","lzma","lz4","lz4hc"