/// <summary>
        /// Calculate method for the component with test of preconditions
        /// </summary>
        /// <param name=m>MaizeLAIState Domain class contains the accessors to values</param>
        /// <param name="saveLog">Save log via a writer or show on screen</param>
        /// <param name="callID">Context description for violations</param>
        public void Estimate
            (IStrategySiriusQualityMaizeLAI st, MaizeLAIState m, bool saveLog, string callID)
        {
            _resultPreConditions  = String.Empty;
            _resultPostConditions = String.Empty;
            _resultPreConditions  = st.TestPreConditions(m, callID);
            st.Estimate
                (m);
            _resultPostConditions = st.TestPostConditions(m, callID);

            if (_resultPreConditions != String.Empty || _resultPostConditions != String.Empty)
            {
                p.TestsOut(_resultPreConditions + _resultPostConditions, saveLog, callID);
            }
        }
 /// <summary>
 /// Calculate method for the component
 /// </summary>
 /// <param name=m>MaizeLAIState Domain class contains the accessors to values</param>
 public void Estimate
     (IStrategySiriusQualityMaizeLAI st, MaizeLAIState m)
 {
     st.Estimate
         (m);
 }
 /// <summary>
 /// Calculate method for the component
 /// </summary>
 /// <param name=m>MaizeLAIState Domain class contains the accessors to values</param>
 /// <param name=m1>MaizeLeafState Domain class contains the accessors to values</param>
 /// <param name=m2>MaizeLeafState Domain class contains the accessors to values</param>
 /// <param name=ae>AgroManagement objects of impact parameters</param>
 public void Estimate
     (IStrategySiriusQualityMaizeLAI st, MaizeLAIState m, MaizeLeafState m1, MaizeLeafState m2, ActEvents ae)
 {
     st.Estimate
         (m, m1, m2, ae);
 }