public static Dictionary<string, object> HeadedAnchorPositionAndGroupFactors(string HeadedAnchorDeckCondition,string HeadedAnchorWeldCase,double N_saRib,double e_mid_ht,double h_r,
            double w_r, string Code = "AISC360-10")
        {
            //Default values
            double R_g = 0;
            double R_p = 0;


            //Calculation logic:
            steel.DeckAtBeamCondition deckCondition;
            bool IsValidHeadedAnchorDeckCondition = Enum.TryParse(HeadedAnchorDeckCondition, true, out deckCondition);
            if (IsValidHeadedAnchorDeckCondition == false)
            {

                throw new Exception("Headed anchor position and group factor calculation failed. Invalid string provided for HeadedAnchorDeckCondition.");
            }

            steel.HeadedAnchorWeldCase studWeld;
            bool IsValidHeadedAnchorWeldCase = Enum.TryParse(HeadedAnchorWeldCase, true, out studWeld);
            if (IsValidHeadedAnchorWeldCase == false)
            {
                throw new Exception("Headed anchor position and group factor calculation failed. Invalid string provided for HeadedAnchorWeldCase.");
            }

            HeadedAnchor a = new HeadedAnchor();
            R_g = a.GetGroupFactorR_g(deckCondition, studWeld, N_saRib, h_r, w_r);
            R_p = a.GetPlacementFactorR_p(deckCondition, studWeld, e_mid_ht);

            return new Dictionary<string, object>
                {
                    { "R_g", R_g }
                    ,{ "R_p", R_p }
                };
                }