How to make Volumetric Scatter fade adjustable
There seems to be an error in my calculations. I think I will manage to review them later.
As Ibalazscs pointed out, you can control volume with the existing math nodes and procedural textures.
I will setup a mathematic procedural torus to use as density. This will not be affected by the geometry, sadly, but will work as a substitute solution.

To control the density of a volume, we can connect a texture or other value node to the density input of the Volume Scatter Node.

Starting with a two dimensional equation, let's control the volume of a cylinder with a colorramp or RGBcurve.

Here is the relatively simple mathematical basis. We need the equation of a circle.
x**2 + y**2 = radius**2
radius = (x**2 + y**2)**0.5


This will result in values from 0 to 1, starting from the center of the XY circle to any point on the circle.
Translated into a node setup, we have to use the Converter&gt;Math nodes.

Connect the last node to a colorramp and we can see the effect on a 3D object in material or rendered mode.

The complete node setup looks like this.

I use a multiply node before the RGB curves to &quot;scale&quot; the circle. The RGB curves modify the density from the center of the circle to the rim. I have set them to the various examples in the beginning. The multiply node after the RGB curves raise the upper density limit. Close to zero (transparent) values will stay relatively unaffected, values close to 1 or higher will become more dense.
The position attribute of the Geometry node holds the XYZ coordinates. The separate RGB node extracts the three channels.
Important: The position attribute is in world coordinates. Use the Object Info &gt; Location attribute if you move your object.
Creating the torus

Add a cube. This will function as the volume domain of the torus.
Use the existing node tree of the circle calculation nodes.
Add a subtract node to the chain. This will shift the value of zero along circles of different size. We will connect the Major Radius of the torus to the subtrahend. The add an absolute node. We want the values around 0 (our major radius) to fade out towards the center and towards infinity.


We want to control the density using values from 0 to 1 ranging from the major radius to the (major + minor) radius.
The value of the major radius in XY is currently 0.


We are going to use the circle node setup again with the existing XY circle output and the Z axis. After the last subtract node, paste the circle nodes (pow2, pow2, add, sqare root) and connect the subtract node to the first pow2. Connect the extracted Z value (B output of the separate RGB node) to the second pow2. The result is a circle with a major radius of 1. The values at the major radius are at 0. Values moving away from the major radius range to infinity, the distance from the major radius. We need it the other way around.
Negate the value (multiply with -1), now we have values from 0 to -infinity. Add a value with an add node. The second input of the add node is the minor radius. Clamp this value. We now have a range of 0 to 1 from the outer rim of the torus to the inner circle.
Connect this to the RGB curves.


Make sure your domain object is large enough.If you want to add a shader to the outer surface, add a torus with correspoing major and minor radius. In my case