Chaste Release::3.1
|
#include <CryptStatistics.hpp>
Public Member Functions | |
CryptStatistics (MeshBasedCellPopulation< 2 > &rCrypt) | |
std::vector< CellPtr > | GetCryptSection (double yTop, double xBottom=DBL_MAX, double xTop=DBL_MAX, bool periodic=false) |
std::vector< CellPtr > | GetCryptSectionPeriodic (double yTop, double xBottom=DBL_MAX, double xTop=DBL_MAX) |
Private Member Functions | |
bool | CellIsInSection (double xBottom, double xTop, double yTop, const c_vector< double, 2 > &rCellPosition, double widthOfSection=0.5) |
bool | CellIsInSectionPeriodic (double xBottom, double xTop, double yTop, const c_vector< double, 2 > &rCellPosition, double widthOfSection=1.0) |
Concrete statistics class for the cylindrical crypt model.
Definition at line 44 of file CryptStatistics.hpp.
CryptStatistics::CryptStatistics | ( | MeshBasedCellPopulation< 2 > & | rCrypt | ) |
bool CryptStatistics::CellIsInSection | ( | double | xBottom, |
double | xTop, | ||
double | yTop, | ||
const c_vector< double, 2 > & | rCellPosition, | ||
double | widthOfSection = 0.5 |
||
) | [private] |
Method computing the perpendicular distance from the cell to the line from (xBottom, 0) to (xTop, yTop), and returning if the distance is within the specified width to the section (defaults to 0.5).
xBottom | the x coordinate of the bottom of the line |
xTop | the x coordinate of the top of the line |
yTop | the y coordinate of the top of the line |
rCellPosition | the location of the cell centre |
widthOfSection | the width of the line |
Definition at line 121 of file CryptStatistics.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB(), AbstractCryptStatistics::mrCrypt, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh().
Referenced by GetCryptSection().
bool CryptStatistics::CellIsInSectionPeriodic | ( | double | xBottom, |
double | xTop, | ||
double | yTop, | ||
const c_vector< double, 2 > & | rCellPosition, | ||
double | widthOfSection = 1.0 |
||
) | [private] |
Method computing the perpendicular distance from the cell to the line from (xBottom, 0) to (xTop, yTop), taking into account periodicity, and returning if the distance is within the specified width to the section (defaults to 1.0). Done by considering the two possible lines and checking if cells are within range.
xBottom | the x coordinate of the bottom of the line |
xTop | the x coordinate of the top of the line |
yTop | the y coordinate of the top of the line |
rCellPosition | the location of the cell centre |
widthOfSection | the width of the line |
Definition at line 144 of file CryptStatistics.cpp.
References AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetVectorFromAtoB(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetWidth(), AbstractCryptStatistics::mrCrypt, and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh().
Referenced by GetCryptSection().
std::vector< CellPtr > CryptStatistics::GetCryptSection | ( | double | yTop, |
double | xBottom = DBL_MAX , |
||
double | xTop = DBL_MAX , |
||
bool | periodic = false |
||
) |
Get all cells within a cell width of the section defined as the line between points (xBottom,0) and (xTop,yTop)
Periodicity can be taken into account (if xTop and xBottom are more than half a crypt width apart then a more realistic section will be across the periodic boundary), using the final parameter. This obviously requires the mesh to be cylindrical.
yTop | the y coordinate of the top of the line |
xBottom | the x coordinate of the bottom of the line (defaults to a random number U[0,crypt_width]) |
xTop | the x coordinate of the top of the line (defaults to a random number U[0,crypt_width]) |
periodic | whether periodicity is accounted for (defaults to false) |
Note that placing calls to functions with side-effects (eg. changing the random seed) in the default arguments is DANGEROUS. There is no guarantee that the compiler will execute these in a sensible order. It appears that Intel goes left-to-right and Gcc goes right-to-left.
Definition at line 52 of file CryptStatistics.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), CellIsInSection(), CellIsInSectionPeriodic(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), AbstractCentreBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationOfCellCentre(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetWidth(), RandomNumberGenerator::Instance(), AbstractCryptStatistics::mrCrypt, RandomNumberGenerator::ranf(), and MeshBasedCellPopulation< ELEMENT_DIM, SPACE_DIM >::rGetMesh().
Referenced by GetCryptSectionPeriodic().
std::vector< CellPtr > CryptStatistics::GetCryptSectionPeriodic | ( | double | yTop, |
double | xBottom = DBL_MAX , |
||
double | xTop = DBL_MAX |
||
) |
Get all cells with a cell width of the line defined by the points (xBottom,0) and (xTop,yTop), taking into account periodicity
If xTop and xBottom are more than half a crypt width apart then a more realistic section will be across the periodic boundary.
Note that placing calls to functions with side-effects (eg. changing the random seed) in the default arguments is DANGEROUS. There is no guarantee that the compiler will execute these in a sensible order. It appears that Intel goes left-to-right and Gcc goes right-to-left.
yTop | the y coordinate of the top of the line |
xBottom | the x coordinate of the bottom of the line (defaults to a random number U[0,crypt_width]) |
xTop | the x coordinate of the top of the line (defaults to a random number U[0,crypt_width]) |
Definition at line 117 of file CryptStatistics.cpp.
References GetCryptSection().