ROOT logo
// $Id: GTSTorus.h 2442 2010-09-12 20:38:32Z 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 GledGTS_GTSTorus_H
#define GledGTS_GTSTorus_H

#include <Glasses/GTSurf.h>
#include <Stones/GTSIsoMakerFunctor.h>

class GTSTorus : public GTSurf,
		 public GTSIsoMakerFunctor
{
  MAC_RNR_FRIENDS(GTSTorus);

private:
  void _init();

  Double_t  mRminvsqr; //!

protected:
  Double_t  mRM;   // X{GS} 7 Value(-range=>[0, 1000, 1, 1000], -join=>1)
  Double_t  mRm;   // X{GS} 7 Value(-range=>[0, 1000, 1, 1000], -join=>1)
  Double_t  mStep; // X{GS} 7 Value(-range=>[0, 100,  1, 1e6])

public:
  GTSTorus(const Text_t* n="GTSTorus", const Text_t* t=0);
  virtual ~GTSTorus();

  // --- GTSIsoMakerFunctor ---
  virtual void     GTSIsoBegin(GTSIsoMaker* maker, Double_t iso_value);
  virtual Double_t GTSIsoFunc(Double_t x, Double_t y, Double_t z);
  virtual Double_t GTSIsoGradient(Double_t x, Double_t y, Double_t z, HPointD& g);
  virtual void     GTSIsoEnd();

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

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