ROOT logo
// $Id: WSWalker.h 2088 2008-11-23 20:26:46Z 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 Geom1_WSWalker_H
#define Geom1_WSWalker_H

#include <Glasses/Operator.h>
#include <Stones/ZTrans.h>
#include <Stones/TimeMakerClient.h>

class WSSeed;
class ZNode;

class WSWalker : public Operator, public TimeMakerClient
{
  MAC_RNR_FRIENDS(WSWalker);

private:
  void _init();

protected:
  ZLink<WSSeed>  mSeed; // X{GS} L{}
  ZLink<ZNode>   mNode; // X{GS} L{}

  Bool_t         bLoop; // X{GS} 7 Bool()

  void set_trans(Double_t t);

  // Local cache
  Double_t m_last_time;  //!
  ZTrans   m_last_trans; //!


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

  // Direct
  void SetTime(Double_t t);   // X{E} 7 MCWButt()

  // Operator
  virtual void Operate(Operator::Arg* op_arg);

  // TimeMakerClient
  virtual void TimeTick(Double_t t, Double_t dt);

#include "WSWalker.h7"
  ClassDef(WSWalker, 1); // Moves ZNode along a WeaverSymbol
}; // endclass WSWalker


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