SOLARPROP  1.0
 All Classes Functions Variables
Public Member Functions | Protected Member Functions | Protected Attributes
Particle Class Reference

Implementation of a single particle. More...

#include <particle.h>

Inheritance diagram for Particle:
IParticle BurgerPotgieter Custom JokipiiKopriva PotgieterMoraal Standard2D Yamada

List of all members.

Public Member Functions

 Particle (const TmodelInformation &, const Tproperties &)
 Constructor.
virtual ~Particle ()
 Destructor.
long simulate (Random &)
 Simulate trajectory from the earth to the heliospheric boundary.
double getR () const
 Getter for r.
double getT () const
 Getter for kinetic energy T.
double getHeliosphereBoundary () const
 Getter for the boundary of the heliosphere in AU.
double getISFlux (int) const
 Getter for local interstellar flux.
double getISFlux (bool) const
 Getter for local interstellar flux.
double getISFlux (bool, int) const
 Getter for local interstellar flux.

Protected Member Functions

virtual double getDeltaR (Random &) const =0
double getDeltaTheta (Random &) const
 Getter for delta theta.
double getDeltaPhi () const
 Getter for delta phi.
void calculate ()
 Method to calculate all quantities which are needed several times in one step.
double getV () const
 Getter for solar wind in AU*s^-1.
double getP2 () const
 Getter for rigidity^2 in GV^2.
double getRigidity () const
 Getter for rigidity in GV.
double getBeta () const
 Getter for beta (particle speed)
double getPolarity () const
 Getter for solar polarity.
double getAngle () const
 Getter for tilt angle.
double getTanPsi () const
 Getter for tan(psi)
double convertDeg (double) const
 Conversion method from deg to rad.
double getLarmorRadius () const
 Getter for Larmor radius.
double getB0OverB () const
 Getter for B0/B (needed in many models for the diffusion tensor)
double getB () const
 Getter for absolute value of B field.
double getTheta () const
 Getter for angle theta.
double getPhi () const
 Getter for angle phi.
double getTime () const
 Getter for time.
double getMass () const
 Getter for mass.
double getCharge () const
 Getter for charge.
int getHeaviside () const
 Getter for Heaviside function.
double getKappaPerpendicular () const
 Getter for perpendicular part of the diffusion tensor.
double getKappaThetaTheta () const
 Getter for angular part of the diffusion tensor.

Protected Attributes

double r
 radial coordinate
double theta
 angular (theta) coordinate
double phi
 angular (phi) coordinate
double time
 time coordinate
Tproperties spec
 Particle properties.
TstepData data
 Data which are calculated in method void calculate()
double dt
 dt from control file
double heliosphereBoundary
 Boundary of the heliosphere (model dependent)
double perPart
 Coefficient between the parallel and perpendicular diffusion tensor.
double kappa0
 Normalization of the diffusion tensor.
double BfieldScaling
 Normalization of the solar magnetic field.
int polarity
 Solar magnetic field polarity.
double angle
 HCS tilt angle.

Detailed Description

Implementation of a single particle.


Constructor & Destructor Documentation

Particle::Particle ( const TmodelInformation modelInfo,
const Tproperties sp 
)

Constructor.

Parameters:
modelInfoModel information from import.cc
spCR properties (mass and charge)

Member Function Documentation

double Particle::convertDeg ( double  deg) const
protectedvirtual

Conversion method from deg to rad.

Returns:
angle in rad

Implements IParticle.

double Particle::getAngle ( ) const
protectedvirtual

Getter for tilt angle.

Returns:
tilt angle

Implements IParticle.

double Particle::getB ( ) const
protectedvirtual

Getter for absolute value of B field.

Returns:
B field

Implements IParticle.

double Particle::getB0OverB ( ) const
protectedvirtual

Getter for B0/B (needed in many models for the diffusion tensor)

Returns:
B0/B

Implements IParticle.

double Particle::getBeta ( ) const
protectedvirtual

Getter for beta (particle speed)

Returns:
beta

Implements IParticle.

double Particle::getCharge ( ) const
protectedvirtual

Getter for charge.

Returns:
charge

Implements IParticle.

double Particle::getDeltaPhi ( ) const
protectedvirtual

Getter for delta phi.

Returns:
delta phi

Implements IParticle.

double Particle::getDeltaTheta ( Random rNum) const
protectedvirtual

Getter for delta theta.

Parameters:
rNumrandom number class
Returns:
delta theta

Implements IParticle.

int Particle::getHeaviside ( ) const
protectedvirtual

Getter for Heaviside function.

Returns:
Value of Heaviside function

Implements IParticle.

double Particle::getHeliosphereBoundary ( ) const
virtual

Getter for the boundary of the heliosphere in AU.

Returns:
Heliosphere boundary

Implements IParticle.

double Particle::getISFlux ( int  Z) const
virtual

Getter for local interstellar flux.

Parameters:
ZCharge of the CR species
Returns:
Local interstellar flux

Implements IParticle.

Reimplemented in PotgieterMoraal, Standard2D, BurgerPotgieter, JokipiiKopriva, and Yamada.

double Particle::getISFlux ( bool  check) const
virtual

Getter for local interstellar flux.

Parameters:
checkParameter if warning should be displayed
Returns:
Local interstellar flux

Implements IParticle.

double Particle::getISFlux ( bool  check,
int  Z 
) const
virtual

Getter for local interstellar flux.

Parameters:
checkParameter if warning should be displayed
ZCharge of the CR species
Returns:
Local interstellar flux

Implements IParticle.

double Particle::getKappaPerpendicular ( ) const
protectedvirtual

Getter for perpendicular part of the diffusion tensor.

Returns:
Perpendicular part of the diffusion tensor

Implements IParticle.

double Particle::getKappaThetaTheta ( ) const
protectedvirtual

Getter for angular part of the diffusion tensor.

Returns:
Angular part of the diffusion tensor

Implements IParticle.

double Particle::getLarmorRadius ( ) const
protectedvirtual

Getter for Larmor radius.

Returns:
Larmor radius

Implements IParticle.

double Particle::getMass ( ) const
protectedvirtual

Getter for mass.

Returns:
mass

Implements IParticle.

double Particle::getP2 ( ) const
protectedvirtual

Getter for rigidity^2 in GV^2.

Returns:
rigidity^2

Implements IParticle.

double Particle::getPhi ( ) const
protectedvirtual

Getter for angle phi.

Returns:
phi

Implements IParticle.

double Particle::getPolarity ( ) const
protectedvirtual

Getter for solar polarity.

Returns:
polarity

Implements IParticle.

double Particle::getR ( ) const
virtual

Getter for r.

Returns:
r

Implements IParticle.

double Particle::getRigidity ( ) const
protectedvirtual

Getter for rigidity in GV.

Returns:
rigidity

Implements IParticle.

double Particle::getT ( ) const
virtual

Getter for kinetic energy T.

Returns:
T

Implements IParticle.

double Particle::getTanPsi ( ) const
protectedvirtual

Getter for tan(psi)

Returns:
tan(psi)

Implements IParticle.

double Particle::getTheta ( ) const
protectedvirtual

Getter for angle theta.

Returns:
theta

Implements IParticle.

double Particle::getTime ( ) const
protectedvirtual

Getter for time.

Returns:
time

Implements IParticle.

double Particle::getV ( ) const
protectedvirtual

Getter for solar wind in AU*s^-1.

Returns:
solar wind

Implements IParticle.

long Particle::simulate ( Random rNum)
virtual

Simulate trajectory from the earth to the heliospheric boundary.

Parameters:
rNumrandom number class
Returns:
Number of needed steps

Implements IParticle.


The documentation for this class was generated from the following files: