Public Attributes | List of all members
MMC_config Struct Reference

This structure defines the problem settings (domain, filenames, session) More...

#include <mmc_utils.h>

Collaboration diagram for MMC_config:
Collaboration graph
[legend]

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
 
mediumprop
 
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]
 

Detailed Description

This structure defines the problem settings (domain, filenames, session)

Member Data Documentation

◆ autopilot

char MMC_config::autopilot

1 optimal setting for dedicated card, 2, for non dedicated card

◆ bary0

float4 MMC_config::bary0

initial bary centric coordinates of the source

◆ basisorder

char MMC_config::basisorder

0 to use piece-wise-constant basis for fluence, 1, linear

◆ checkpt

unsigned int MMC_config::checkpt[MAX_CHECKPOINT]

a list of photon numbers at which a snapshot of the weights will be saved

◆ crop0

uint4 MMC_config::crop0

sub-volume for cache

◆ crop1

uint4 MMC_config::crop1

the other end of the caching box

◆ debuglevel

unsigned int MMC_config::debuglevel

a flag to control the printing of the debug information

◆ debugphoton

int MMC_config::debugphoton

if negative, print debug info for all photons, otherwise, only print for the selected one

◆ detectedcount

unsigned int MMC_config::detectedcount

total number of detected photons

◆ detnum

int MMC_config::detnum

total detector numbers

◆ detparam1

float4 MMC_config::detparam1

parameters set 1 for wide-field detector

◆ detparam2

float4 MMC_config::detparam2

parameters set 2 for wide-feild detector

◆ detpattern

float* MMC_config::detpattern

detector pattern

◆ detpos

float4* MMC_config::detpos

detector positions and radius, overwrite detradius

◆ detradius

float MMC_config::detradius

detector radius

◆ dim

uint3 MMC_config::dim

dim.x is the initial element number in MMC, dim.y is faceid

◆ e0

int MMC_config::e0

initial element id

◆ flog

FILE* MMC_config::flog

stream handle to print log information

◆ his

history MMC_config::his

header info of the history file

◆ implicit

int MMC_config::implicit

1 for edge- or node-based implicit MMC, 2 for face-based implicit MMC

◆ isatomic

char MMC_config::isatomic

1 use atomic operations for weight accumulation, 0 do not use

◆ isdumpjson

char MMC_config::isdumpjson

1 to save json

◆ isextdet

int MMC_config::isextdet

if 1, there is external wide-field detector (marked by -2 in the mesh)

◆ isgpuinfo

char MMC_config::isgpuinfo

1 to print gpu info when attach, 0 do not print

◆ ismomentum

char MMC_config::ismomentum

1 to save momentum transfer for detected photons, implies issavedet=1

◆ isnormalized

char MMC_config::isnormalized

1 to normalize the fluence, 0 for raw fluence

◆ isref3

char MMC_config::isref3

1 considering maximum 3 ref. interfaces; 0 max 2 ref

◆ isreflect

char MMC_config::isreflect

1 for reflecting photons at boundary,0 for exiting

◆ isrowmajor

char MMC_config::isrowmajor

1 for C-styled array in vol, 0 for matlab-styled array

◆ issave2pt

char MMC_config::issave2pt

1 to save the 2-point distribution, 0 do not save

◆ issavedet

char MMC_config::issavedet

1 to count all photons hits the detectors

◆ issaveexit

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

◆ issaveref

char MMC_config::issaveref

1 to save diffuse reflectance on surface, 0 no save

◆ issaveseed

char MMC_config::issaveseed

1 save the seed for a detected photon, 0 do not save

◆ isspecular

char MMC_config::isspecular

1 calculate the initial specular ref if outside the mesh, 0 do not calculate

◆ jsonfile

char MMC_config::jsonfile[MAX_PATH_LENGTH]

if the seed is specified as a file (mch), mcx will replay the photons

◆ maxgate

int MMC_config::maxgate

simultaneous recording gates

◆ mcmethod

int MMC_config::mcmethod

0 use MCX-styled MC (micro-Beer-Lambert law), 1 use MCML-styled MC (Albedo-Weight)

◆ medianum

int MMC_config::medianum

total types of media

◆ meshtag

char MMC_config::meshtag[MAX_SESSION_LENGTH]

a string to tag all input mesh files

◆ method

char MMC_config::method

0-Plucker 1-Havel, 2-Badouel, 3-branchless Badouel

◆ minenergy

float MMC_config::minenergy

minimum energy to propagate photon

◆ minstep

float MMC_config::minstep

accumulation step size

◆ nblocksize

int MMC_config::nblocksize

thread block size

◆ nbuffer

unsigned int MMC_config::nbuffer

2^nbuffer is the number of buffers for accummulation

◆ normalizer

float MMC_config::normalizer

normalization factor

◆ nout

float MMC_config::nout

refractive index for the domain outside the mesh

◆ nphoton

size_t MMC_config::nphoton

total simulated photon number, max: 2^64-1

◆ nthread

int MMC_config::nthread

num of total threads, multiple of 128

◆ outputformat

char MMC_config::outputformat

'ascii' output is text, 'bin': binary, 'json': regular json, 'ubjson': universal binary json

◆ outputtype

char MMC_config::outputtype

'X' output is flux, 'F' output is fluence, 'E' energy deposit

◆ photonseed

void* MMC_config::photonseed

pointer to the seeds of the replayed photon

◆ printnum

int MMC_config::printnum

number of printed threads (for debugging)

◆ prop

medium* MMC_config::prop

optical property mapping table

◆ replaydet

int MMC_config::replaydet

the detector id for which to replay the detected photons, start from 1 0 for wide-field detection pattern

◆ replaytime

float* MMC_config::replaytime

pointer to the detected photon time-of-fly array

◆ replayweight

float* MMC_config::replayweight

pointer to the detected photon weight array

◆ respin

int MMC_config::respin

number of repeatitions

◆ rootpath

char MMC_config::rootpath[MAX_PATH_LENGTH]

a string to specify the root folder of the simulation

◆ roulettesize

float MMC_config::roulettesize

number of roulette for termination

◆ savedetflag

unsigned int MMC_config::savedetflag

a flag to control the output fields of detected photon data

◆ seed

int MMC_config::seed

random number generator seed

◆ seedfile

char MMC_config::seedfile[MAX_PATH_LENGTH]

if the seed is specified as a file (mch), mcx will replay the photons

◆ session

char MMC_config::session[MAX_SESSION_LENGTH]

session id, a string

◆ shapedata

char* MMC_config::shapedata

a pointer points to a string defining the JSON-formatted shape data

◆ sradius

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

◆ srcdir

float4 MMC_config::srcdir

src normal direction

◆ srcnum

int MMC_config::srcnum

total number of sources, could be larger than 1 only with pattern illumination

◆ srcparam1

float4 MMC_config::srcparam1

source parameters set 1

◆ srcparam2

float4 MMC_config::srcparam2

source parameters set 2

◆ srcpattern

float* MMC_config::srcpattern

source pattern

◆ srcpos

float3 MMC_config::srcpos

src position in mm

◆ srctype

int MMC_config::srctype

src type: 0 - pencil beam, 1 - isotropic ...

◆ steps

float3 MMC_config::steps

voxel sizes along x/y/z in mm

◆ tend

float MMC_config::tend

end time in second

◆ tstart

float MMC_config::tstart

start time in second

◆ tstep

float MMC_config::tstep

time step in second

◆ unitinmm

float MMC_config::unitinmm

define the length unit in mm

◆ vol

unsigned char* MMC_config::vol

pointer to the volume

◆ zipid

int MMC_config::zipid

data zip method "zlib","gzip","base64","lzip","lzma","lz4","lz4hc"


The documentation for this struct was generated from the following file: