Computes the interaction distance of a point process.

`reach(x, …)` # S3 method for ppm
reach(x, …, epsilon=0)

# S3 method for interact
reach(x, …)

# S3 method for rmhmodel
reach(x, …)

# S3 method for fii
reach(x, …, epsilon)

x

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

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

), a fitted interpoint interaction (object of
class `"fii"`

) 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.

The interaction distance, or `NA`

if this cannot be
computed from the information given.

Methods for `reach`

are also defined for
point process models of class `"kppm"`

and `"dppm"`

.
Their technical definition is different from this one.
See `reach.kppm`

and `reach.dppm`

.

The `interaction distance' or `interaction range' of a point process
model of class `"ppm"`

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 fitted interpoint interaction (object of class

`"fii"`

) extracted from a fitted point process model by the command`fitin`

;a point process model for simulation (object of class

`"rmhmodel"`

), usually obtained from`rmhmodel`

.

When `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.

`ppm`

,
`Poisson`

,
`Strauss`

,
`StraussHard`

,
`MultiStrauss`

,
`MultiStraussHard`

,
`Softcore`

,
`DiggleGratton`

,
`Pairwise`

,
`PairPiece`

,
`Geyer`

,
`LennardJones`

,
`Saturated`

,
`OrdThresh`

,
`Ord`

,
`rmhmodel`

See `reach.kppm`

and `reach.dppm`

for other types of point process models.

# NOT RUN { reach(Poisson()) # returns 0 reach(Strauss(r=7)) # returns 7 fit <- ppm(swedishpines ~ 1, Strauss(r=7)) reach(fit) # returns 7 reach(OrdThresh(42)) # returns Inf reach(MultiStrauss(matrix(c(1,3,3,1),2,2))) # returns 3 # }