#include "ODECrawler.h"

ODECrawler


class description - source file - inheritance tree (.pdf)

class ODECrawler : public Eventor

Inheritance Chart:
TObject
<-
ZGlass
<-
ZList
<-
Operator
<-
Eventor
<-
ODECrawler
    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

Data Members

    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

Class Description

 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.