docs: def tag_ca_geometry(self, force=False, reference_axis=None,
                          reference_axis_name='ref_axis'):
          """Tags each `Residue` with rise_per_residue, radius_of_curvature and residues_per_turn.
  
          Parameters
          ----------
          force : bool, optional
              If `True` the tag will be run even if `Residues` are already
              tagged.
          reference_axis : list(numpy.array or tuple or list), optional
              Coordinates to feed to geometry functions that depend on
              having a reference axis.
          reference_axis_name : str, optional
              Used to name the keys in tags at `Polypeptide` and `Residue` level.
          """
          tagged = ['rise_per_residue' in x.tags.keys() for x in self._monomers]
          if (not all(tagged)) or force:
              # Assign tags None if Polymer is too short to have a primitive.
              if len(self) < 7:
                  rprs = [None] * len(self)
                  rocs = [None] * len(self)
                  rpts = [None] * len(self)
              else:
                  rprs = self.rise_per_residue()
                  rocs = self.radii_of_curvature()
                  rpts = residues_per_turn(self)
              for monomer, rpr, roc, rpt in zip(self._monomers, rprs, rocs, rpts):
                  monomer.tags['rise_per_residue'] = rpr
                  monomer.tags['radius_of_curvature'] = roc
                  monomer.tags['residues_per_turn'] = rpt
          # Functions that require a reference_axis.
          if (reference_axis is not None) and (len(reference_axis) == len(self)):
              # Set up arguments to pass to functions.
              ref_axis_args = dict(p=self,
                                   reference_axis=reference_axis,
                                   tag=True,
                                   reference_axis_name=reference_axis_name)
              # Run the functions.
              polymer_to_reference_axis_distances(**ref_axis_args)
              crick_angles(**ref_axis_args)
              alpha_angles(**ref_axis_args)
          return