What is the function of rTotal variable?

In many contracts we find two totals. What is your reason for being?

  uint256 private constant MAX = ~uint256(0);
  uint256 private _tTotal = 1000000000 * 10**18;
  uint256 private _rTotal = (MAX - (MAX % _tTotal));

maybe because safemoon is reflection token.

I do not understand its usefulness to be distribute a reflection fee in all accounts.

What does this intend?
uint256 private _rTotal = (MAX - (MAX % _tTotal));