code: def toPlanarPotential(Pot):
      
      Pot= flatten(Pot)
      if isinstance(Pot,list):
          out= []
          for pot in Pot:
              if isinstance(pot,planarPotential):
                  out.append(pot)
              elif isinstance(pot,Potential) and pot.isNonAxi:
                  out.append(planarPotentialFromFullPotential(pot))
              elif isinstance(pot,Potential):
                  out.append(planarPotentialFromRZPotential(pot))
              else:
                  raise PotentialError("Input to 'toPlanarPotential' is neither an Potential-instance or a list of such instances")
          return out
      elif isinstance(Pot,Potential) and Pot.isNonAxi:
          return planarPotentialFromFullPotential(Pot)
      elif isinstance(Pot,Potential):
          return planarPotentialFromRZPotential(Pot)
      elif isinstance(Pot,planarPotential):
          return Pot
      else:
          raise PotentialError("Input to 'toPlanarPotential' is neither an Potential-instance or a list of such instances")
docs: NAME:
  
         toPlanarPotential
  
      PURPOSE:
  
         convert an Potential to a planarPotential in the mid-plane (z=0)
  
      INPUT:
  
         Pot - Potential instance or list of such instances (existing planarPotential instances are just copied to the output)
  
      OUTPUT:
  
         planarPotential instance(s)
  
      HISTORY:
  
         2016-06-11 - Written - Bovy (UofT)