<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _throat_c2c(self):
 r""" Calculate the center to center distance from centroid of pore1 to centroid of throat to centroid of pore2. """

        net = self.network
        Nt = net.num_throats()
        p_cen = net['pore.centroid']
        t_cen = net['throat.centroid']
        conns = net['throat.conns']
        p1 = conns[:, 0]
        p2 = conns[:, 1]
        v1 = t_cen-p_cen[p1]
        v2 = t_cen-p_cen[p2]
        check_nan = ~sp.any(sp.isnan(v1 + v2), axis=1)
        value = sp.ones([Nt, 3], dtype=float)*sp.nan
        for i in range(Nt):
            if check_nan[i]:
                value[i, 0] = sp.linalg.norm(v1[i]) - self.network.fiber_rad
                value[i, 1] = self.network.fiber_rad*2
                value[i, 2] = sp.linalg.norm(v2[i]) - self.network.fiber_rad
        return value[net.throats(self.name)]