|
Nemo
2.2.0
|
A StatHandler for the Metapop SimComponent. More...
#include <MPStatHandler.h>
Inheritance diagram for MPStatHandler:
Collaboration diagram for MPStatHandler:A StatHandler for the Metapop SimComponent.
Definition at line 40 of file MPStatHandler.h.
| MPStatHandler::MPStatHandler | ( | ) | [inline] |
Definition at line 49 of file MPStatHandler.h.
{ }
| virtual MPStatHandler::~MPStatHandler | ( | ) | [inline, virtual] |
Definition at line 51 of file MPStatHandler.h.
{}
| double MPStatHandler::get_isAlive | ( | ) |
| double MPStatHandler::getAdultSexRatio | ( | ) |
| double MPStatHandler::getAdultsNumber | ( | ) |
Definition at line 626 of file stats_demo.cc.
| double MPStatHandler::getAdultsNumber | ( | unsigned int | i | ) |
Definition at line 627 of file stats_demo.cc.
| double MPStatHandler::getEmigrantInPatch | ( | unsigned int | i | ) |
Definition at line 128 of file stats_demo.cc.
{
Patch* patch = _pop->getPatch(i);
return (patch != 0 ? patch->nbEmigrant : 0);
}
| double MPStatHandler::getFemNumber | ( | ) |
| double MPStatHandler::getFemNumber | ( | unsigned int | i | ) |
| double MPStatHandler::getImigrateInPatch | ( | unsigned int | i | ) |
Definition at line 140 of file stats_demo.cc.
{
Patch* patch = _pop->getPatch(i);
return (patch != 0 ? (double)patch->nbImigrant/(double)(patch->nbImigrant + patch->nbPhilopat)
: nanf("NULL"));
}
| double MPStatHandler::getKolonisersInPatch | ( | unsigned int | i | ) |
Definition at line 148 of file stats_demo.cc.
{
Patch* patch = _pop->getPatch(i);
int colon = (patch != 0 ? patch->nbKolonisers : 0);
return (colon != -1 ? colon : nanf("NULL"));
}
| double MPStatHandler::getMalNumber | ( | ) |
| double MPStatHandler::getMalNumber | ( | unsigned int | i | ) |
| double MPStatHandler::getMeanAdultsFemNumber | ( | ) |
| double MPStatHandler::getMeanAdultsMalNumber | ( | ) |
| double MPStatHandler::getMeanAdultsPopSatLevel | ( | ) |
Definition at line 287 of file stats_demo.cc.
{
double mean = 0;
unsigned int nb_patch = 0;
for(unsigned int i = 0; i < _pop->getPatchNbr(); i++) {
nb_patch += (_pop->size(ADULTS,i) != 0);
mean += _pop->getPatch(i)->getPatchAdultsSatLevel();
}
return (nb_patch != 0 ? mean/nb_patch : nanf("NULL"));
}
| double MPStatHandler::getMeanAdultsPopSatVar | ( | ) |
Definition at line 300 of file stats_demo.cc.
{
unsigned int i,nb_patch;
vector<double> stat;
double var = 0, mean = 0, val;
for(i = 0; i < _pop->getPatchNbr(); i++) {
if(_pop->size(ADULTS,i) != 0){
val = _pop->getPatch(i)->getPatchAdultsSatLevel();
stat.push_back(val);
mean += val;
}
}
nb_patch = stat.size();
mean = (nb_patch != 0 ? mean/nb_patch : 0);
for(i = 0; i < nb_patch; i++)
var += pow((stat[i]-mean),2);
return (nb_patch != 0 ? var/nb_patch : nanf("NULL"));
}
| double MPStatHandler::getMeanAssignedFecundity | ( | unsigned int | sex | ) |
Definition at line 329 of file stats_demo.cc.
{
double mean = 0, sum = 0;
unsigned int nbpatch = 0;
Patch* crnt_patch;
if((bool)sex) {
for(unsigned int i = 0; i < _pop->getPatchNbr(); ++i) {
crnt_patch = _pop->getPatch(i);
if(crnt_patch->size(FEM, ADLTx) != 0) {
nbpatch++;
sum = 0;
for(unsigned int j = 0; j < crnt_patch->size(FEM, ADLTx);++j)
sum += crnt_patch->get(FEM, ADLTx, j)->getFecundity();
mean += sum/crnt_patch->size(FEM, ADLTx);
}
}
} else {
for(unsigned int i = 0; i < _pop->getPatchNbr(); ++i) {
crnt_patch = _pop->getPatch(i);
if(crnt_patch->size(MAL, ADLTx) != 0) {
nbpatch++;
sum = 0;
for(unsigned int j = 0; j < crnt_patch->size(MAL, ADLTx);++j)
sum += crnt_patch->get(MAL, ADLTx, j)->getFecundity();
mean += sum/crnt_patch->size(MAL, ADLTx);
}
}
}
return (nbpatch != 0 ? mean/nbpatch : nanf("NULL"));
}
| double MPStatHandler::getMeanEmigrantPerPatch | ( | ) |
Definition at line 43 of file stats_demo.cc.
{
unsigned int meanM = 0;
for(unsigned int i = 0; i < _pop->getPatchNbr(); i++)
meanM += _pop->getPatch(i)->nbEmigrant;
meanEmigrant = (double)meanM/_pop->getPatchNbr();
return meanEmigrant;
}
| double MPStatHandler::getMeanImigrantPerPatch | ( | ) |
Definition at line 55 of file stats_demo.cc.
{
double meanM = 0,nbpatch = 0;
Patch* current_patch;
for(unsigned int i = 0; i < _pop->getPatchNbr(); i++) {
current_patch = _pop->getPatch(i);
if(!current_patch->get_isExtinct()){
meanM += current_patch->nbImigrant;
nbpatch++;
}
}
meanImigrant = (nbpatch != 0 ? meanM/nbpatch : nanf("NULL"));
return meanImigrant;
}
| double MPStatHandler::getMeanKolonisersPerPatch | ( | ) |
Definition at line 113 of file stats_demo.cc.
{
double mean = 0,nbpatch = 0;
Patch* current_patch;
for(unsigned int i = 0; i < _pop->getPatchNbr(); i++){
current_patch = _pop->getPatch(i);
if(current_patch->nbKolonisers >= 0) {
mean += current_patch->nbKolonisers;
nbpatch++;
}
}
meanKolonisers = (nbpatch != 0 ? mean/nbpatch : nanf("NULL"));
return meanKolonisers;
}
| double MPStatHandler::getMeanKolonisersProportion | ( | ) |
Definition at line 96 of file stats_demo.cc.
{
double nbpatch = 0, mean = 0;
Patch* current_patch;
for(unsigned int i = 0; i < _pop->getPatchNbr(); i++){
current_patch = _pop->getPatch(i);
if(current_patch->nbKolonisers >= 0) {
mean += fmin((double)current_patch->nbKolonisers / current_patch->get_K(), 1.0);
nbpatch++;
}
}
return (nbpatch != 0 ? mean/nbpatch : nanf("NULL"));
}
| double MPStatHandler::getMeanMatings | ( | unsigned int | sex | ) |
Definition at line 363 of file stats_demo.cc.
{
double mean = 0, sum = 0;
unsigned int nbpatch = 0;
Patch* crnt_patch;
if((bool)sex) {
for(unsigned int i = 0; i < _pop->getPatchNbr(); ++i) {
crnt_patch = _pop->getPatch(i);
if(crnt_patch->size(FEM, ADLTx) != 0) {
nbpatch++;
sum = 0;
for(unsigned int j = 0; j < crnt_patch->size(FEM, ADLTx);++j)
sum += crnt_patch->get(FEM, ADLTx, j)->getTotMatings();
mean += sum/crnt_patch->size(FEM, ADLTx);
}
}
} else {
for(unsigned int i = 0; i < _pop->getPatchNbr(); ++i) {
crnt_patch = _pop->getPatch(i);
if(crnt_patch->size(MAL, ADLTx) != 0) {
nbpatch++;
sum = 0;
for(unsigned int j = 0; j < crnt_patch->size(MAL, ADLTx);++j)
sum += crnt_patch->get(MAL, ADLTx, j)->getTotMatings();
mean += sum/crnt_patch->size(MAL, ADLTx);
}
}
}
return (nbpatch != 0 ? mean/nbpatch : nanf("NULL"));
}
| double MPStatHandler::getMeanMigrantRatio | ( | ) |
Definition at line 72 of file stats_demo.cc.
{
return ((meanImigrant+meanResidant) != 0 ? meanImigrant/(meanImigrant+meanResidant) : 0);
}
| double MPStatHandler::getMeanOffsprgFemNumber | ( | ) |
| double MPStatHandler::getMeanOffsprgMalNumber | ( | ) |
| double MPStatHandler::getMeanOffsprgPopSatLevel | ( | ) |
Definition at line 223 of file stats_demo.cc.
{
double mean = 0;
unsigned int nb_patch = 0;
for(unsigned int i = 0; i < _pop->getPatchNbr(); i++) {
nb_patch += (_pop->size(OFFSPRG,i) != 0);
mean += _pop->getPatch(i)->getPatchOffsprgSatLevel();
}
return (nb_patch != 0 ? mean/nb_patch : nanf("NULL"));
}
| double MPStatHandler::getMeanOffsprgPopSatVar | ( | ) |
Definition at line 237 of file stats_demo.cc.
{
unsigned int i,nb_patch;
vector<double> stat;
double var = 0, mean = 0, val;
for(i = 0; i < _pop->getPatchNbr(); i++) {
if(_pop->size(OFFSPRG,i) != 0){
val = _pop->getPatch(i)->getPatchOffsprgSatLevel();
stat.push_back(val);
mean += val;
}
}
nb_patch = stat.size();
mean = (nb_patch != 0 ? mean/nb_patch : 0);
for(i = 0; i < nb_patch; i++)
var += pow((stat[i]-mean),2);
return (nb_patch != 0 ? var/nb_patch : nanf("NULL"));
}
| double MPStatHandler::getMeanPatchAge | ( | ) |
Definition at line 178 of file stats_demo.cc.
{
int mean = 0;
for(unsigned int i = 0; i < _pop->getPatchNbr(); ++i)
mean += _pop->getPatch(i)->get_age();
return mean/_pop->getPatchNbr();
}
| double MPStatHandler::getMeanResidantPerPatch | ( | ) |
Definition at line 79 of file stats_demo.cc.
{
double meanR = 0,nbpatch = 0;
Patch* current_patch;
for(unsigned int i = 0; i < _pop->getPatchNbr(); i++){
current_patch = _pop->getPatch(i);
if(!current_patch->get_isExtinct()){
meanR += current_patch->nbPhilopat;
nbpatch++;
}
}
meanResidant = (nbpatch != 0 ? meanR/nbpatch : nanf("NULL"));
return meanResidant;
}
| double MPStatHandler::getObsrvdExtinctionRate | ( | ) | [inline] |
Definition at line 75 of file MPStatHandler.h.
References ObservedExtinctionRate.
{return ObservedExtinctionRate;}
| double MPStatHandler::getOffFemNumber | ( | unsigned int | i | ) |
| double MPStatHandler::getOffMalNumber | ( | unsigned int | i | ) |
| double MPStatHandler::getOffsprgNumber | ( | ) |
Definition at line 620 of file stats_demo.cc.
| double MPStatHandler::getOffsprgSexRatio | ( | ) |
| double MPStatHandler::getOffspringNumber | ( | unsigned int | i | ) |
Definition at line 621 of file stats_demo.cc.
| double MPStatHandler::getPatchAge | ( | unsigned int | i | ) |
| double MPStatHandler::getPedProportion | ( | unsigned int | i | ) | [inline] |
| double MPStatHandler::getReproductiveVar | ( | ) | [inline] |
Definition at line 101 of file MPStatHandler.h.
References _var_reprod_success.
{return _var_reprod_success;}
| double MPStatHandler::getResidantInPatch | ( | unsigned int | i | ) |
Definition at line 134 of file stats_demo.cc.
{
Patch* patch = _pop->getPatch(i);
return (patch != 0 ? patch->nbPhilopat : 0);
}
| double MPStatHandler::getSibProportion | ( | unsigned int | i | ) | [inline] |
| void MPStatHandler::setKinClassCounter | ( | Individual * | I1, |
| Individual * | I2 | ||
| ) |
Definition at line 558 of file stats_demo.cc.
{
//non sibs
if((I1->getMotherID() != I2->getMotherID()) && (I1->getFatherID() != I2->getFatherID()))
_sib_prop[0]++;
//maternal half sibs
else if((I1->getMotherID() == I2->getMotherID()) && (I1->getFatherID() != I2->getFatherID()))
_sib_prop[1]++;
//paternal half sibs
else if((I1->getMotherID() != I2->getMotherID()) && (I1->getFatherID() == I2->getFatherID()))
_sib_prop[2]++;
//full sibs
else if((I1->getMotherID() == I2->getMotherID()) && (I1->getFatherID() == I2->getFatherID()))
_sib_prop[3]++;
}
| void MPStatHandler::setKinship | ( | ) |
Definition at line 469 of file stats_demo.cc.
{
unsigned int i,j,k;
unsigned int patchNbr = this->_pop->getPatchNbr(), Msize=0, Fsize=0;
Patch* current_patch;
Individual *I1,*I2;
//counters initialization
for(i = 0; i < 5; ++i) _sib_prop[i] = 0.0;
for( i = 0; i < patchNbr; ++i) {
current_patch = _pop->getPatch(i);
//male-male
if ( (Msize = current_patch->size(MAL, OFFSx)) != 0) {
for(j = 0; j < Msize -1; ++j) {
I1 = current_patch->get(MAL, OFFSx, j);
for(k = j+1; k < Msize; ++k) {
I2 = current_patch->get(MAL, OFFSx, k);
setKinClassCounter(I1, I2);
} //end for k < size
//selfed offspring counter:
if(I1->getIsSelfed()) _sib_prop[4]++;
} //end for j < size-1
//don't forget the last one!
if(current_patch->get(MAL, OFFSx, Msize -1)->getIsSelfed()) _sib_prop[4]++;
}//endif
//female-female
if ( (Fsize = current_patch->size(FEM, OFFSx)) != 0) {
for(j = 0; j < Fsize -1; ++j) {
I1 = current_patch->get(FEM, OFFSx, j);
for(k = j+1; k < Fsize; ++k) {
I2 = current_patch->get(FEM, OFFSx, k);
setKinClassCounter(I1, I2);
} //end for k < size
//selfed offspring counter:
if(I1->getIsSelfed()) _sib_prop[4]++;
} //end for j < size-1
//don't forget the last one!
if(current_patch->get(FEM, OFFSx, Fsize -1)->getIsSelfed()) _sib_prop[4]++;
}//endif
//male-female
for(j = 0; j < Msize; ++j) {
I1 = current_patch->get(MAL, OFFSx, j);
for(k = 0; k < Fsize; ++k) {
I2 = current_patch->get(FEM, OFFSx, k);
setKinClassCounter(I1, I2);
} //end for k
} //end for j
} //end for i < patchNbr
//total number of pairwise comparisons:
double tot = _sib_prop[0] + _sib_prop[1] + _sib_prop[2] + _sib_prop[3];
for(i = 0 ; i < 4; ++i) _sib_prop[i] /= tot;
_sib_prop[4] /= _pop->size(OFFSPRG);
}
| void MPStatHandler::setObsrvdExtinctionRate | ( | ) |
Definition at line 162 of file stats_demo.cc.
{
ObservedExtinctionRate = 0;
for(unsigned int i = 0; i < _pop->getPatchNbr(); ++i)
ObservedExtinctionRate += _pop->getPatch(i)->isEmpty();
ObservedExtinctionRate /= _pop->getPatchNbr();
}
| void MPStatHandler::setPedegreeCount | ( | ) |
Definition at line 580 of file stats_demo.cc.
{
unsigned int i,j;
unsigned int patchNbr = _pop->getPatchNbr();
Patch* patch;
//counters initialization
for(i = 0; i < 5; ++i) _ped_prop[i] = 0.0;
for(i = 0; i < patchNbr; ++i) {
patch = _pop->getPatch(i);
//males
for(j = 0; j < patch->size(MAL, OFFSx); ++j) {
_ped_prop[ patch->get(MAL, OFFSx, j)->getPedigreeClass() ]++;
}
//females
for(j = 0; j < patch->size(FEM, OFFSx); ++j) {
_ped_prop[ patch->get(FEM, OFFSx, j)->getPedigreeClass() ]++;
}
} //end for i < patchNbr
//total:
double tot = _ped_prop[0] + _ped_prop[1] + _ped_prop[2] + _ped_prop[3] + _ped_prop[4];
for(i = 0 ; i < 5; ++i) _ped_prop[i] /= tot;
}
| double MPStatHandler::setReproductiveStats | ( | unsigned int | sex | ) |
Definition at line 397 of file stats_demo.cc.
{
double var = 0, mean = 0;
unsigned int tot_size = _pop->size( (sex_t)sex, ADULTS ), v = 0;
double *stat;
Patch *crnt_patch;
if(tot_size == 0) {
_var_reprod_success = nanf("NULL");
return nanf("NULL");
}
stat = new double [tot_size];
//females
if((bool)sex) {
for(unsigned int i = 0; i < _pop->getPatchNbr(); ++i) {
crnt_patch = _pop->getPatch(i);
for(unsigned int j = 0, size = crnt_patch->size(FEM, ADLTx);
j < size;
++j)
{
stat[v] = crnt_patch->get(FEM, ADLTx, j)->getTotRealizedFecundity();
mean += stat[v];
v++;
}
}
mean /= tot_size;
for(unsigned int i = 0; i < tot_size; ++i)
var += pow( (stat[i] - mean), 2);
var /= tot_size;
//males
} else {
for(unsigned int i = 0; i < _pop->getPatchNbr(); ++i) {
crnt_patch = _pop->getPatch(i);
for(unsigned int j = 0, size = crnt_patch->size(MAL, ADLTx);
j < size;
++j)
{
stat[v] = crnt_patch->get(MAL, ADLTx, j)->getTotRealizedFecundity();
mean += stat[v];
v++;
}
}
mean /= tot_size;
for(unsigned int i = 0; i < tot_size; ++i)
var += pow( (stat[i] - mean), 2);
var /= tot_size;
}
_var_reprod_success = var;
delete [] stat;
return mean;
}
| bool MPStatHandler::setStatRecorders | ( | std::string & | token | ) | [virtual] |
Implements StatHandlerBase.
Definition at line 42 of file MPStatHandler.cc.
{
#ifdef _DEBUG_
message("-MPStatHandler::setStatRecorders ");
#endif
if(token.compare("extrate") == 0) {
add("Extinction rate","extrate",ALL,0,0,&MPStatHandler::getObsrvdExtinctionRate,0,0,
&MPStatHandler::setObsrvdExtinctionRate);
} else if(token.compare("pop") == 0) {
setStatsForPop();
} else if(token.compare("popperpatch") == 0) {
setStatsForPopPerPatch();
} else if(token.compare("adultsexratio") == 0) {
add("Adults sex ratio","adlt.sexratio",ADULTS,0,0,&MPStatHandler::getAdultSexRatio,0,0,0);
} else if(token.compare("offsexratio") == 0) {
add("Offspring Sex Ratio","off.sexratio",OFFSPRG,0,0,&MPStatHandler::getOffsprgSexRatio,0,0,0);
} else if(token.compare("migrants") == 0) {
setStatsForMigrants();
} else if(token.compare("migrants.perpatch") == 0) {
setStatsForMigrantsPerPatch();
} else if(token.compare("demography") == 0) {
add("Offspring Number","off.nbr",OFFSPRG,0,0,&MPStatHandler::getOffsprgNumber,0,0,0);
add("Offspring Fem nbr","off.nbfem",OFFSPRG,0,0,&MPStatHandler::getMeanOffsprgFemNumber,0,0,0);
add("Offspring Mal nbr","off.nbmal",OFFSPRG,0,0,&MPStatHandler::getMeanOffsprgMalNumber,0,0,0);
add("Offspring Sat var","off.satvar",OFFSPRG,0,0,&MPStatHandler::getMeanOffsprgPopSatVar,0,0,0);
add("Adults Number","adlt.nbr",ADULTS,0,0,&MPStatHandler::getAdultsNumber,0,0,0);
add("Adults Fem nbr","adlt.nbfem",ADULTS,0,0,&MPStatHandler::getMeanAdultsFemNumber,0,0,0);
add("Adults Mal nbr","adlt.nbmal",ADULTS,0,0,&MPStatHandler::getMeanAdultsMalNumber,0,0,0);
add("Adults Sat level","adlt.satlvl",ADULTS,0,0,&MPStatHandler::getMeanAdultsPopSatLevel,0,0,0);
add("Adults Sat var","adlt.satvar",ADULTS,0,0,&MPStatHandler::getMeanAdultsPopSatVar,0,0,0);
add("Adults sex ratio","adlt.sexratio",ADULTS,0,0,&MPStatHandler::getAdultSexRatio,0,0,0);
} else if(token.compare("fecundity") == 0) {
add("Females assigned fecundity","adlt.femfec",ADULTS,1,0,0,&MPStatHandler::getMeanMatings,0,0);
add("Females realized fecundity","adlt.femrealfec",ADULTS,1,0,0,&MPStatHandler::setReproductiveStats,0,0);
add("Females reproductive var ","adlt.femvarfec",ADULTS,0,0,&MPStatHandler::getReproductiveVar,0,0,0);
add("Males realized fecundity ","adlt.malrealfec",ADULTS,0,0,0,&MPStatHandler::setReproductiveStats,0,0);
add("Males reproductive var ","adlt.malvarfec",ADULTS,0,0,&MPStatHandler::getReproductiveVar,0,0,0);
} else if(token.compare("kinship") == 0) {
add("Proportion of full-sib offspring","off.fsib",OFFSPRG,3,0,0,&MPStatHandler::getSibProportion,0,&MPStatHandler::setKinship);
add("Proportion of paternal half-sib ","off.phsib",OFFSPRG,2,0,0,&MPStatHandler::getSibProportion,0,0);
add("Proportion of maternal half-sib ","off.mhsib",OFFSPRG,1,0,0, &MPStatHandler::getSibProportion,0,0);
add("Proportion of non-sib offspring ","off.nsib",OFFSPRG,0,0,0,&MPStatHandler::getSibProportion,0,0);
add("Proportion of selfed offspring ","off.self",OFFSPRG,4,0,0,&MPStatHandler::getSibProportion,0,0);
} else if(token == "pedigree") {
add("Proportion of other deme mated","ped.outb",OFFSPRG,0,0,0,&MPStatHandler::getPedProportion,0,&MPStatHandler::setPedegreeCount);
add("Proportion of same deme mated ","ped.outw",OFFSPRG,1,0,0,&MPStatHandler::getPedProportion,0,0);
add("Proportion of half-sib mated ","ped.hsib",OFFSPRG,2,0,0, &MPStatHandler::getPedProportion,0,0);
add("Proportion of full-sib mated ","ped.fsib",OFFSPRG,3,0,0,&MPStatHandler::getPedProportion,0,0);
add("Proportion of selfed mated ","ped.self",OFFSPRG,4,0,0,&MPStatHandler::getPedProportion,0,0);
} else
return false;
return true;
}
| void MPStatHandler::setStatsForMigrants | ( | ) |
Definition at line 198 of file MPStatHandler.cc.
{
add("Emigrant nbr","emigrants",ADULTS,0,0,&MPStatHandler::getMeanEmigrantPerPatch,0,0,0);
add("Imigrant nbr","imigrants",ADULTS,0,0,&MPStatHandler::getMeanImigrantPerPatch,0,0,0);
add("Residant nbr","residents",ADULTS,0,0,&MPStatHandler::getMeanResidantPerPatch,0,0,0);
add("Imigration rate","imigrate",ADULTS,0,0,&MPStatHandler::getMeanMigrantRatio,0,0,0);
add("Coloniser nbr","colonisers",ADULTS,0,0,&MPStatHandler::getMeanKolonisersPerPatch,0,0,0);
add("Colonisation rate","colonrate",ADULTS,0,0,&MPStatHandler::getMeanKolonisersProportion,0,0,0);
}
| void MPStatHandler::setStatsForMigrantsPerPatch | ( | ) |
Definition at line 208 of file MPStatHandler.cc.
{ std::ostringstream name, sub_name;
add("Emigrants patch 1","emigr.p1", ADULTS,0,0,0,&MPStatHandler::getEmigrantInPatch,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Emigrants patch "<<i+1;
sub_name<<"emigr.p"<<i+1;
add(name.str(),sub_name.str(),ADULTS,i,0,0,&MPStatHandler::getEmigrantInPatch,0,0);
name.str("");
sub_name.str("");
}
add("Residants patch 1","resid.p1", ADULTS,0,0,0,&MPStatHandler::getResidantInPatch,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Residants patch "<<i+1;
sub_name<<"resid.p"<<i+1;
add(name.str(),sub_name.str(),ADULTS,i,0,0,&MPStatHandler::getResidantInPatch,0,0);
name.str("");
sub_name.str("");
}
add("Imig. rate patch 1","imrate.p1", ADULTS,0,0,0,&MPStatHandler::getImigrateInPatch,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Imig. rate patch "<<i+1;
sub_name<<"imrate.p"<<i+1;
add(name.str(),sub_name.str(),ADULTS,i,0,0,&MPStatHandler::getImigrateInPatch,0,0);
name.str("");
sub_name.str("");
}
add("Colons patch 1","colo.p1", ADULTS,0,0,0,&MPStatHandler::getKolonisersInPatch,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Colons patch "<<i+1;
sub_name<<"colo.p"<<i+1;
add(name.str(),sub_name.str(),ADULTS,i,0,0,&MPStatHandler::getKolonisersInPatch,0,0);
name.str("");
sub_name.str("");
}
}
| void MPStatHandler::setStatsForPop | ( | ) |
Definition at line 121 of file MPStatHandler.cc.
{
add("Offspring Number","off.nbr",OFFSPRG,0,0,&MPStatHandler::getOffsprgNumber,0,0,0);
add("Offspring Fem nbr","off.nbfem",OFFSPRG,0,0,&MPStatHandler::getMeanOffsprgFemNumber,0,0,0);
add("Offspring Mal nbr","off.nbmal",OFFSPRG,0,0,&MPStatHandler::getMeanOffsprgMalNumber,0,0,0);
add("Offspring Sat var","off.satvar",OFFSPRG,0,0,&MPStatHandler::getMeanOffsprgPopSatVar,0,0,0);
add("Adults Number","adlt.nbr",ADULTS,0,0,&MPStatHandler::getAdultsNumber,0,0,0);
add("Adults Fem nbr","adlt.nbfem",ADULTS,0,0,&MPStatHandler::getMeanAdultsFemNumber,0,0,0);
add("Adults Mal nbr","adlt.nbmal",ADULTS,0,0,&MPStatHandler::getMeanAdultsMalNumber,0,0,0);
add("Adults Sat level","adlt.satlvl",ADULTS,0,0,&MPStatHandler::getMeanAdultsPopSatLevel,0,0,0);
add("Adults Sat var","adlt.satvar",ADULTS,0,0,&MPStatHandler::getMeanAdultsPopSatVar,0,0,0);
add("Adults sex ratio","adlt.sexratio",ADULTS,0,0,&MPStatHandler::getAdultSexRatio,0,0,0);
add("Females assigned fecundity","adlt.femfec",ADULTS,1,0,0,&MPStatHandler::getMeanAssignedFecundity,0,0);
add("Females realized fecundity","adlt.femrealfec",ADULTS,1,0,0,&MPStatHandler::setReproductiveStats,0,0);
add("Females reproductive var ","adlt.femvarfec",ADULTS,0,0,&MPStatHandler::getReproductiveVar,0,0,0);
add("Males realized fecundity ","adlt.malrealfec",ADULTS,0,0,0,&MPStatHandler::setReproductiveStats,0,0);
add("Males reproductive var ","adlt.malvarfec",ADULTS,0,0,&MPStatHandler::getReproductiveVar,0,0,0);
add("Mean patch age","patch.avrg.age",ALL,0,0,&MPStatHandler::getMeanPatchAge,0,0,0);
add("Extinction rate","extrate",ALL,0,0,&MPStatHandler::getObsrvdExtinctionRate,0,0,
&MPStatHandler::setObsrvdExtinctionRate);
}
| void MPStatHandler::setStatsForPopPerPatch | ( | ) |
Definition at line 145 of file MPStatHandler.cc.
{
std::ostringstream name, sub_name;
add("Offsprg Fem Nbr p1","off.fem.p1", OFFSPRG,0,0,0,&MPStatHandler::getOffFemNumber,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Patch "<<i+1;
sub_name<<"off.fem.p"<<i+1;
add(name.str(),sub_name.str(),OFFSPRG,i,0,0,&MPStatHandler::getOffFemNumber,0,0);
name.str("");
sub_name.str("");
}
add("Offsprg Mal Nbr p1","off.mal.p1", OFFSPRG,0,0,0,&MPStatHandler::getOffMalNumber,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Patch "<<i+1;
sub_name<<"off.mal.p"<<i+1;
add(name.str(),sub_name.str(),OFFSPRG,i,0,0,&MPStatHandler::getOffMalNumber,0,0);
name.str("");
sub_name.str("");
}
add("Adult Fem Nbr p1","adlt.fem.p1",ADULTS,0,0,0,&MPStatHandler::getFemNumber,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Patch "<<i+1;
sub_name<<"adlt.fem.p"<<i+1;
add(name.str(),sub_name.str(),ADULTS,i,0,0,&MPStatHandler::getFemNumber,0,0);
name.str("");
sub_name.str("");
}
add("Adult Mal Nbr p1","adlt.mal.p1",ADULTS,0,0,0,&MPStatHandler::getMalNumber,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Patch "<<i+1;
sub_name<<"adlt.mal.p"<<i+1;
add(name.str(),sub_name.str(),ADULTS,i,0,0,&MPStatHandler::getMalNumber,0,0);
name.str("");
sub_name.str("");
}
add("Patch 1 age","age.patch1",ALL,0,0,0,&MPStatHandler::getPatchAge,0,0);
for(unsigned int i = 1; i < _pop->getPatchNbr(); i++) {
name<<"Patch "<<i+1<<" age";
sub_name<<"age.patch"<<i+1;
add(name.str(),sub_name.str(),ALL,i,0,0,&MPStatHandler::getPatchAge,0,0);
name.str("");
sub_name.str("");
}
add("Mean patch age","patch.avrg.age",ALL,0,0,&MPStatHandler::getMeanPatchAge,0,0,0);
add("Extinction rate","extrate",ALL,0,0,&MPStatHandler::getObsrvdExtinctionRate,0,0,
&MPStatHandler::setObsrvdExtinctionRate);
}
double MPStatHandler::_ped_prop[5] [private] |
Definition at line 44 of file MPStatHandler.h.
Referenced by getPedProportion().
double MPStatHandler::_sib_prop[5] [private] |
Definition at line 44 of file MPStatHandler.h.
Referenced by getSibProportion().
double MPStatHandler::_var_reprod_success [private] |
Definition at line 45 of file MPStatHandler.h.
Referenced by getReproductiveVar().
double MPStatHandler::meanDeadDisp [private] |
Definition at line 42 of file MPStatHandler.h.
double MPStatHandler::meanEmigrant [private] |
Definition at line 42 of file MPStatHandler.h.
double MPStatHandler::meanImigrant [private] |
Definition at line 42 of file MPStatHandler.h.
double MPStatHandler::meanKolonisers [private] |
Definition at line 42 of file MPStatHandler.h.
double MPStatHandler::meanResidant [private] |
Definition at line 42 of file MPStatHandler.h.
double MPStatHandler::ObservedExtinctionRate [private] |
Definition at line 43 of file MPStatHandler.h.
Referenced by getObsrvdExtinctionRate().
1.7.5.1 -- Nemo is hosted by