<commit_before>/* Begin CVS Header
   $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/trajectory/CTrajectoryProblem.h,v $
   $Revision: 1.7 $
   $Name:  $
   $Author: shoops $ 
   $Date: 2003/10/30 17:59:14 $
   End CVS Header */

/**
 *  CTrajectoryProblem class.
 *  This class describes the trajectory problem, i.e., it allows to specify
 *  for example initial conditions and number of steps.
 *  
 *  Created for Copasi by <NAME> 2002
 */

#ifndef COPASI_CTrajectoryProblem
#define COPASI_CTrajectoryProblem

#include <string>

#include "utilities/CCopasiProblem.h"
#include "utilities/CReadConfig.h"
#include "utilities/CWriteConfig.h"
#include "model/CState.h"

class CModel;

class CTrajectoryProblem : public CCopasiProblem
  {
    // Attributes
  private:
    /**
     *  The number of steps to calculate
     */
    unsigned C_INT32 mStepNumber;

    /**
     *  The size of each step
     */
    double mStepSize;

    /**
     *  Indicate whether the step number or step size was set last.
     */
    bool mStepNumberSetLast;

    /**
     *  The start time of the trajectory
     */
    double mStartTime;

    /**
     *  The end time of the trajectory
     */
    double mEndTime;

    /**
     *  The initial state, i.e., the starting conditions of the trajectroy.
     */
    CState mInitialState;

    /**
     *  The final state of the trajectory at time EndTime
     */
    CState mEndState;

  public:
    // Operations

    /**
     * Default constructor.
     * @paramconst CCopasiContainer * pParent (default: NULL)
     */
    CTrajectoryProblem(const CCopasiContainer * pParent = NULL);

    /**
     * Copy constructor.
     * @param const CTrajectoryProblem & src
     * @paramconst CCopasiContainer * pParent (default: NULL)
     */
    CTrajectoryProblem(const CTrajectoryProblem & src,
                       const CCopasiContainer * pParent = NULL);

#ifdef XXXX
    /**
     *  special constructor. Allows simple definition of a TrajectoryProblem
     *  @param "CModel *" pmodel
     *  @param "C_FLOAT64" starttime
     *  @param "C_FLOAT64" endtime
     *  @param "unsigned C_INT32" stepnumber : number of steps
     */
    CTrajectoryProblem(CModel * pmodel,
                       C_FLOAT64 starttime, C_FLOAT64 endtime,
                       unsigned C_INT32 stepnumber = 200);
#endif // XXXX

    /**
     *  Destructor.
     */
    ~CTrajectoryProblem();

    /**
     * Set the moddel the problem is dealing with.
     * @param "CModel *" pModel
     */
    virtual bool setModel(CModel * pModel);

    /**
     * Set the number of time steps the trajectory method should integrate.
     * @param "const unsigned C_INT32 &" stepNumber
     */
    void setStepNumber(const unsigned C_INT32 & stepNumber);

    /**
     * Retrieve the number of time steps the trajectory method should integrate.
     * @return "const unsigned C_INT32 &" stepNumber
     */<commit_msg>Fixed documentation and removed redundant code.<commit_after>/* Begin CVS Header
   $Source: /Volumes/Home/Users/shoops/cvs/copasi_dev/copasi/trajectory/CTrajectoryProblem.h,v $
   $Revision: 1.8 $
   $Name:  $
   $Author: shoops $ 
   $Date: 2003/11/06 21:36:50 $
   End CVS Header */

/**
 *  CTrajectoryProblem class.
 *  This class describes the trajectory problem, i.e., it allows to specify
 *  for example initial conditions and number of steps.
 *  
 *  Created for Copasi by <NAME> 2002
 */

#ifndef COPASI_CTrajectoryProblem
#define COPASI_CTrajectoryProblem

#include <string>

#include "utilities/CCopasiProblem.h"
#include "utilities/CReadConfig.h"
#include "utilities/CWriteConfig.h"
#include "model/CState.h"

class CModel;

class CTrajectoryProblem : public CCopasiProblem
  {
    // Attributes
  private:
    /**
     *  The number of steps to calculate
     */
    unsigned C_INT32 mStepNumber;

    /**
     *  The size of each step
     */
    double mStepSize;

    /**
     *  Indicate whether the step number or step size was set last.
     */
    bool mStepNumberSetLast;

    /**
     *  The start time of the trajectory
     */
    double mStartTime;

    /**
     *  The end time of the trajectory
     */
    double mEndTime;

    /**
     *  The initial state, i.e., the starting conditions of the trajectroy.
     */
    CState mInitialState;

    /**
     *  The final state of the trajectory at time EndTime
     */
    CState mEndState;

  public:
    // Operations

    /**
     * Default constructor.
     * @param const CCopasiContainer * pParent (default: NULL)
     */
    CTrajectoryProblem(const CCopasiContainer * pParent = NULL);

    /**
     * Copy constructor.
     * @param const CTrajectoryProblem & src
     * @paramconst CCopasiContainer * pParent (default: NULL)
     */
    CTrajectoryProblem(const CTrajectoryProblem & src,
                       const CCopasiContainer * pParent = NULL);

    /**
     *  Destructor.
     */
    ~CTrajectoryProblem();

    /**
     * Set the moddel the problem is dealing with.
     * @param "CModel *" pModel
     */
    virtual bool setModel(CModel * pModel);

    /**
     * Set the number of time steps the trajectory method should integrate.
     * @param "const unsigned C_INT32 &" stepNumber
     */
    void setStepNumber(const unsigned C_INT32 & stepNumber);

    /**
     * Retrieve the number of time steps the trajectory method should integrate.
     * @return "const unsigned C_INT32 &" stepNumber
     */
{'fraction_non_alphanumeric': 0.09583486914854404, 'fraction_numerical': 0.013085145595281976, 'mean_word_length': 2.4153555695405915, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1544107', 'n_tokens_mistral': 1775, 'n_tokens_neox': 1651, 'n_words': 482}