SMILE  v2.5
Schwarzschild Modelling Interactive expLoratory Environment
Public Member Functions | Private Attributes | List of all members
smile::COrbitRuntimeSchwAngMomDist Class Reference

Runtime function recording binned angular momentum distribution. More...

#include <schwarzschild.h>

Inheritance diagram for smile::COrbitRuntimeSchwAngMomDist:
Inheritance graph
[legend]
Collaboration diagram for smile::COrbitRuntimeSchwAngMomDist:
Collaboration graph
[legend]

Public Member Functions

 COrbitRuntimeSchwAngMomDist (const COrbit *_orbit, const CSchwDataAngMomDist *_model)
 
virtual FNCTYPE FncType () const
 derived classes return their type
 
virtual STEPRESULT Timestep (const double told, const double t, CPosVelPoint< double > *vars)
 the following method is called after each timestep. More...
 
virtual void Finish ()
 called when integration is finished, performs cleanup/postprocessing but doesn't destroy collected data
 
virtual CBasicInformationgetData () const
 serialize three arrays into one
 
- Public Member Functions inherited from smile::CBasicOrbitRuntimeFnc
 CBasicOrbitRuntimeFnc (const COrbit *_orbit)
 constructs instance and initializes some internal data
 
virtual ~CBasicOrbitRuntimeFnc ()
 destroys all necessary internal data
 

Private Attributes

const CSchwDataAngMomDistmodel
 instance of the corresponding schw.data object
 
const double timeStep
 frequency of angular momentum recording
 
vectord binTime
 time spent in each angular momentum bin
 
double Einit
 orbit energy (assuming that it doesn't change with time)
 
double Lcirc2
 angular momentum of a circular orbit with this energy
 

Additional Inherited Members

- Public Types inherited from smile::CBasicOrbitRuntimeFnc
enum  FNCTYPE {
  FT_TRAJ_ANALYSIS, FT_TRAJ_SAMPLE, FT_POINCARE, FT_PERICENTER,
  FT_SCHW, FT_VEL_PERTURBER
}
 lists all possible runtime functions More...
 
enum  STEPRESULT { SR_CONTINUE, SR_TERMINATE, SR_REINIT }
 result of processing of a timestep More...
 
- Protected Attributes inherited from smile::CBasicOrbitRuntimeFnc
const COrbitorbit
 pointer to the orbit that is being integrated
 

Detailed Description

Runtime function recording binned angular momentum distribution.

Member Function Documentation

CBasicOrbitRuntimeFnc::STEPRESULT smile::COrbitRuntimeSchwAngMomDist::Timestep ( const double  told,
const double  tcur,
CPosVelPoint< double > *  vars 
)
virtual

the following method is called after each timestep.

Parameters
[in]toldis the value of time at the beginning of the timestep
[in]tcuris the time at the end of timestep
[in,out]varsare the phase-space variables at the end of timestep; the function may change them and return SR_REINIT to indicate that the ODE integrator needs to be restarted.

This procedure may call orbit->getPos() and orbit->getVel() to get interpolated coordinates on the interval [told, tcur].

Returns
true if integration may be finished right now [default], false if needs to continue. (the ultimate decision is taken by orbit integration routine and may ignore the demands of runtime functions)

Implements smile::CBasicOrbitRuntimeFnc.


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