function pbeDefinition = constGrowth_metroVol(seed)

%% call common definition
pbeDefinition = constGrowth_common;

% obtain the real maximum in the distribution
[x fVal exitFlag] = fminsearch(@(x)(-1*pbeDefinition.seeding.volumeHandle(1e-6*x) / 1e37),...
    pbeDefinition.seeding.mean*1e6);
metroInit = x * 1e-6;

%% discrete sampling
thisFileName = ['metroArchive/constGrowthMetroVol_' num2str(seed) '.matx'];
% pbeDefinition.seeding.nSample = 1e3;
if ~exist(thisFileName, 'file')
    rng(seed);
    % take integral from already-performed integration
    load('constGrowthIntegrals_0.matx', '-mat');
    disD = obtainDistributionDiscrete('metro', ...
        'nSample', pbeDefinition.seeding.nSample, ...
        'metroSpacing', 2, ...
        'metroHandle', pbeDefinition.seeding.volumeHandle, ...
        'metroInit', metroInit, ...  %m
        'metroCov', pbeDefinition.seeding.cov, ...
        'metroNonAdaptive', 1e3, ...
        'metroNoHistory', 1e3, ...
        'metroIntegral', integral.volume.value, ...
        'metroSampleBatch', 1e3, ...
        'metroRelTol', 1e-3, ...
        'verbose', 1);
    save(thisFileName, '-mat', 'disD')
else
    load(thisFileName, '-mat');
end
pbeDefinition.seeding.disD = disD;

% printDistributionStatistics(pbeDefinition)
