ROOT logo
// $Id: TimeMaker.h 2255 2009-11-14 13:28:07Z 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_TimeMaker_H
#define Geom1_TimeMaker_H

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

#include <TF1.h>

class TimeMaker : public Operator
{
  MAC_RNR_FRIENDS(TimeMaker);
public:
  enum WrapMode_e { WM_None, WM_Clip, WM_SawTooth, WM_Triangular, WM_SineWave };

private:
  void _init();

protected:
  Double_t   mFactor;   // X{GS} 7 Value(-join=>1)
  Double_t   mConstant; // X{GS} 7 Value()

  WrapMode_e mWrapMode; // X{GS} 7 PhonyEnum()
  Double_t   mMinT;     // X{GS} 7 Value(-join=>1)
  Double_t   mMaxT;     // X{GS} 7 Value()
  Double_t   mOmega;    // X{GS} 7 Value(-join=>1)
  Double_t   mDelta;    // X{GS} 7 Value()
  Double_t   mLastT;    // X{GS} 7 Value(-join=>1)
  Bool_t     bLastTOK;  // X{GS} 7 Bool()

  TString    mFormula;      // X{GS} Ray{Formula} 7 Textor()
  Bool_t     bApplyFormula; // X{GS} 7 Bool()
  TF1        mTF1;          //

  Bool_t     bPushToStack;  // X{GS} 7 Bool(-join=>1)
  Bool_t     bPopFromStack; // X{GS} 7 Bool()

  Bool_t     bEmitStamps;   // X{GS} 7 Bool(-join=>1)
  Bool_t     bPrintOut;     // X{GS} 7 Bool()

  ZLink<AList> mClients; // X{GS} L{}

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

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

  void AddClient(ZGlass* lens);    // X{E} C{1} 7 MCWButt()
  void RemoveClient(ZGlass* lens); // X{E} C{1} 7 MCWButt()

  void EmitFormulaRay();

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


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