code: public void setTau(double tau)
      {
          if(tau <= 0 || Double.isInfinite(tau) || Double.isNaN(tau))
              throw new IllegalArgumentException("tau must be a positive constant, not " + tau);
          this.tau = tau;
      }
docs: Controls the rate early in time, but has a decreasing impact on the rate
  returned as time goes forward. Larger values of &tau; dampen the initial
  rates returned, while lower values let the initial rates start higher.
  
  @param tau the early rate dampening parameter