O P A R - Open Architecture Particle in Cell Simulation - Version 3.0
Plasma simulations with dust particles
|
The Task class is the fundamental class from which all the classes that carry out simulation calculations are derived. The Task contains information of when it is to be executed. Also every object instantiating Task has a name. A Task can also include subtasks which are executed whenever the 'parent' Task is executed. More...
#include <task.h>
Public Member Functions | |
Task () | |
Default constructor sets the running number nNr of the Task. | |
virtual | ~Task () |
When destructing a Task is has to be detatched from the parents Task list. | |
int | GetStep () const |
Return the interval between execution in timesteps. | |
int | GetEnd () const |
Return the timestep when the Task ends execution. | |
bool | DoNow () |
Returns true if the Task is to be executed now. | |
std::string | GetName () const |
Returns the name given to the Task object. | |
virtual std::string | GetClassName () const |
Returns the name of the class, here "Task". | |
virtual bool | IsInteractive () const |
If not specified otherwise, a Task is not interactive. | |
void | AttachTask (Task *pTask) |
Insert Task into Task list and registers it with the Process. | |
void | DetachTask (Task *pTask) |
DetachTask from Task list. | |
virtual void | Init () |
The Init method of a Task is called before the Task is executed. It should contain all the necessary initialization. The basic Init method calls the Init of all the sub-Tasks and sorts them according to their predecessor list. Also the Pointer to the Normalization object is retrieved from the Process. A derived class should always call the Task::Init in its own Init method. | |
virtual bool | Execute () |
Executes the Task. This is the place where the algorithm for executing a Task it placed. The return value specifies, if the task is finished and can be removed. The basic Execute method executes all its sub-Tasks. The derived classes should call this member function, whenever there are subtasks to be executed. | |
virtual std::string | Rebuild (std::istream &in) |
Rebuilds the task from the setup. This normally does not need to be overwritten. Rebuild always returns the next token that does not belong to the object setup. | |
virtual void | DumpTaskList (std::ostream &o, int nDepth=0) |
Recursively dumps the complete Task list into a stream. |
Protected Member Functions | |
void | AddPredecessor (const std::string &strPred) |
Add the name of a predecessor that has to be executed before this Task. | |
virtual PARAMETERMAP * | MakeParamMap (PARAMETERMAP *pm=NULL) |
Register the parameters needed for the Task. A derived class should overwrite this whenever it needs additional parameters from the setup file. It should then ALWAYS call the MakeParamMap of its superclass. |
Protected Attributes | |
int | nNr |
The running number of this Task. | |
std::string | strName |
The name of this Task. | |
Task * | pParent |
The parent Task to which this Task belongs. | |
Process * | pProcess |
The Process to which this Task belongs. | |
std::string | strNorm |
The name of the referenced Normalization object. | |
Normalization * | Norm |
The pointer to the referenced Normalization object. | |
TASKLIST | plTasks |
A list of sub-Tasks. | |
Start and end time step and step interval | |
int | nStart |
int | nEnd |
int | nStep |
Friends | |
bool | operator< (const Task &left, const Task &right) |
Defines a comparison, so that hopefulle the Task will be sorted in the right execution order. |
The Task class is the fundamental class from which all the classes that carry out simulation calculations are derived. The Task contains information of when it is to be executed. Also every object instantiating Task has a name. A Task can also include subtasks which are executed whenever the 'parent' Task is executed.
name | The name of the Task |
start | The timestep when the Task starts execution |
end | The timestep when the Task ends execution |
step | The interval between execution in timesteps |
Norm | The name of the referenced Normalization object |