(** Set of Gaussians with a given {!AngularMomentum.t} {% \\[ g(r) = (x-X_A)^{n_x} (y-Y_A)^{n_y} (z-Z_A)^{n_z} \exp \left( -\alpha |r-R_A|^2 \right) \\] %} where: - {% $n_x + n_y + n_z = l$ %}, the total angular momentum - {% $\alpha$ %} is the exponent *) type t val to_string : t -> string (** Pretty-printing of the primitive shell in a string. *) val make : AngularMomentum.t -> Coordinate.t -> float -> t (** Creates a primitive shell from the total angular momentum, the coordinates of the center and the exponent. *) val expo : t -> float (** Returns the exponent {% $\alpha$ %}. *) val center : t -> Coordinate.t (** Coordinate of the center {% $\mathbf{A} = (X_A,Y_A,Z_A)$ %}. *) val totAngMom : t -> AngularMomentum.t (** Total angular momentum : {% $l = n_x + n_y + n_z$ %}. *) val norm_coef : t -> float (** Normalization coefficient of the shell: {% \\[ \mathcal{N} = \sqrt{\iiint \left[ (x-X_A)^{l} \exp (-\alpha |r-R_A|^2) \right]^2 \, dx\, dy\, dz} \\] %} *) val norm_coef_scale : t -> float array (** Scaling factors adjusting the normalization coefficient for the. particular powers of {% $x,y,z$ %}. They are given in the same order as [AngularMomentum.zkey_array totAngMom]: {% \\[ f = \frac{1}{\mathcal{N}} \sqrt{\iiint [g(r)]^2 \, d^3r} \\] %} *) val size_of_shell : t -> int (** Number of functions in the shell. *)