This is a class for a particle that can be tracked through simulations and retains data about position and chemical content. More...
#include <LSDParticle.hpp>
Public Member Functions | |
LSDParticle () | |
default constructor. Makes a particle with type 0, age 0, and no data for other parameters | |
LSDParticle (int StartType) | |
Constructor. Similar to default, but assignes type. More... | |
LSDParticle (int StartType, double StartAge) | |
Constructor. Similar to default, but assignes type and age. More... | |
LSDParticle (int StartType, int StartCI, double StartAge, double StartOSLage, double StartxLoc, double StartdLoc) | |
Constructor. Assignes all data members except yLoc. More... | |
LSDParticle (int StartType, int StartCI, double StartAge, double StartOSLage, double StartxLoc, double StartyLoc, double StartdLoc) | |
Constructor. Assignes all data members. More... | |
LSDParticle (int StartType, double StartxLoc, double StartdLoc) | |
Constructor. Assignes type, x location and d location. other parameters are default. More... | |
int | getType () const |
Get the type. More... | |
int | getCellIndex () const |
Get the CellIndex. More... | |
double | getAge () const |
Get the Age. More... | |
double | getOSLage () const |
Get the OSLage. More... | |
double | getxLoc () const |
Get the xLoc. More... | |
double | getyLoc () const |
Get the yLoc. More... | |
double | getdLoc () const |
Get the dLoc. More... | |
LSDParticle (const LSDParticle &tP) | |
const reference operator | |
LSDParticle (LSDParticle &tP) | |
const reference operator | |
LSDParticle & | operator= (const LSDParticle &tP) |
copy constructor | |
std::ostream & | operator<< (std::ostream &) |
outstream operator | |
void | incrementAge (double dt) |
Increase the age of the particle. More... | |
void | setCellIndex (int CI) |
Change the cell index. Used for referencing where the particle is this could be changed in the future to an octree structure. More... | |
void | OSLexpose () |
This 'exposes' the particle to light and resets the OSL age. | |
void | SoilAgeExpose () |
This 'exposes' the particle and resets its soil age to zero. | |
void | update_xLoc (double new_xLoc) |
Allows the user to update the horizontal location (dangerous!) | |
void | update_yLoc (double new_yLoc) |
Allows the user to update the horizontal location (dangerous!) | |
void | displaceReflect (double dx, double dd, double h, double dt) |
this changes a particles horizontal and vertical position. If the particle reaches the surface it 'reflects' back into the soil layer IMPORTANT: this increments the OSL age but not the soil age!! More... | |
int | test_domain (double lambda) |
this function test to see if the particle is within a hillslope, and if not sets the data to no data values More... | |
Protected Attributes | |
int | Type |
The type: used to identify, generally, what mineral the particle is. | |
int | CellIndex |
double | Age |
Age the particle has spent in the soil. | |
double | OSLage |
Optically stimulated luminescence age. | |
double | xLoc |
Horizontal location of the particle. | |
double | yLoc |
Other coordinate, used in 3D simulations. | |
double | dLoc |
Depth of the particle. | |
This is a class for a particle that can be tracked through simulations and retains data about position and chemical content.
|
inline |
Constructor. Similar to default, but assignes type.
StartType | the type of the particle |
|
inline |
Constructor. Similar to default, but assignes type and age.
StartType | the type of the particle |
StartAge | the starting age of the particle |
|
inline |
Constructor. Assignes all data members except yLoc.
StartType | the type of the particle |
StartCI | the starting cell index |
StartAge | the starting age of the particle |
StartOSLage | the starting OSL age |
StartxLoc | the starting x location |
StartdLoc | the starting depth |
|
inline |
Constructor. Assignes all data members.
StartType | the type of the particle |
StartCI | the starting cell index |
StartAge | the starting age of the particle |
StartOSLage | the starting OSL age |
StartxLoc | the starting x location |
StartyLoc | the starting y location |
StartdLoc | the starting depth |
|
inline |
Constructor. Assignes type, x location and d location. other parameters are default.
StartType | the type of the particle |
StartxLoc | the starting x location |
StartdLoc | the starting depth |
void LSDParticle::displaceReflect | ( | double | dx, |
double | dd, | ||
double | h, | ||
double | dt | ||
) |
this changes a particles horizontal and vertical position. If the particle reaches the surface it 'reflects' back into the soil layer IMPORTANT: this increments the OSL age but not the soil age!!
dx | the distance moved horizontally. |
dd | the distance moved in depth |
h | the thickness of the soil |
dt | the time over which the particle moves. |
|
inline |
Get the Age.
|
inline |
Get the CellIndex.
|
inline |
Get the dLoc.
|
inline |
Get the OSLage.
|
inline |
Get the type.
|
inline |
Get the xLoc.
|
inline |
Get the yLoc.
void LSDParticle::incrementAge | ( | double | dt | ) |
Increase the age of the particle.
dt | the time increment |
void LSDParticle::setCellIndex | ( | int | CI | ) |
Change the cell index. Used for referencing where the particle is this could be changed in the future to an octree structure.
CI | the cell index |
int LSDParticle::test_domain | ( | double | lambda | ) |
this function test to see if the particle is within a hillslope, and if not sets the data to no data values
lambda | the length of the hillslope |
|
protected |
The cell index, used for referencing the location of a particle in a grid