#ifndef M_DYNAMIX_PROCESS_H
#define M_DYNAMIX_PROCESS_H

#ifndef DBC_H
#include "DbC.h"
#endif

namespace MM
{
class Atom_group;
class Interface_for_M_DynaMix_process;

class M_DynaMix_process : protected DbC
{
    Interface_for_M_DynaMix_process &   simulator_;

public:
    explicit M_DynaMix_process (Interface_for_M_DynaMix_process & simulator)
    :   simulator_(simulator) { }

    virtual void    start (Atom_group * ordered_atoms) =0;
    //virtual void    stop  ()=0;

    virtual bool                is_running () const =0;

protected:
    Interface_for_M_DynaMix_process &   simulator ()    {return simulator_;}
};

}//MM

#endif //M_DYNAMIX_PROCESS_H
