56 lines
1.2 KiB
C++
Raw Normal View History

2015-02-26 09:02:31 -06:00
/*
PURPOSE: (Monte carlo structures)
REFERENCE: (Trick Users Guide)
ASSUMPTIONS AND LIMITATIONS: (None)
PROGRAMMERS: ((Keith Vetter) (LinCom) (7/2003))
*/
#ifndef MONTEVAR_HH
#define MONTEVAR_HH
2015-02-26 09:02:31 -06:00
#include <string>
namespace Trick {
/**
* Abstract base class for Monte Carlo variables.
*
* @author Alex Lin
* @author Donna Panter
* @author Derek Bankieris
*
* @date August 2010
*/
class MonteVar {
public:
/** Name. */
std::string name; /**< \n trick_units(--) */
/** Units. */
std::string unit; /**< \n trick_units(--) */
/** Value. */
std::string value; /**< \n trick_units(--) */
/** Destructor. */
virtual ~MonteVar() {};
/** Class MonteCarlo is a friend so it can use the get_next_value method.
* The get_next_value method needs to be protected so users cannot use it in the input file
*/
friend class MonteCarlo ;
protected:
/**
* Gets this variable's next value.
*
* @return the next value
*/
virtual std::string get_next_value() = 0;
};
};
#endif