code: def get_mean_and_stddevs(self, sites, rup, dists, imt, stddev_types):
          
          # extract dictionaries of coefficients specific to required
          # intensity measure type and for PGA
          C = self.COEFFS[imt]
          C_PGA = self.COEFFS[PGA()]
  
          # compute median pga on rock (vs30=1100), needed for site response
          # term calculation
          pga1100 = np.exp(self._compute_imt1100(PGA(), sites, rup, dists))
  
          mean = (self._compute_base_term(C, rup, dists) +
                  self._compute_faulting_style_term(C, rup) +
                  self._compute_site_response_term(C, imt, sites, pga1100) +
                  self._compute_hanging_wall_term(C, dists, rup) +
                  self._compute_top_of_rupture_depth_term(C, rup) +
                  self._compute_large_distance_term(C, dists, rup) +
                  self._compute_soil_depth_term(C, imt, sites.z1pt0, sites.vs30))
  
          stddevs = self._get_stddevs(C, C_PGA, pga1100, rup, sites,
                                      stddev_types)
  
          return mean, stddevs
docs: See :meth:`superclass method
          <.base.GroundShakingIntensityModel.get_mean_and_stddevs>`
          for spec of input and result values.