parameters: (self, si, center=None)
return_statement: return self.shells[si]
docstring: Return the si'th Gaussian shell on center
          *  @param i Shell number
          *  @return A shared pointer to the ShellInfo object for the i'th shell.
docstring_summary: Return the si'th Gaussian shell on center
          *  @param i Shell number
          *  @return A shared pointer to the ShellInfo object for the i'th shell.
docstring_tokens: Return the si th Gaussian shell on center * @param i Shell number * @return A shared pointer to the ShellInfo object for the i th shell .
function: def shell(self, si, center=None):
          """Return the si'th Gaussian shell on center
          *  @param i Shell number
          *  @return A shared pointer to the ShellInfo object for the i'th shell.
  
          """
          if center is not None:
              si += self.center_to_shell[center]
          if si < 0 or si > self.nshell():
              text = """BasisSet::shell(si = %d), requested a shell out-of-bound.\n   Max shell size: %d\n   Name: %s\n""" % \
                  (si, self.nshell(), self.name)
              raise ValidationError("BasisSet::shell: requested shell is out-of-bounds:\n%s" % (text))
          return self.shells[si]
function_tokens: def shell ( self , si , center = None ) : if center is not None : si += self . center_to_shell [ center ] if si < 0 or si > self . nshell ( ) : text = """BasisSet::shell(si = %d), requested a shell out-of-bound.\n   Max shell size: %d\n   Name: %s\n""" % ( si , self . nshell ( ) , self . name ) raise ValidationError ( "BasisSet::shell: requested shell is out-of-bounds:\n%s" % ( text ) ) return self . shells [ si ]