ODECrawler
class description - source file - inheritance tree (.pdf)
private:
void _init()
protected:
void Crawl()
void Rkck(TVectorD& y, TVectorD& dydx, Double_t x, Double_t h, TVectorD& yout, TVectorD& yerr)
Int_t Rkqs(TVectorD& y, TVectorD& dydx, Double_t& x, Double_t htry, TVectorD& yscal, Double_t& hdid, Double_t& hnext)
public:
static void _gled_catalog_init()
ODECrawler(Text_t* n = "ODECrawler", Text_t* t = "0")
ODECrawler(ZGlass* m, const Text_t* n = "ODECrawler", const Text_t* t = "0")
ODECrawler(const ODECrawler&)
virtual ~ODECrawler()
static TClass* Class()
virtual void CopyLinkRefs(lppZGlass_t& ref_list)
virtual void CopyLinkReps(ZGlass::lLinkRep_t& link_rep_list)
virtual void CopyLinks(lpZGlass_t& glass_list)
void DetachStored()
void ExecuteMir(ZMIR& mir)
static FID_t FID()
Double_t GetAcc()
UInt_t GetGuessesBad()
UInt_t GetGuessesOK()
Double_t GetH1()
Double_t GetHmin()
UInt_t GetMaxSteps()
UInt_t GetN()
ZGlass* GetODEMaster()
UInt_t GetStored()
Double_t GetStoreDx()
UInt_t GetStoreMax()
Double_t GetX1()
Double_t GetX2()
TVectorF* GetXStored()
TVectorF* GetYStored()
static GledNS::ClassInfo* GlassInfo()
virtual TClass* IsA() const
static MID_t Mid_SetAcc()
static MID_t Mid_SetH1()
static MID_t Mid_SetHmin()
static MID_t Mid_SetMaxSteps()
static MID_t Mid_SetODEMaster()
static MID_t Mid_SetStoreDx()
static MID_t Mid_SetStoreMax()
static MID_t Mid_SetX1()
static MID_t Mid_SetX2()
virtual void Operate(Operator::Arg* op_arg)
ODECrawler& operator=(const ODECrawler&)
virtual Operator::Arg* PreDance(Operator::Arg* op_arg = 0)
virtual Int_t RebuildLinkRefs(An_ID_Demangler* c)
TVectorD& RefY()
ZMIR* S_SetAcc(Double_t acc)
ZMIR* S_SetH1(Double_t h1)
ZMIR* S_SetHmin(Double_t hmin)
ZMIR* S_SetMaxSteps(UInt_t maxsteps)
ZMIR* S_SetODEMaster(ZGlass* odemaster)
ZMIR* S_SetStoreDx(Double_t storedx)
ZMIR* S_SetStoreMax(UInt_t storemax)
ZMIR* S_SetX1(Double_t x1)
ZMIR* S_SetX2(Double_t x2)
void SetAcc(Double_t acc)
void SetH1(Double_t h1)
void SetHmin(Double_t hmin)
void SetMaxSteps(UInt_t maxsteps)
void SetODEMaster(ZGlass* odemaster)
void SetStoreDx(Double_t storedx)
void SetStoreMax(UInt_t storemax)
void SetX1(Double_t x1)
void SetX2(Double_t x2)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
virtual FID_t VFID() const
virtual GledNS::ClassInfo* VGlassInfo() const
private:
Double_t hTINY
Double_t hSAFETY
Double_t hPGROW
Double_t hPSHRNK
Double_t hERRCON !
ODECrawlerMaster* hTrueMaster !
protected:
ZGlass* mODEMaster X{gS} L{}
UInt_t mGuessesOK ! X{g} 7 ValOut(-join=>1)
UInt_t mGuessesBad ! X{g} 7 ValOut()
UInt_t mStored ! X{g} 7 ValOut(-join=>1)
UInt_t mMaxSteps X{gS} 7 Value()
UInt_t mStoreMax X{gS} 7 Value(-join=>1)
Double_t mStoreDx X{gS} 7 Value()
TVectorF* mXStored ! X{g}
TVectorF* mYStored ! X{g} ROOT now allows streaming ... check syntax
TVectorD mY ! X{r}
UInt_t mN X{g} 7 ValOut(-join=>1)
Double_t mAcc X{gS} 7 Value(-range=>[0,1])
Double_t mX1 X{gS} 7 Value(-join=>1)
Double_t mX2 X{gS} 7 Value()
Double_t mH1 X{gS} 7 Value(-join=>1)
Double_t mHmin X{gS} 7 Value()
static GledNS::ClassInfo* sap_ODECrawler_ci
static GledNS::LinkMemberInfo* sap_ODEMaster_lmi
ODECrawler
ODE integrator built upon adaptive step 4th order runge-kutta.
Based on odeint from numerical recipes.
X corresponds to time (scalar).
Y corresponds to state vector at a given time.
Works in double precision.
No good way for permanent storage or broadcasting of results yet.
Trajectory is stored in mXStored, mYstored;
Final state can be obtained from mY.
Example glass Moonraker. Macro moonraker.C.
________________________________________________________________________
void _init()
~ODECrawler()
Rkqs(TVectorD& y, TVectorD& dydx, Double_t& x, Double_t htry,
TVectorD& yscal, Double_t& hdid, Double_t& hnext)
Rkck(TVectorD& y, TVectorD& dydx, Double_t x, Double_t h,
TVectorD& yout, TVectorD& yerr)
void Crawl()
Integrate ODE with derivatives provided by mODEMaster from X1 to X2.
Operator::Arg* PreDance(Operator::Arg* op_arg)
Operate(Operator::Arg* op_arg) throw(Operator::Exception)
Inline Functions
ODECrawler ODECrawler(Text_t* n = "ODECrawler", Text_t* t = "0")
ODECrawler ODECrawler(ZGlass* m, const Text_t* n = "ODECrawler", const Text_t* t = "0")
void DetachStored()
FID_t FID()
FID_t VFID() const
GledNS::ClassInfo* GlassInfo()
GledNS::ClassInfo* VGlassInfo() const
ZGlass* GetODEMaster()
void SetODEMaster(ZGlass* odemaster)
UInt_t GetGuessesOK()
UInt_t GetGuessesBad()
UInt_t GetStored()
UInt_t GetMaxSteps()
void SetMaxSteps(UInt_t maxsteps)
UInt_t GetStoreMax()
void SetStoreMax(UInt_t storemax)
Double_t GetStoreDx()
void SetStoreDx(Double_t storedx)
TVectorF* GetXStored()
TVectorF* GetYStored()
TVectorD& RefY()
UInt_t GetN()
Double_t GetAcc()
void SetAcc(Double_t acc)
Double_t GetX1()
void SetX1(Double_t x1)
Double_t GetX2()
void SetX2(Double_t x2)
Double_t GetH1()
void SetH1(Double_t h1)
Double_t GetHmin()
void SetHmin(Double_t hmin)
void CopyLinks(lpZGlass_t& glass_list)
void CopyLinkRefs(lppZGlass_t& ref_list)
void CopyLinkReps(ZGlass::lLinkRep_t& link_rep_list)
Int_t RebuildLinkRefs(An_ID_Demangler* c)
void ExecuteMir(ZMIR& mir)
ZMIR* S_SetODEMaster(ZGlass* odemaster)
MID_t Mid_SetODEMaster()
ZMIR* S_SetMaxSteps(UInt_t maxsteps)
MID_t Mid_SetMaxSteps()
ZMIR* S_SetStoreMax(UInt_t storemax)
MID_t Mid_SetStoreMax()
ZMIR* S_SetStoreDx(Double_t storedx)
MID_t Mid_SetStoreDx()
ZMIR* S_SetAcc(Double_t acc)
MID_t Mid_SetAcc()
ZMIR* S_SetX1(Double_t x1)
MID_t Mid_SetX1()
ZMIR* S_SetX2(Double_t x2)
MID_t Mid_SetX2()
ZMIR* S_SetH1(Double_t h1)
MID_t Mid_SetH1()
ZMIR* S_SetHmin(Double_t hmin)
MID_t Mid_SetHmin()
void _gled_catalog_init()
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
ODECrawler ODECrawler(const ODECrawler&)
ODECrawler& operator=(const ODECrawler&)
Last update: Thu Jun 9 15:57:34 2005
ROOT page - Home page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.