def _get_site_type_dummy_variables(self, sites):
        """
        Get site type dummy variables, five different EC8 site classes
        he recording sites are classified into 5 classes,
        based on the shear wave velocity intervals in the uppermost 30 m, Vs30,
        according to the EC8 (CEN 2003):
        class A: Vs30 > 800 m/s
        class B: Vs30 = 360 − 800 m/s
        class C: Vs30 = 180 - 360 m/s
        class D: Vs30 < 180 m/s
        class E: 5 to 20 m of C- or D-type alluvium underlain by
        stiffer material with Vs30 > 800 m/s.
        """
        ssa = np.zeros(len(sites.vs30))
        ssb = np.zeros(len(sites.vs30))
        ssc = np.zeros(len(sites.vs30))
        ssd = np.zeros(len(sites.vs30))
        sse = np.zeros(len(sites.vs30))

        # Class E Vs30 = 0 m/s. We fixed this value to define class E
        idx = (np.fabs(sites.vs30) < 1E-10)
        sse[idx] = 1.0
        # Class D;  Vs30 < 180 m/s.
        idx = (sites.vs30 >= 1E-10) & (sites.vs30 < 180.0)
        ssd[idx] = 1.0
        # SClass C; 180 m/s <= Vs30 <= 360 m/s.
        idx = (sites.vs30 >= 180.0) & (sites.vs30 < 360.0)
        ssc[idx] = 1.0
        # Class B; 360 m/s <= Vs30 <= 800 m/s.
        idx = (sites.vs30 >= 360.0) & (sites.vs30 < 800)
        ssb[idx] = 1.0
        # Class A; Vs30 > 800 m/s.
        idx = (sites.vs30 >= 800.0)
        ssa[idx] = 1.0
        return ssa, ssb, ssc, ssd, sse
Get site type dummy variables, five different EC8 site classes
        he recording sites are classified into 5 classes,
        based on the shear wave velocity intervals in the uppermost 30 m, Vs30,
        according to the EC8 (CEN 2003):
        class A: Vs30 > 800 m/s
        class B: Vs30 = 360 − 800 m/s
        class C: Vs30 = 180 - 360 m/s
        class D: Vs30 < 180 m/s
        class E: 5 to 20 m of C- or D-type alluvium underlain by
        stiffer material with Vs30 > 800 m/s.