def _gen_param_header(name, doc, defaultValueStr, typeConverter):
    """
    Generates the header part for shared variables

    :param name: param name
    :param doc: param doc
    """
    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)
