public FormRate(CRateParameters P, string szDescription)
        {
            InitializeComponent();
            m_szTitle = "3MB " + szDescription + " Rate Description - Biomimetica";
            m_r = P;
            m_szDescription = szDescription;


            this.Text = m_szTitle;

            MeanTextBox.Text = "" + P.gauss.mean;
            StdTextBox.Text = "" + P.gauss.std;
            CoeffGTextBox.Text = "" + P.gauss.coeff;
            MaxTextBox.Text = "" + P.randm.max;
            MinTextBox.Text = "" + P.randm.min;
            CoeffRTextBox.Text = "" + P.randm.coeff;

            RateVectorTextBox.Text = P.vectorMdl.vector.ConvertToString();
            StepTextBox.Text = "" + P.vectorMdl.step.a;
            TermCoeffTextBox.Text = "" + P.vectorMdl.termination.a;

            OkButton.Enabled = true;
            RateRefreshButton.Enabled = false;

            GaussGroupBox.Enabled = RndGroupBox.Enabled = VectorGroupBox.Enabled = false;
            if(P.modelType == MODELTYPE.GAUSSIAN)
                GaussGroupBox.Enabled = true;
            else if(P.modelType == MODELTYPE.RANDOM)
                RndGroupBox.Enabled = true;
            else if(P.modelType == MODELTYPE.MATRIX)
                VectorGroupBox.Enabled = true;

            UpdateVectorModel();
            m_initializing = false;
        }
 //--------------//
 // Class Methods
 //--------------//
 public CRateParameters GetCopy()
 {
     CRateParameters c = new CRateParameters();
     c.m_gauss = m_gauss.GetCopy();
     c.m_randm = m_randm.GetCopy();
     c.m_vectorMdl = m_vectorMdl.GetCopy();
     c.modelType = modelType;
     return c;
 }