<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_fixed(self, path, langs, category=SourceRootCategories.UNKNOWN):
 """Add a fixed source root to the trie."""

    if '*' in path:
      raise self.InvalidPath(path, 'fixed path cannot contain the * character')
    fixed_path = os.path.join('^', path) if path else '^'
    self._do_add_pattern(fixed_path, tuple(langs), category)