# reach

##### Interaction Distance of a Point Process

Computes the interaction distance of a point process.

##### Usage

```
reach(x, ...)
## S3 method for class 'ppm':
reach(x, \dots, epsilon=0)
## S3 method for class 'interact':
reach(x, \dots)
## S3 method for class 'rmhmodel':
reach(x, \dots)
```

##### Arguments

- x
- Either a fitted point process model (object of class
`"ppm"`

), an interpoint interaction (object of class`"interact"`

) or a point process model for simulation (object of class`"rmhmodel"`

). - epsilon
- Numerical threshold below which interaction is treated as zero. See details.
- ...
- Other arguments are ignored.

##### Details

The `interaction distance' or `interaction range' of a point process model is the smallest distance $D$ such that any two points in the process which are separated by a distance greater than $D$ do not interact with each other.

For example, the interaction range of a Strauss process
(see `Strauss`

)
with parameters $\beta,\gamma,r$ is equal to
$r$, unless $\gamma=1$ in which case the model is
Poisson and the interaction
range is $0$.
The interaction range of a Poisson process is zero.
The interaction range of the Ord threshold process
(see `OrdThresh`

) is infinite, since two points *may*
interact at any distance apart.

The function `reach(x)`

is generic, with methods
for the case where `x`

is

- a fitted point process model
(object of class
`"ppm"`

, usually obtained from the model-fitting function`ppm`

); - an interpoint interaction structure (object of class
`"interact"`

), created by one of the functions`Poisson`

,`Strauss`

,`StraussHard`

,`MultiStrauss`

,`MultiStraussHard`

,`Softcore`

,`DiggleGratton`

,`Pairwise`

,`PairPiece`

,`Geyer`

,`LennardJones`

,`Saturated`

,`OrdThresh`

or`Ord`

; - a point process model for simulation (object of class
`"rmhmodel"`

), usually obtained from`rmhmodel`

.

`x`

is an `"interact"`

object,
`reach(x)`

returns the maximum possible interaction range
for any point process model with interaction structure given by `x`

.
For example, `reach(Strauss(0.2))`

returns `0.2`

.
When `x`

is a `"ppm"`

object,
`reach(x)`

returns the interaction range
for the point process model represented by `x`

.
For example, a fitted Strauss process model
with parameters `beta,gamma,r`

will return
either `0`

or `r`

, depending on whether the fitted
interaction parameter `gamma`

is equal or not equal to 1. For some point process models, such as the soft core process
(see `Softcore`

), the interaction distance is
infinite, because the interaction terms are positive for all
pairs of points. A practical solution is to compute
the distance at which the interaction contribution
from a pair of points falls below a threshold `epsilon`

,
on the scale of the log conditional intensity. This is done
by setting the argument `epsilon`

to a positive value.

##### Value

- The interaction distance, or
`NA`

if this cannot be computed from the information given.

##### See Also

`ppm`

,
`Poisson`

,
`Strauss`

,
`StraussHard`

,
`MultiStrauss`

,
`MultiStraussHard`

,
`Softcore`

,
`DiggleGratton`

,
`Pairwise`

,
`PairPiece`

,
`Geyer`

,
`LennardJones`

,
`Saturated`

,
`OrdThresh`

,
`Ord`

,
`rmhmodel`

##### Examples

```
reach(Poisson())
# returns 0
reach(Strauss(r=7))
# returns 7
data(swedishpines)
fit <- ppm(swedishpines, ~1, Strauss(r=7))
reach(fit)
# returns 7
reach(OrdThresh(42))
# returns Inf
reach(MultiStrauss(1:2, matrix(c(1,3,3,1),2,2)))
# returns 3
```

*Documentation reproduced from package spatstat, version 1.19-2, License: GPL (>= 2)*