ROOT logo
// $Id: CosmicBall.h 2479 2011-06-13 04:50:22Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#ifndef Var1_CosmicBall_H
#define Var1_CosmicBall_H

#include <Glasses/Sphere.h>

class CosmicBall : public Sphere
{
  MAC_RNR_FRIENDS(CosmicBall);
  friend class SolarSystem;

private:
  void _init();

protected:
  Double_t      mM; // X{GS}   7 Value()
  HPointD       mV; // X{GSRr} 7 HPointD()

  // Hack for orbit switching.
  Double_t      mDesiredR; // X{GS} 7 Value()

  vector<HPointF> mHistory;       //!
  Int_t           mHistorySize;   //!
  Int_t           mHistoryFirst;  //!
  Int_t           mHistoryStored; //!
  GMutex          mHistoryMoo;    //!

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

  void StorePos();
  void ClearHistory();
  void ResizeHistory(Int_t size);

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


#endif
 CosmicBall.h:1
 CosmicBall.h:2
 CosmicBall.h:3
 CosmicBall.h:4
 CosmicBall.h:5
 CosmicBall.h:6
 CosmicBall.h:7
 CosmicBall.h:8
 CosmicBall.h:9
 CosmicBall.h:10
 CosmicBall.h:11
 CosmicBall.h:12
 CosmicBall.h:13
 CosmicBall.h:14
 CosmicBall.h:15
 CosmicBall.h:16
 CosmicBall.h:17
 CosmicBall.h:18
 CosmicBall.h:19
 CosmicBall.h:20
 CosmicBall.h:21
 CosmicBall.h:22
 CosmicBall.h:23
 CosmicBall.h:24
 CosmicBall.h:25
 CosmicBall.h:26
 CosmicBall.h:27
 CosmicBall.h:28
 CosmicBall.h:29
 CosmicBall.h:30
 CosmicBall.h:31
 CosmicBall.h:32
 CosmicBall.h:33
 CosmicBall.h:34
 CosmicBall.h:35
 CosmicBall.h:36
 CosmicBall.h:37
 CosmicBall.h:38
 CosmicBall.h:39
 CosmicBall.h:40
 CosmicBall.h:41
 CosmicBall.h:42
 CosmicBall.h:43
 CosmicBall.h:44
 CosmicBall.h:45
 CosmicBall.h:46