ROOT logo
// $Id: Moonraker.h 2088 2008-11-23 20:26:46Z matevz $

#ifndef Numerica_Moonraker_H
#define Numerica_Moonraker_H

#include <Glasses/ZNode.h>
#include <Glasses/ODECrawler.h>
#include <Stones/ZColor.h>

class Moonraker : public ZNode, public ODECrawlerMaster {
  MAC_RNR_FRIENDS(Moonraker);

private:
  Double_t	hKappa;
  Double_t	hEscapeVelocity;

  Float_t	mScale;		// X{gS} 7 Value(-range=>[0,10,1,1000], -join=>1)
  Int_t		mLOD;		// X{gS} 7 Value(-range=>[1,50,1,1])
  ZColor	mEColor;	// X{PGS} 7 ColorButt(-join=>1)
  ZColor	mMColor;	// X{PGS} 7 ColorButt()
  ZColor	mSColor;	// X{PGS} 7 ColorButt(-join=>1)
  Float_t	mRShell;	// X{gS} 7 Value(-range=>[0,1,1,100])
  ZColor	mTColor;	// X{PGS} 7 ColorButt(-join=>1)
  Float_t	mTWidth;	// X{gS}  7 Value(-range=>[0,20,1,100])

  void _init();

protected:
  ZLink<ODECrawler>	mODECrawler;	// X{gS} L{}

  Float_t	mT0Moon;	// X{gS} 7 Value(-range=>[0,1000,1,1000], -join=>1)
  Float_t	mRMoon;		// X{gS} 7 Value(-range=>[0,100,1,1000])
  Float_t	mMMoon;		// X{gS} 7 Value(-range=>[0,100,1,1000], -join=>1)
  Float_t	mDMoon;		// X{gS} 7 Value(-range=>[0,1000,1,1000])

  Float_t	mT;		// X{gS} 7 Value(-range=>[-1000,1000,1,1000], -join=>1, -width=>6)
  Float_t	mT0;		// X{gS} 7 Value(-range=>[-1000,1000,1,1000], -join=>1, -width=>6)
  Float_t	mT1;		// X{gS} 7 Value(-range=>[-1000,1000,1,1000], -width=>6)

  Float_t	mLat;		// X{gS} 7 Value(-range=>[-90,90,1,100], -join=>1)
  Float_t	mLon;		// X{gS} 7 Value(-range=>[-180,180,1,100])
  Float_t	mTheta;		// X{gS} 7 Value(-range=>[-90,90,1,100], -join=>1)
  Float_t	mPhi;		// X{gS} 7 Value(-range=>[-90,90,1,100])
  Float_t	mV0;		// X{gS} 7 Value(-range=>[0,10,1,10000])

  void MoonPos(Double_t* x, Double_t t) const;
  void MoonPos(TVector3& x, Double_t t) const;

public:
  Moonraker(const Text_t* n="Moonraker", const Text_t* t=0) : ZNode(n,t)
  { _init(); }

  // virtuals
  virtual UInt_t ODEOrder() { return 6; }
  virtual void ODEDerivatives(const Double_t x, const TVectorD& y, TVectorD& d);
  virtual void ODEStart(TVectorD& v, Double_t& x1, Double_t& x2);

#include "Moonraker.h7"
  ClassDef(Moonraker, 1);
}; // endclass Moonraker


#endif
 Moonraker.h:1
 Moonraker.h:2
 Moonraker.h:3
 Moonraker.h:4
 Moonraker.h:5
 Moonraker.h:6
 Moonraker.h:7
 Moonraker.h:8
 Moonraker.h:9
 Moonraker.h:10
 Moonraker.h:11
 Moonraker.h:12
 Moonraker.h:13
 Moonraker.h:14
 Moonraker.h:15
 Moonraker.h:16
 Moonraker.h:17
 Moonraker.h:18
 Moonraker.h:19
 Moonraker.h:20
 Moonraker.h:21
 Moonraker.h:22
 Moonraker.h:23
 Moonraker.h:24
 Moonraker.h:25
 Moonraker.h:26
 Moonraker.h:27
 Moonraker.h:28
 Moonraker.h:29
 Moonraker.h:30
 Moonraker.h:31
 Moonraker.h:32
 Moonraker.h:33
 Moonraker.h:34
 Moonraker.h:35
 Moonraker.h:36
 Moonraker.h:37
 Moonraker.h:38
 Moonraker.h:39
 Moonraker.h:40
 Moonraker.h:41
 Moonraker.h:42
 Moonraker.h:43
 Moonraker.h:44
 Moonraker.h:45
 Moonraker.h:46
 Moonraker.h:47
 Moonraker.h:48
 Moonraker.h:49
 Moonraker.h:50
 Moonraker.h:51
 Moonraker.h:52
 Moonraker.h:53
 Moonraker.h:54
 Moonraker.h:55
 Moonraker.h:56
 Moonraker.h:57
 Moonraker.h:58
 Moonraker.h:59
 Moonraker.h:60
 Moonraker.h:61
 Moonraker.h:62
 Moonraker.h:63