1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
|
Scenario: spread; true causes the parameters to vary by chance, using a
specific distribution. 'spread:' is either active or not active during the
complete simulation run.
Specifications that may use spreading specify a distribution producing values
that modify the original value or randomly generate new values (used by the
Beta distributions)
Parameter variation is activated by Scenario's constructor.
Scenario's constructor may call Random::useVary(),
Distribution::useVary [ Q ]
Scenario::vary() returns true if 'spread: true' was specified
Loop::iterate calls
Modalities::vary()
TumorInfo::vary()
Random::reset() clears the caches of the distribution generators
(like d_uniform)
Modalities::vary() calls (if active):
CT::vVary()
Mammo::vVary()
Tomo::vVary()
MRI::vVary()
CT::vVary()
VSD::vary()
Mammo::Vvary() calls
VSD::vary()
AgeGroupVSD::vary()
Tomo::vVary() calls
VSD::vary()
AgeGroupVSD::vary()
MRI::vVary() calls
VSD::vary()
TumorInfo::vary() calls
Beir7::vary()
Growth::vary()
Incidence::vary()
Survival::vary()
AgeGroupVSD::vary() calls
VSD::vary()
Beir7::vary() calls
VSD::vary
Growth::vary() calls
VSD::vary
Incidence::vary() calls
VSD::vary
Survival::vary() calls
VSD::vary
VSD::vary() calls
d_value = d_dist.value(d_orgValue), determining the varied value returned
by VSD::value()
VSD defines the distribution by its enum VaryType:
enum VaryType
{
VARY_MEAN,
VARY_NONNEG,
VARY_PROB,
VARY_BETA_MALE,
VARY_BETA_FEMALE,
};
VSD's constructor is called in
beir71.cc
ct1.cc
mri1.cc
agegroupvsd1.cc
vsdparameters1.cc
vsdparameters2.cc
growth1.cc
setincidence.cc
Distribution's constructor sets d_vary to the function handling the variation.
E.g.,
varyMean, computing a variation around the configured value(orgValue)
varyBeta, returning a generated value from its beta-distribution
(orgValue not required and not used), calling Random::betaVary
TODO: but only if variation is active.
|