ROOT logo
// $Id: VelocityVar.h 2235 2009-09-20 20:52:15Z 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_VelocityVar_H
#define Var1_VelocityVar_H

#include <Gled/GledTypes.h>
#include <TObject.h>

class VelocityVar : public TObject
{
public:
  enum DesireMode_e
  {
    DM_DesiredVelocity,
    DM_DesiredDeltaVelocity, // goes to DesiredVelocity when reached
    DM_DesiredDeltaValue,    // goes to DesiredVelocity 0 when reached

    // The following are composite ones. Should split them off? Next level control?
    DM_RandomRange, // Chooses delta, then keeps it for some time, goes back
    DM_RandomWalk
  };

protected:
  DesireMode_e fMode;
  Float_t      fDesire;

  Float_t      fValue;
  // Hmmh, do we need it here? Now the angular velocities are packed
  // in a vector of some sort. While this is ok calculations of the
  // analyitical mechanics stuff, it encumbers the connection.
  // Could:
  //   a) Have a reference to the vector value.
  //   b) Instantiate vector quantities where they are needed.
  //      This is also good, as they can be in any format there.

private:
  void _init();

protected:

public:
  VelocityVar();
  virtual ~VelocityVar();

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

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