code: def _gen_param_header(name, doc, defaultValueStr, typeConverter):
      
      template = '''class Has$Name(Params):
      """
      Mixin for param $name: $doc
      """
  
      $name = Param(Params._dummy(), "$name", "$doc", typeConverter=$typeConverter)
  
      def __init__(self):
          super(Has$Name, self).__init__()'''
  
      if defaultValueStr is not None:
          template += '''
          self._setDefault($name=$defaultValueStr)'''
  
      Name = name[0].upper() + name[1:]
      if typeConverter is None:
          typeConverter = str(None)
      return template \
          .replace("$name", name) \
          .replace("$Name", Name) \
          .replace("$doc", doc) \
          .replace("$defaultValueStr", str(defaultValueStr)) \
          .replace("$typeConverter", typeConverter)
docs: Generates the header part for shared variables
  
      :param name: param name
      :param doc: param doc